1 / 21

Iterative Project Management

Iterative Project Management. Lifecycle Planning Chapter 4 – Selected Sections Are you Ready for Iterative Project Management? pp 123-131; 142-153. I. Introduction. There are many problems with adapting to an iterative / incremental development approach that people perceive.

abena
Download Presentation

Iterative Project Management

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. Iterative Project Management Lifecycle Planning Chapter 4 – Selected Sections Are you Ready for Iterative Project Management? pp 123-131; 142-153

  2. I. Introduction • There are many problems with adapting to an iterative / incremental development approach that people perceive. • We will discuss several of the key issues. • RightAttitude: In truth, much of the transition requires the team to have the • right attitude toward the projects and • how to work together. • Real change in mind-setmust be accommodated • Willingness to eschew the conventional methods. Iterative Project Management / 03 - Lifecycle Planning

  3. Attitude is Critical! Attitude is the Real Key! • New attitudes are needed. • Must Address Uncertainty and Change – • Best way: clearly demonstrate real progress; • Best shown: working software that provides real value. • Verified; testaments… • Must deliver immediate and realizable value back to the business • Must address our attitude regarding teamwork and accountability • Will be interacting with many stakeholders continuously ; • shared responsibilities, etc. • Must adopt a progressive attitude – a real change in estimating, planning, and managing the software project • The right team attitude is critically important! Iterative Project Management / 03 - Lifecycle Planning

  4. Value Delivery – The Key to Success • It is absolutely essential to produce real business value • We must realize: • Requirements are not all equal. • Value working components vice technical components (like a sort) • Delivering requirements with verified code might notbe delivering the best business value • Don’t worry about implementing lots of requirements at the expense of not focusing on real desired outcomes. • Track stakeholder and business value, not project cost and schedule • It is all about delivering verified, measurable Business Value! Iterative Project Management / 03 - Lifecycle Planning

  5. Quick failure recipes: Requirements  Business Solution • Implementing requirements versus solving problems. • Problems are of a higher order… will include meeting requirements Iterative / incremental projects can fail too if developers concentrate on implementing requirements rather than iteratively solving problems. • Addressing technical risk which is fine - without concomitant business value. Iterative projects can fail if developers concentrate on addressing technical risks and yet fail to deliver usable versions of software that provide realizable benefit. Iterative Project Management / 03 - Lifecycle Planning

  6. Value Delivery – The Key to Success – slide 2 • Great Statistics: • Research indicates only two-thirds of implemented features in successful projects were often actually required. • Around one-third of developed software had little or no business value. • What an incredible waste of resources!!! • Consider: “20% of requirements have been implemented by such and such a date.” • This does NOT necessarily reflect realvalue • Generally, by the end of the first iteration or two in Construction, we should have a usable, completerelease that may implement around 50% of the requirements. (Why?) • Interestingly, at this point with proper iteration planning, they may have produced a system with 80% of desired value • But if iterations not carefully planned and pressed on implementing lesser (but perhaps more in number) requirements, then may have around 20% of desired value. Iterative Project Management / 03 - Lifecycle Planning

  7. Value Delivery – The Key to Success – 3 • The key is to ensure requirements implemented in an iteration can be mapped back to specific outcomes. • The first iterations must implement the most important desired outcomes as constrained by technical risk • Must be able to support these claims! • Do so by demonstrating desired / measurable outcomes. • Ancillary: technical risks / issues are resolved. Iterative Project Management / 03 - Lifecycle Planning

  8. Demonstrate Measurable Value – Executable Threads • Iterations simply must deliver measurable value to the project team and the business. • Assertions are fine. Demonstrate it! • SuccessfulIterationsdefine release contents in terms of Executable releases that contain end-to-end behavioral threads of system usage. • Executable Thread? • An end-to-end thread may be a use-case, or user story, scenario. • (A scenario is an instantiation of a use-case) • Complete threads of usage drive other development activities to ensure verifiable systems are produced. Iterative Project Management / 03 - Lifecycle Planning

  9. Planning that Iteration! Plan those Early Iterations! • Know use-cases describe the goals of the system stakeholders. • Planning iterations via use-cases / scenarios allows us to scopeandprioritized development. • We alsoknow risks in projects threaten the team’s ability to deliver. • Confront the Risks: • Overallrisks of a solution may be mitigated by choosing scenarios that force the confrontation of the risks!!! • Map Risks into Early Scenarios: • Map these scenarios into the early iterations • Successful development and demonstration provide objectiveassessment that thus measurably reduce risk, • Provide key functionality and show real business value. • Iterations can thus be planned to ensure every iteration steadily reduces project risk and increases business value realized from the solution. Iterative Project Management / 03 - Lifecycle Planning

  10. End-to-end Threads and Tangible Value • Successful implementation of end-to-end threads (scenarios) provides tangible business value. • Selection of scenarios also subdivides the requirements enabling their assignment for development / delivery • Scenarios in a use case may be assigned to different iterations. WHY?? • Each scenario tells a complete story of how discrete value is delivered by the system. • By delivering a complete scenario one-by-one, we are adding an increment and thus realizable value. • This provides focus on deliveredvalue and enablestracking to project’s desired outcomes and risks that threaten its success Iterative Project Management / 03 - Lifecycle Planning

  11. II. Changing the Way You Think About Planning We know: • Management of the development process is most critical. • Common knowledge that most projects fail due to poor planning and requirements management. • Entireproject must be managed iteratively. • Successful iterative program management is more than just repeatedly applying technical knowledge But: • The Project Manager (PM) must really believe the iterative approach is the best way to manage the project. • PM may need to convince many people. • But if PM is not convinced, then little likelihood to convince others. • PM must be ready to set aside any inflexible, predictive, waterfall management practices used in the past. • This may be very difficult. Iterative Project Management / 03 - Lifecycle Planning

  12. Conventional Project Lifecycle Revisited: • Specify • Design • Develop Traditional, Sequential Approach • Test • Change Over. • But this is an engineering approach used for years – but never meant for software. • Approach is predictable. • Engineering approach was applied to software development • Its sequential notion of activities gave rise to Waterfall Model. Iterative Project Management / 03 - Lifecycle Planning

  13. Conventional Thinking About Planning – Morphed from Engineering Specify Design Develop Test Change Over The Conventional Project Lifecycle Requirements Analysis Design Code Test Deploy The ‘Waterfall’ Software Development Lifecycle Iterative Project Management / 03 - Lifecycle Planning

  14. WaterfallPlanning is based on several beliefs (from book): • Products can be completely developed in one pass • Requirements can be completed and frozen early • All requirements are of equal importance • Designs can be verified without building and testing something. • The entire project can be planned in detail with a high degree of precision at the start of the project • Everything important can be known at the beginning of the project • The project can ‘earn’ value by only doing one discipline at a time. • Most importantly, if we follow the prescriptive steps of our process, then all the project risks will be addressed and therefore one should measure teams on their ability to follow a plan and managers on their ability to create a plan. • Plan-driven • Documentation intensive, etc. • The waterfall process attempts to do each step very well and eliminate redoing any steps again, once a step is completed • The plan itself is regarded as ‘lock’ and ‘contract;’ inviolate and perfect. • Any deviations are considered highly undesirable. Iterative Project Management / 03 - Lifecycle Planning

  15. Problems with Waterfall Planning Assumptions • Almost all the assumptions are incorrect for software development. • We are always developing something new or redesigning something to meet new requirements for a changing business. • Business conditions change all the time as do technologies. • But in the waterfall model: (book) •  Problems are discovered too late to do anything about them • < I left some out. See book for more very important issues> •  Imagination and testing are always left until the end where, more often than not, they are cut back in an attempt to meet original delivery date •  Design feedback is obtained late usually leading to late design breakage, when it is too late to fix problems in the architecture •  Because objective feedback provided by demonstration and testing is only obtained late in the project, risk resolution typically occurs too late to be effective. (right arrows are mine) Iterative Project Management / 03 - Lifecycle Planning

  16. More • Reality is: • Significant problems seem to always occur near the end of the project. • Here, time is critical, staffing is maxed; costs at their highest; • deployment dates are set; perhaps equipment is installed; • transition to the new system is well established, and • many have staked their reputation (and future) on the successful deployment of the application. • So here we are: • It is the failure of conventional planning wisdom on so very many projects especially for high-value, high-risk projects has led to the evolution of a • risk-driven, • progressive, • adaptive, • iterative and incremental approach to software development. Iterative Project Management / 03 - Lifecycle Planning

  17. So, here we go – the ‘cookbook:’ • Instead of developing the whole system in one ‘go,’ an increment is selected and developed, then another increment, and so on • The selection of the contents of the increment is based on risk, addressing the highest priority risks first particularly those involving core functionalities • To address selected risk(s), select a subset of requirements from end-to-end threads (scenarios) to be implemented and tested, and verified (independently) • Develop the minimal set of functionality that enables objective measurementandverification (through a set of executable tests) that the risks have been successfully addressed • Then select the next highest risks and functionality associated with these risks for the next iteration and increment. Continue… • Each iteration produces an executable release. • Each iteration includes integration and test. Iterative Project Management / 03 - Lifecycle Planning

  18. Framework – Unified Process • We often use the Unified Process because it provides a risk-based framework that supports and enables the progressive, adaptive (“rolling”) planning of software development projects. • (Page 150) Note that everydiscipline in the Iterative Lifecycle has some role in every phase (extents may vary) • In this way, iterative planning is adaptive because plans will change as risk is dealt with in an iteration. • Thus requirements might change, analysis and design will likely be impacted by change, etc.. • Hence the disciplines (analysis, design, configuration management, etc.) are present in every iteration. Iterative Project Management / 03 - Lifecycle Planning

  19. Comparing Conventional and Iterative Thinking on Planning Iterative Project Management / 03 - Lifecycle Planning

  20. Seven Habits of Successful Iterative Project Managers (book) • In Summary: • Break large projects into smaller projects and then break the smaller projects up into iterations • Attach the greatest risk in the earliest iterations • Produce something demonstratable every iteration • Do not delay integration and test • Every iteration should include integration and test activities • Be prepared to make mistakes and explore blind alleys. • Mistakes are to be encouraged if they reduce the project risk or challenge the project’s assumptions. • Plans must be adjusted based on lessonslearned Iterative Project Management / 03 - Lifecycle Planning

  21. Application of these principles leads to Changes in management behavior • These are summed up in the next seven habits: (book) • Steadily focus on advancing the solution in small but deliberate steps • Focus on generating results but not afraid to fail • Exercise adaptive planning continuously • Always be risk-aware • Always be open and honest • Focus on objective results-based assessments (not subjective opinion-based ones) • Singularly focus on delivering a working solution. Iterative Project Management / 03 - Lifecycle Planning

More Related