Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Planning Iterative Software Development Projects by xpw14517

VIEWS: 78 PAGES: 13

									Planning Iterative Software
  Development Projects
       Raj Agrawal, PMP
            Unisys
                  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.
                         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
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
Reality – Requirements Change!




  Source: “How to Fail with the Rational Unified Process: Seven Steps to Pain and Suffering”,
  Craig Larman, Philippe Kruchten, Kurt Bittner
   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
       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
        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
     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
      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
  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
 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
              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

								
To top