1 / 13

Planning Iterative Software Development Projects

Planning Iterative Software Development Projects. Raj Agrawal, PMP Unisys. Synopsis.

kasie
Download Presentation

Planning Iterative Software Development Projects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planning Iterative Software Development Projects Raj Agrawal, PMP Unisys

  2. Synopsis • Iterative software development projects require a different approach to project planning as compared to traditional waterfall projects. This is especially true in areas such as estimation of effort, technical risk mitigation, schedule development, resource planning & scope management. Experiences, lessons learned and best practices derived in parametric estimation, iterative development of schedules, requirements development & analysis will be discussed.

  3. Overview • Introduction • What is iterative development? • Reality – Requirements Change! • Why iterative development? • Challenges of iterative development • Estimation • Estimation techniques • Top down or bottom-up estimation? • Planning • Project Plan development • Resource Plan development • Scope management – iteration by iteration • Conclusion

  4. What is Iterative Development? • Development methodology to improve software project delivery • Divides project into “mini waterfall projects” called iterations • Requirements per iteration are based on technical risk mitigation and business value • Iteration duration is typically 4-12 weeks • Iterations are timeboxed – fix end date and remove requirements if slippage • Each iteration delivers a partial working system • Requires continuous negotiation between scope, solution & project plan

  5. Reality – Requirements Change! Source: “How to Fail with the Rational Unified Process: Seven Steps to Pain and Suffering”, Craig Larman, Philippe Kruchten, Kurt Bittner

  6. Why Iterative Development? • Mitigates risk • Assumes requirements will change over project life • A tested partial solution enables feedback to align requirements and design • Provides early indication of project progress • Provides basis for early scope negotiations & management • Reduces Gold-plating & Requirements Creep

  7. Challenges of Iterative Development • Cost estimation without a detailed WBS • Rolling Window Planning - Project Plan only detailed to next iteration • Requirements analysis during each iteration may lead to changes to baseline • Clients need to prioritize requirements • Architects need to identify and prioritize technical risks • Waterfall milestones such as SDR, PDR, CDR need to be mapped

  8. Estimation Techniques • Top down estimation requires • A cost estimation tool • Measure of volume • Input for languages • Environment parameters • Bottom up estimation requires • A detailed WBS • Estimates for each lowest element of WBS

  9. Top Down or Bottom Up Estimation? • They complement each other • Use top down estimation for application development • Bottom up estimation • Validation of top down estimate • Estimate each iteration and discipline within iteration • Add other items such as business modeling & system integration

  10. Project Plan Development • Create high level plan based on estimate • Phase dates • Iteration plan • Iteration dates • Key milestones • Detail the first phase & first iteration • Develop next iteration plan mid-way through this iteration

  11. Resource Plan Development • Use hours estimate from the cost model • Use hours by roles from cost model • Spread hours over the timeline • Assign staff to roles

  12. Scope Management – Iteration by Iteration • Each iteration is time-boxed • Requirements dropped from an iteration move into next iteration • Only if requirements are prioritized • Architecture is defined • Technical risks are prioritized • Close stakeholder involvement is needed for scope management

  13. Conclusion • Iterative development requires a different mindset – do the hard work first • Stakeholders need to involved closely • Estimation tools aid planning • Requirements should be prioritized • Architecture centric design • Iteration plan should mitigate risks • Leads to adaptive development

More Related