Slide 1: Memi Beltrame
Scope & co.
Management of medium and large size projects
phpday, may 15th 2010 Corropoli
Memi Beltrame: Scope & co
Slide 2: Who am I? PM / Interaction designer at Liip in Zurich ● Working on the web since 1997 ● 10 years of php ● Degree in cinematography ● Film & foto enthusiast ● Pet project: artypedia.org ● Twitter: bratwurstkomet
● Memi Beltrame: Scope & co
Slide 3: What is a large project
Memi Beltrame: Scope & co
?
Slide 4: Typical indicators
Trivial
Non-trivial
Memi Beltrame: Scope & co
Slide 5: Typical indicators
Trivial
Non-trivial
Size
Complexity
Memi Beltrame: Scope & co
Slide 6: Typical indicators
Trivial
Non-trivial
Size
● ● ●
Complexity
Easy to measure Obviuous Impressive!
Memi Beltrame: Scope & co
Slide 7: Typical indicators
Trivial
Non-trivial
Size
● ● ●
Complexity
● ● ●
Easy to measure Obviuous Impressive!
Memi Beltrame: Scope & co
Hard to evaluate Vague, hidden Interesting...
Slide 8: Typical indicators
Size
● ● ● ● ●
Money involved Size of team needed Duration of project and development Size of customer's company Amount of Data used for the project
Memi Beltrame: Scope & co
Slide 9: Typical indicators
Complexity
● ● ● ● ●
Types of systems involved The customer's organizational structure Workfows Data structure & quality Legacy
Memi Beltrame: Scope & co
Slide 10: Complexity is underrated.
Memi Beltrame: Scope & co
Slide 11: A too familiar scenario
Memi Beltrame: Scope & co
Slide 12: A too familiar scenario
Credit: www.projectcartoon.com http://bes.tw/zaq
Memi Beltrame: Scope & co
Slide 13: Now that you have
mvc framework Agile methods Unit & functional tests Contineous integration Code reviews Coding standards Valid markup ...
Memi Beltrame: Scope & co
Slide 14: Now that you have
mvc framework XYZ Agile methods Unit & Functional Tests Contineous Integration Code reviews Coding standards Valid markup
Why do projects still fail?
Memi Beltrame: Scope & co
Slide 15: Why projects fail:
Running out of time Use shortcuts & hacks Negligence on both sides You work more than planned You lose money.
Memi Beltrame: Scope & co
Slide 16: How Why projects fail:
Running out of time Use shortcuts & hacks Negligence on both sides You work more than planned You lose money.
Memi Beltrame: Scope & co
Slide 17: What can you do to keep software projects from failing?
Memi Beltrame: Scope & co
Slide 18: The standard Project Structure
Offer Evaluate Develop Deploy
Memi Beltrame: Scope & co
Slide 19: The standard Project Structure SUCKS
Offer Evaluate Develop Deploy
Memi Beltrame: Scope & co
Slide 20: The standard Project Structure SUCKS
Not ready
Offer Evaluate Develop Deploy
Delay because important infos are missing
Memi Beltrame: Scope & co
Slide 21: The standard Project Structure SUCKS
Not ready „ready“
Offer Evaluate Evaluate scope Develop Deploy
Important dev-time is already consumed
Memi Beltrame: Scope & co
Slide 22: The standard Project Structure SUCKS
Not ready „ready“
☹
dev
Offer Evaluate Evaluate scope Develop Develop Deploy
Unrealistic expectations: Developers motivation drops.
Memi Beltrame: Scope & co
Slide 23: The standard Project Structure SUCKS
Not ready „ready“
☹
dev ++dev
Offer Evaluate Evaluate scope Develop Develop Deploy
Putting more devs on a late project
Memi Beltrame: Scope & co
Slide 24: The standard Project Structure SUCKS
Not ready „ready“
☹
dev ++dev
--$
Deploy
Offer Evaluate Evaluate scope Develop Develop
This is the day you run out of budget
Memi Beltrame: Scope & co
Slide 25: The standard Project Structure SUCKS
Not ready „ready“
☹
dev ++dev
--$
Deploy
Offer Evaluate Evaluate scope Develop Develop
On delivery you go and ask for more time
Memi Beltrame: Scope & co
Slide 26: The standard Project Structure SUCKS
Not ready „ready“
☹
dev ++dev
--$
cust
☹
Offer Evaluate Evaluate scope Develop Develop Deploy Deploy
Now the customer is worried & frustrated
Memi Beltrame: Scope & co
Slide 27: The standard Project Structure SUCKS
Not ready „ready“
☹
dev ++dev
--$
cust
☹ !☹!
cust
Offer Evaluate Evaluate scope Develop Develop Deploy Deploy
Deadline missed, customer pissed.
Memi Beltrame: Scope & co
Slide 28: The standard Project Structure SUCKS
Not ready „ready“
☹
dev ++dev
--$
cust
☹ !☹! X
cust
--cust
Offer Evaluate Evaluate scope Develop Develop Deploy Deploy Debug
Low quality on a late project. Wave goodbye.
Memi Beltrame: Scope & co
Slide 29: The standard Project Structure Problem #1 It doesn't scale
Memi Beltrame: Scope & co
Slide 30: The standard Project Structure Problem #2 It isn't agile
Memi Beltrame: Scope & co
Slide 31: The standard Project Structure Problem #1 It doesn't scale
Evaluate Develop
--$
Deploy
If this happens in a small project you might get away with it. On a large project it might put your company at risk.
Memi Beltrame: Scope & co
Slide 32: The standard Project Structure Problem #2 It isn't agile. Customers need a defned project they can sell internally to a superior instance
Memi Beltrame: Scope & co
Slide 33: An Alternative Project Structure
Offer scope eval
Phase 1 Pre-project
Offer
First contact
Evaluate Scope & prepare offer
Phase 2 Project
Development iterations Debriefng
Phase 3 Roll out
Deployment iterations
Warranty
Post warranty End of warranty
Memi Beltrame: Scope & co
Slide 34: An Alternative Project Structure
Phase 1 Pre-project
Initiate First contact Plan Evaluate Scope Execute & Control Develop Close
Deployment Debriefng Warranty Post warranty
Phase 2 Project
Phase 3 Roll out
Memi Beltrame: Scope & co
Slide 35: 2 Key Processes:
Evaluating Scope Controlling
Memi Beltrame: Scope & co
Slide 36: Scope
Memi Beltrame: Scope & co
Slide 37: The project management triangle Scope
Efficiency
Time
Memi Beltrame: Scope & co
Cost
Slide 38: Common Defniton of Scope:
Scope
Efficiency
Requirements specifed to achieve the end result.
Time
Cost
Memi Beltrame: Scope & co
Slide 39: Scope
is treated as equivalent to
Specifcations
Memi Beltrame: Scope & co
Slide 40: Scope
is treated as equivalent to
Specifcations On Time, On Budget, On Specs
Memi Beltrame: Scope & co
Slide 41: Scope ≠ Specs
Memi Beltrame: Scope & co
Slide 42: Scope ≠ Specs
Scope On Time, On Budget, On Specs
Memi Beltrame: Scope & co
Slide 43: A project plan based on the customer's specifcations will fail.
Memi Beltrame: Scope & co
Slide 44: Why?
Memi Beltrame: Scope & co
Slide 45: Specifcations refect a feature-list
Memi Beltrame: Scope & co
Slide 46: Specifcations refect a feature-list Scope refects the production process
Memi Beltrame: Scope & co
Slide 47: The Scope of a project covers every Feature ● System ● API ● Department ● Third Party
●
Process ● Investigation ● Administration ● Negotiation
●
Memi Beltrame: Scope & co
Slide 48: Anticipate Scope
Memi Beltrame: Scope & co
Slide 49: De Facto Scope
Anticipated Scope
Memi Beltrame: Scope & co
Slide 50: De Facto Scope Anticipated Scope ≈ Probability of Failure
Memi Beltrame: Scope & co
Slide 51: The probability of a project's failure increses the more the anticipated scope fails to match the de facto scope.
Memi Beltrame: Scope & co
Slide 52: The long list of underestimated & neglected items
Memi Beltrame: Scope & co
Slide 53: Offering
● ●
Don't offer to ft a budget Don't offer to ft a time frame But most important:
Memi Beltrame: Scope & co
Slide 54: Offering
● ●
Don't offer to ft a budget Don't offer to ft a time frame But most important:
Don't lower your offer just to beat the competition
Memi Beltrame: Scope & co
Slide 55: People
● ●
Find out who is in charge. The board? Your contact? Know the project's priority for your customer and all involved entities? Brief 3 parties.
rd
How ft are the other companies involved?
●
● ● ●
Be aware of your resources. Take into account existing projects. Know your escalation paths.
Memi Beltrame: Scope & co
Slide 56: Process
● ● ●
Know your customer's processes Think through dependencies What elements are critical? Plan time for UX/Prototyping/Design
Technical reviews, handovers
● ● ●
Plan enough time for quality assessment PM: In a large project it is a full time job Plan enough time for roll-out & closing
Memi Beltrame: Scope & co
Slide 57: Technology
● ●
Plan enough time for API negotiaton Find out about Environment.
Load Balancing, Master/Slave model
●
Plan time for data modelling
●
Make a data audit
Memi Beltrame: Scope & co
Slide 58: Data audit
● ● ● ● ● ● ● ● ●
Does the data exist? What is the form of the data? DB, XML, Excel... In what state is the data? Normalized? A mess? How much do you have to build from scratch? How much to refactor? How good is the data quality? What data-synchronisation processes are there? What is the amount of data in GigaBytes? Does the planned application cannibalize another?
Memi Beltrame: Scope & co
Slide 59: In my experience
most project disasters are data related
Memi Beltrame: Scope & co
Slide 60: Knowing the scope of a project lets you: make projections ● identify risks ● make realistic budget ● make customers realize - What they need vs. what they want - What they can pay for
● Memi Beltrame: Scope & co
Slide 61: Controlling
Memi Beltrame: Scope & co
Slide 62: Controlling
Ensuring project objectives are met. Monitoring, correcting and measuring progress.
Memi Beltrame: Scope & co
Slide 63: Essesntial Tasks #1 Know your numbers #2 Keep scope #3 Enforce deadlines
Memi Beltrame: Scope & co
Slide 64: Know your numbers
Memi Beltrame: Scope & co
Slide 65: At any time you must know: Your budget ● % of budget used ● % of work done ● When will you run out out of budget?
●
Memi Beltrame: Scope & co
Slide 66: What does one hour of develper cost your company? Basic costs like ● Wages ● Insurance ● Infrastructure
Memi Beltrame: Scope & co
Slide 67: What does one hour of develper cost your company? Basic costs like ● Wages basic costs = loss limit ● Insurance ● Infrastructure
Memi Beltrame: Scope & co
Slide 68: What is the post calculation rate?
Post calculation rate =
Budget Hours spent
Memi Beltrame: Scope & co
Slide 69: Example 1: Your basic cost: Post calculation rate: Proft per hour: 100 € 145 € 45 €
Memi Beltrame: Scope & co
Slide 70: Example 2: Your basic cost: Post calculation rate: loss per hour: 100 € 90 € -10 €
Memi Beltrame: Scope & co
Slide 71: Keep scope
Stop and prevent feature creep ● Manage customer expectations ● Channel change requests
●
Memi Beltrame: Scope & co
Slide 72: Enforce Deadlines
Make the customer deliver! ● Sprint planning & reviews ● Insist on warranty period
●
Memi Beltrame: Scope & co
Slide 73: Thank you!
Memi Beltrame: Scope & co