280 likes | 293 Vues
Agile or Waterfall, How to Choose?. Agile or Waterfall, How to Choose?. Agenda How many Software Development PMs vs. Other PMs? What is Waterfall? What is Agile? Waterfall & Agile Differences Project Planning Estimating Decision Making Communication Tracking & Control Synopsis
E N D
Agile or Waterfall, How to Choose? Version 1.0 NEOPMI Presentation
Agile or Waterfall, How to Choose? Agenda • How many Software Development PMs vs. Other PMs? • What is Waterfall? • What is Agile? • Waterfall & Agile • Differences • Project Planning • Estimating • Decision Making • Communication • Tracking & Control • Synopsis • What they say about each other • What’s in it for Me? • What’s Wrong with Projects? • Where Does your Project Fall? • Conclusions – How to Choose? • Q & A Version 1.0 NEOPMI Presentation
What is Waterfall? • Sequential development model seen as steadily flowing downwards through the phases: RequirementsDesignImplementationTestingMaintenance • 1970 Winston Royce coins the phrase • Ironic- article criticized Waterfall and opted for “spiral” Agile PROS: • Fully documented / Fully defined requirements up front • Highly Documented • Fullydocumented designs • More regimented approach CONS: • “Impossible” to have non-changing requirements • Very specific skills for each phase • Critical path dependencies • Product is at end of project = Costly changes • Primary communication method is through written documentation • Does Business Case still hold? Version 1.0 NEOPMI Presentation
What is Agile? • Early and continuous delivery of business value • Regular delivery of production quality functionality • Close involvement & frequent communication between the project team and business experts • Fluid, flexible approach • Business requirements WILL change over the course of the project • Customer MUST be involved along the entire process • Does not require EVERY requirement be written in stone before starting • Breaks project down into small “iterations” – each is worked on as a separate entity • Agile methods: Scrum, RUP, Extreme Programming, and Feature Driven Development Version 1.0 NEOPMI Presentation
Agile has Lean Principles • Reduces Waste • Spends time only on what adds real customer value • Amplified Learning • Increased feedback and collaboration • Leave Options Open as Long as Possible • Maintains multiple options and decide on options as priorities • Deliver as Fast as Possible • Deliver business value early and often • Empower the Team • Let the people who add value use their full potential Version 1.0 NEOPMI Presentation
Reducing Waste - Functional Requirements Standish Group Study Reported at XP2002 by Jim Johnson, Chairman Features and Functions used in a typical system Rarely Sometimes Often Always Never Often or Always Used: 20% Rarely or Never Used: 64% Version 1.0 NEOPMI Presentation
Agile Methods Version 1.0 NEOPMI Presentation
Waterfall & Agile – Differences Agile • Requirements • Not complete • Iterative • Not Gantt • Relies on Release plan • Prioritized elements • 10 20 what happened? • High Client Involvement • Do they have the time? • Easy to change with each Sprint Waterfall • Requirements • Detailed, signed off on • Change process • Dependencies • Schedule ahead • Lower Client Involvement • Up front and at end • Difficult to make changes to Product Version 1.0 NEOPMI Presentation
Waterfall & Agile – Differences (software) Version 1.0 NEOPMI Presentation
Waterfall & Agile - Project Planning Version 1.0 NEOPMI Presentation
Waterfall & Agile – Estimating Agile • Plan must be flexible • End Date precision is gained over time • Done March/April • Done in April • Done April 24 • How precise does cost have to be? • Changing requirements = • Evolve with Sprints • Impacts Schedule • Estimates are based on relative size to one another • Estimates done by Team • Estimates lead to Prioritization Waterfall • Plans must be accurate • End Date precision at the start Ex - Summer Games in Bejing by 8/8/08 • End Date Cost Precision at the start • Typically fixed budget due to fixed timeline • Detailed Requirements = • Less changes (you hope) • Schedule easier to predict • Deliverables easier to list • Estimates done by PM and Senior Lead and Business Executive • Estimates often become Commitments Version 1.0 NEOPMI Presentation
Waterfall & Agile – Decision Making Agile • Make decisions often based on what we know at that time • Flexible process enables changes in decisions • Spread decision-making across the entire project • Success is very reliant on frequent communication • More reliant on others to make timely decisions and not delay the Sprint Waterfall • Make decisions based on information we are given at the start • Rigid process does not embrace changes well • Decisions are structured based on the WBS • Success is reliant on knowing a lot up front to make encompassing decisions • Less reliant on others to make decisions in a timely manner less roadblocks Version 1.0 NEOPMI Presentation
Waterfall & Agile – Communication Balance • If either side dominates, the business loses • If the business side dominates… • …functionality and dates are mandated with little regard for reality or whether the developers understand the requirements • If the developers dominate… • …technical jargon replaces the language of the business • …developers lose the opportunity to learn from listening • …the project becomes a technical project rather than a business project with technical components Version 1.0 NEOPMI Presentation
Waterfall & Agile – Tracking & Control Agile • Product Backlog Sprint • Simple 30-day objectives • Testing & Fixing Errors? • Final product evolves • How long until you finish? • How many sprints will you need? • Cost Estimates • High-Level on Product Backlog • # sprints = $$ • Reports • Progress towards meeting sprint goal • Escalation • PM and Prod Owner Waterfall • WBS structure • % completes • Dependencies • Grouped by Deliverable • Hours estimations • Cost Estimates • Often fixed • Calculated from project plan • Estimated for entire project • Reports • % completion of each element • Labor costs • Estimates to Complete • Escalation • Easy based on reports based on % completion Version 1.0 NEOPMI Presentation
Waterfall & Agile – Synopsis Agile • Requirements detailed as project progresses • Iterative • 30-day Sprints • Prioritized elements • High Client Involvement • Product at end of each Sprint Waterfall • Requirements intensive • Stepwise • Regimented • Dependencies • Lower Client Involvement • Product at end of project Version 1.0 NEOPMI Presentation
What Waterfall and Agile Say About Each Other • Agile says Waterfall fails to address reality of requirements: • Waterfall presumes ability to fully define system when least information is known • Waterfall assumes requirements won’t change as project proceeds • Waterfall ignores the existence of Emergent Requirements • Waterfall says Agile doesn’t allocate time for learning opportunities: • Agile - substantial reduction in learning opportunities because of backlog production & timeline pressure • Agile - learning occurs sporadically in the process so it can only influence the next sprint • Agile says Waterfall costs-to-make-change later in the process can be orders of magnitude greater than earlier • (reply = Agile changes have downstream impact on backlog prioritizations and timelines) Version 1.0 NEOPMI Presentation
What’s In It For Me? • Top Three Reasons for Project Failure: • Lack of user (sponsor) involvement • No executive management support • Unclear, incomplete, & changing requirements • Are we referring to Waterfall or Agile? • Many projects experiences 25% change in requirements • If we understand some reasons for failure, it will help us understand which methodology to choose. Version 1.0 NEOPMI Presentation
What’s Wrong with Projects? • Most Executives today are unhappy • Though not able to pinpoint the cause • Missed deadlines / budget overruns / failed projects • Low confidence in estimates • Frustrated at their dependence on a dept outside their control • How to get appropriate attention to their priorities • Why does everything seem so hard?! • It must be “poor project management” • Or is it because we apply management processes used elsewhere in business to the Project arena? Version 1.0 NEOPMI Presentation
What’s Wrong with Projects? • If the project is “development” (software, R&D), then applying those management practices may cause one or more fatal errors: • Are we ignoring the fundamental equations of development? • Are we creating organizational impediments to success? • Are we managing projects improperly? • not the PMs but the way in which we approach development projects • Are we purchasing inappropriate packages (software, equipment) Version 1.0 NEOPMI Presentation
Fundamental Equations of Development? • As complexity increases, required effort increases geometrically • Each element added increases number of interactions needed • And that element will interact with other elements too • As number of people on the team increases, the required effort increases geometrically • The more the people, the harder to keep them coordinated • Productivity of the most talented S/W developers is 5-40X that of the average • I’d rather have 6 Superstars than 120 average developers Version 1.0 NEOPMI Presentation
Organizational Impediments to Success • “Tools & Techniques” employed by organizations to “improve” their ability to build systems • A Systems Request Form • Can cause a formal relationship instead of mutual commitment • Systems Liaison or Systems Interface Groups • Why do you need someone to communicate for others? • Dramatically decreases the quality of communications • DetailedRequirements Process • Can you really do this? Maybe… • Developing a system is a learning process for all involved • Business learns about Development / Development learns the Business • Requirements are GOOD! • But don’t set expectations that they’re all completed and never changing • User Acceptance Testing • Who’s doing it? Is it really the user / client / sponsor? • Does Development just “throw it over the wall” or are they actively engaged and accountable Version 1.0 NEOPMI Presentation
So what about the Project Managers? • The Executives say it’s “poor project management” • What are their expectations of us? • Good estimating – defined as planning • Monitoring the progress of tasks in the plan • Managing risk to the project and business • Taking management action in case of any significant variances • Managing internal and external elements • Building appropriate quality control • Do these skills change whether using Waterfall or Agile? • But we know that our biggest skill set involves: • Leading developers effectively • Communication skills • Team Building • Problem solving • Do these skills change whether using Waterfall or Agile? Version 1.0 NEOPMI Presentation
Purchase Inappropriate Packages – COTS Software Commercial Off-The-Shelf • We’re told it makes sense to buy this way • Proven application • Elimination of risks of late delivery • Elimination of risks of exceeding budget • PM responsibility is reduced to: • Implementation and Rollout • Why all the troubles then? • Flawed selection process • “Best Package” does not infer that Requirements-to-Capability gaps will be low or easy • Waterfall – if gap = interfaces and reporting • Agile – if gap = data mapping, design, and development work • Does the architecture and design fit existing way of doing biz? Version 1.0 NEOPMI Presentation
Purchase Inappropriate Packages – Internal Develop • Break both the work and teams into small parts with concrete deliverables • remember Fundamental Equations of Software Development • Ensure involvement and accountability by both developers and users • Keep timeframes short so there is no room for stepping back • Set expectations that can be met • Well-stated approach to problem and concrete architecture required up front So why is this so hard to implement? • How much do you know about what you know? • How much Executive project control? • Do the Users think they can just tell the Developers what they want and sit back and wait for delivery? • Does your organization stringently require signed-off specifications? Agile or Waterfall? Version 1.0 NEOPMI Presentation
Where Does Your Project Fall? Agile New S/W Development New Facility in a New Location R&D Project International Project Iterative / Incremental Progress (Apollo) Waterfall Home Construction Car Manufacturing Building a new Starbucks Wastewater Plant Vendor Software Install Space Station Public Works Utilities System Enhancements RFP Process Planning a Vacation Version 1.0 NEOPMI Presentation
Conclusions • What does your client know about what they want? - highly detailed like building a house = favors Waterfall - low to moderate like developing a new software application = favors Agile • How involved can your client be? and How flexible is your client? - high to moderate = favors Agile - low to moderate = favors Waterfall • How much documentation detail is required? - high (regulatory, legal, operational critical) = favors Waterfall - low (system enhancements, bldg another franchise) = favors Agile • How much power do you have to make decisions for the project? - low (subcommittees, steering committees, micromanaging executives) = favors Waterfall - high (rapid development, repetitive, trusted) = favors Agile • How much Tracking, Control, Reporting is required? - low (complexity is low, probability of variances is low) = favors Agile - high (large budget or timeline constraint, finite resource timing, legal) = favors Waterfall • Will you be able to change or modify the end product? - unlikely = favors Waterfall (very costly) - likely = favors Agile (relatively low in cost) Version 1.0 NEOPMI Presentation
How to Decide? In the end…… Which methodology will bring YOU the highest probability of success for YOUR organization. Depends on how your organizational culture and how they defines success You’re the Project Manager! Remember who gets Fired! Version 1.0 NEOPMI Presentation
Questions (no guarantee of an answer!) Version 1.0 NEOPMI Presentation