Download presentation
Presentation is loading. Please wait.
Published byPatrick Norris Modified over 9 years ago
1
Iterative Project Management Module 1 - Iterative and Incremental Development
2
© 2005 Ivar Jacobson International 2 Iterative Project Management / 01 - Iterative and Incremental Development Objectives Understand what iterative and incremental development is Understand the different perspectives and bounds of iteration Understand what makes an iterative project successful Introduce the team dynamics of an iterative project
3
© 2005 Ivar Jacobson International 3 Iterative Project Management / 01 - Iterative and Incremental Development Discussion What does iterative and incremental development mean to you? Discuss
4
© 2005 Ivar Jacobson International 4 Iterative Project Management / 01 - Iterative and Incremental Development Definitions Iterate vt –to utter or do repeatedly iteration n. – iterative adj Increment n –1. amount of increase –2. a becoming greater or larger; increase incremental adj How does all this apply to a software development project?? How does a project team work iteratively while incrementally developing a product? Source: Collins Modern English Dictionary
5
© 2005 Ivar Jacobson International 5 Iterative Project Management / 01 - Iterative and Incremental Development Definition: Iterative and Incremental Development Iterative and incremental development –A style of development that involves the iterative application of a set of activities to incrementally produce and refine an effective solution –It is iterative in that it involves the successive refinement of the solution definition and implementation by the repetitive application of the core development activities –It is incremental in that each pass through the iterative cycle grows the understanding of the problem and the capability offered by the solution
6
© 2005 Ivar Jacobson International 6 Iterative Project Management / 01 - Iterative and Incremental Development More on Iteration and Increment What does all this mean? –Can we have iterative development without it being incremental?? –If so, how so? –Discuss. –How does risk play into this? –What’s the ‘increment?’ –Do we need both? If so, why? If not, why not? –Let’s look at Risk a bit and realize that this is a key component in an iteration and in iteration planning…
7
© 2005 Ivar Jacobson International 7 Iterative Project Management / 01 - Iterative and Incremental Development Risk – All Kinds of Risks Environmental –War zone; satellite; earthquake region; weather regions Technical –Team expertise; available development environment; team size; Personnel –Death; pregnancy; illness; vacations; accidents Financial –Cost of project; due dates feasible? Competition –Other competitors offering same services? How does our differ? Process models / management expertise……
8
© 2005 Ivar Jacobson International 8 Iterative Project Management / 01 - Iterative and Incremental Development Develop Projects with Considerable Uncertainty and Risk Recognize we develop software in a midst of considerable uncertainty. Recognize that when projects start there are risks that are really real. Some may be small; some large. Some can totally kill a project, but are very unlikely to occur; some are small, but are likely to occur – but may / may not seriously degrade the software if not mitigated… and more!! Risk in capturing all the business rules: While there is a vision for the product, there is a great deal of uncertainty in really capturing all the business rules, that provided the real value to the customer. Risk in acknowledging change, assessing it, and, if necessary, incorporating change into the development process while all the while incrementally providing a product with increased value, while remaining within cost parameters and on schedule. So, we consider iterative development…
9
© 2005 Ivar Jacobson International 9 Iterative Project Management / 01 - Iterative and Incremental Development Definition: Iteration Iteration: A self-contained mini-project, with a well-defined result, that results in a stable, integrated and tested release –An iteration consists of a distinct set of activities conducted according to a dedicated (iteration) plan With a set of objective, measurable evaluation criteria That provides business value –The release may be either an internal release or an external release –Here – on page 6. a mini project?
10
© 2005 Ivar Jacobson International 10 Iterative Project Management / 01 - Iterative and Incremental Development Iteration: A Self-Contained Mini-Project … Each iteration has: –Clear objectives and activities Agreed upon by all; unified efforts of all –Measurable evaluation criteria Must be ‘measurable;’ and evaluated objectively –A dedicated team All dedicated to achieving the objectives of the iteration. Focused! –A schedule Mgmt must agree to the schedule and note how it impacts overall development plan. Iteration schedule may be simple: start / end dates, or complicated – detailed task descriptions Produce a unique version of the product –Is objectively assessed against iteration’s objectives. Continuously assessed during iteration; summarized at end. Used to control the project. Who assesses? Must have a Well Defined Result!! More
11
© 2005 Ivar Jacobson International 11 Iterative Project Management / 01 - Iterative and Incremental Development Iterations In more detail:
12
© 2005 Ivar Jacobson International 12 Iterative Project Management / 01 - Iterative and Incremental Development Iteration has a Distinct Set of Activities (not the Overall Project Plan) Thus, it must have specific plan that embodies the unique set of activities to produce the well-defined result. Plan may vary in detail: –High risk more detailed planning (when might this occur?) –Team size may need to carefully coordinate –Experience Level no substitute for this; New people? Bring them along –Can leave details to development team –Dependencies on team member contribution may necessitate more detailed planning. Iteration Plan must nevertheless: –Establish the objectives, and –Evaluate resources, and –Develop the schedule
13
© 2005 Ivar Jacobson International 13 Iterative Project Management / 01 - Iterative and Incremental Development Iteration has a Distinct Set of Activities – pg. 2 Number of Plans to work with? –One for current iteration; –One for evolving next iteration plan Recognize that iteration plans must fit within context of overall project plan Overall project plan is also developed iteratively and adapted to the lessons learned from the execution of the development iterations. Project Plan – usually high level; Details relegated to iteration plans.
14
© 2005 Ivar Jacobson International 14 Iterative Project Management / 01 - Iterative and Incremental Development Iteration Results in an Executable Release Very important to understand this! We spoke of a well-defined result, well: Release can be both internal and external but must be something measurable, tangible, Clearly advances the project: A real increment reduces risk and builds capability! Something of value is produced. Examples(a few) –Prototype – that demonstrates a specific capability –‘Internal Release’ where feedback from customers is needed –‘External Release’ where definite business value is given to customers These are considered well-defined results! There are others!
15
© 2005 Ivar Jacobson International 15 Iterative Project Management / 01 - Iterative and Incremental Development …the sequence of releases… A release is a ‘stable and executable version of a system,” or “…stable, integrated and tested, partially complete system,” and more… A sequence of releases does the following: –each with definite value, –measurable outputs, etc. that –provides management regular, technical visibility as to where the state of the project lies and –Assures management that the project is moving incrementally toward completion. Particularly critical to management!
16
© 2005 Ivar Jacobson International 16 Iterative Project Management / 01 - Iterative and Incremental Development Releases - more Releases – common misconception – need not be ‘executable’ in the developer sense. Rather, they must provide –clear reduction of risk, –higher (improved) quality, and –incrementally more functionality – iteration after iteration.. Each iteration provides real business value culminating in the final delivery to the customer.
17
© 2005 Ivar Jacobson International 17 Iterative Project Management / 01 - Iterative and Incremental Development Iteration: Resulting in a Release The releases provide regular ‘technical visibility points’. essential to management! ReleaseTypePurpose Proof of Concept / PrototypeInternalDemonstrate / investigate feasibility ArchitectureInternalProve the architecture Intermediate Functional Release Internal Elicit feedback from user representatives and demonstrate progress Product Release (Test)ExternalElicit feedback from users Product Release (GA)ExternalDeliver value and business benefit
18
© 2005 Ivar Jacobson International 18 Iterative Project Management / 01 - Iterative and Incremental Development Benefits of Iterative Development - Summary You need to be able to discuss / explain how iterative development: –Improves quality –Mitigates risk early –Evaluates quality early –Incorporates continuous integration –Allows early deployment –Allows for change –Increases a project’s chance of success Some of this is discussed ahead and in Chapter 2.
19
© 2005 Ivar Jacobson International 19 Iterative Project Management / 01 - Iterative and Incremental Development The Iterative Experience “Iterative development …[is] a team-based approach to problem solving and solution development.” (p. 12) Important to recognize that we have –A Development team –A Customer team –A Management team. All dance to different drummers All have different perspectives!
20
© 2005 Ivar Jacobson International Perspectives of Some Stakeholders Need all of these!! All these stakeholders view the iterative process a bit differently. These stakeholders, with their different perspectives, must work together if the final product is to provide real business value to the customer on time and within budget. Look at these perspectives carefully… 20 Iterative Project Management / 01 - Iterative and Incremental Development
21
© 2005 Ivar Jacobson International 21 Iterative Project Management / 01 - Iterative and Incremental Development 1. The Developer Team Perspective (Note these stakeholders view ‘iteration’ and ‘increment’ a bit differently too…)
22
© 2005 Ivar Jacobson International 22 Iterative Project Management / 01 - Iterative and Incremental Development 1. Iterating: The Developer Team Perspective Analysis Design Specification or change request Tested “Component” for inclusion in a release Implementation The developer’s mindset : Usually not concerned with ROI, benefits realization, and risk management. Developers select sets of requirements and change requests from a backlog: analyze them, design solutions, implement, test, and integrate. Developers work to accommodate functionality that meets / exceeds requirements on schedule Note: Developer ‘assumes’ the specs / change notices are ‘provided.’ Note the traditional activities developers are concerned with… Note: ‘requirements’ considered a Customer Team responsibility.
23
© 2005 Ivar Jacobson International 23 Iterative Project Management / 01 - Iterative and Incremental Development Incrementally: The Developer’s Perspective Each day items are taken from the backlog. Each day the build implements more items Life is simple for individual developer; create their own ‘silo.’ Often okay for small to medium projects. Developer-centric view… Developer View: Team leader needs to integrate changes / work into a release that meets shared responsibilities Team leader looks at time-boxed activities a new release.
24
© 2005 Ivar Jacobson International 24 Iterative Project Management / 01 - Iterative and Incremental Development Iterating: The Development Team’s Perspective Feedback from iteration n leads to refinement and adaptation of the requirements and design in iteration n + 1 Must fully understand objectives, etc. when starting an iteration. Build For Some Requirements / Change Requests Feedback Build For Some More Requirements / Change Requests Feedback Build For Some More Requirements / Change Requests RELEASE TO CUSTOMERS An Iteration typically 2 – 6 weeks in length Source: Adapted from Agile and Iterative Development, A Manager’s Guide by Craig Larman, Addison Wesley, 2004 Again, often releases are internal – inappropriate for release. May/may not be suitable for customer feedback – depending on nature of the release. Notice: constant evaluation and assessment! release
25
© 2005 Ivar Jacobson International 25 Iterative Project Management / 01 - Iterative and Incremental Development Incrementally: The Development Team’s Perspective Iteration 1Iteration 2Iteration 3Iteration 4 Development Progress (% complete) 100% 0% How complete is the integrated working releases produced by the development teams? To developer, seems like little projects: design, code, test, and integrate. To team leader, it is much more a matter of integration! Only via successful Integration/verification can the incremental nature of project be tracked! May be internal external release release Note the headers on these slides: iteration …. Increment …. Iteration …. Increment… Increments become ‘base-lined.’
26
© 2005 Ivar Jacobson International 26 Iterative Project Management / 01 - Iterative and Incremental Development Incrementally: The Development Team’s Perspective - Planning Planning is critical to support releases. Minimize interdependencies of individual developers as much as possible. –(can accommodate much of this via design – subsystems…) Developers must agree on their interdependencies! –Components; interfaces; agreements between developers Planning is very difficult: –Dependencies between components must be fully understood in order to develop any kind of reasonable plan (schedule) Significant effort is needed for planning and, thus, estimating. We will return later (this chapter) to this topic Suffice it to say at this time that planning and estimating are essential to keep a project on track once it has begun. Customers funding the project demand nothing less.
27
© 2005 Ivar Jacobson International 27 Iterative Project Management / 01 - Iterative and Incremental Development 2.The Customer Team Perspectives The customer perspective - general –The business analysts (BAs) –The end-user –The business leader (sponsor)
28
© 2005 Ivar Jacobson International 28 Iterative Project Management / 01 - Iterative and Incremental Development Iterating: The Customer Team Perspective Do we only want a technical approach? If we only undertake / advocate iterative / incremental development for the development team, then we are relegating ‘this’ procedure only to development – a technical approach – Need the customer and the management perspective – necessary to get the full power of incremental/iterative development! Iterative/incremental participation from the Customer Fundamentally changes the way we specify, pay for, and realize business benefit from a software solution. (paraphrased) We don’t develop systems for developers. We provide business results and business value! Thus, customer rep: BAs, end- users, and sponsors must participate in this all encompassing process.
29
© 2005 Ivar Jacobson International 29 Iterative Project Management / 01 - Iterative and Incremental Development Iterating: The Customer Team Representative The real, profound value the Customer representative brings is how they can interact with the developers! Customer rep feedback: essential as increments produced. Customers: evaluate, make changes, if needed, and provide inputs on future directions / iterations / releases! By observing some degree of working functionality in each release, entire flavor of development can be positively influenced. Can assure business needs are being met and progressing and developers gain better understanding of project. The demonstration of the capability of each release allows the customers to provide objective feedback leading to the refinement and adaptation of the next release’s requirements. Note: objective feedback is via Customer and not Developer!!
30
© 2005 Ivar Jacobson International 30 Iterative Project Management / 01 - Iterative and Incremental Development Incrementally: The Customer’s Perspective SO, what does all this do from Customer’s perspective? Incrementally increases: –Confidence in the teams ability to deliver – they’ve ‘worked’ together –Understanding of the project as a whole – everyone learns! –Convergence on an acceptable business solution – gradually evolving –Convergence on an acceptable plan – plans iterate; map to overall –Reality to the customer’s expectations – feel good! And typically these are espoused to senior level management… –This is the part where the developers (project manager) must convince senior level management (old school) that the development is supporting the overall plan. The rapid cycle of development, demonstration and assessment has many benefits for the development team and its customers.
31
© 2005 Ivar Jacobson International 31 Iterative Project Management / 01 - Iterative and Incremental Development 2A. Iterating: The Business Analyst’s Perspective2A Tested Release Implementation Analysis Design Iteration objectives or change requests Requirements System Test Major Controversy: Should requirements be part of the iterative process? Position: only when all team members participate are the interests of the business assured. So, ‘requirements’ must be an integral part of each iteration! BA Perspective: Note the addition of Requirements activity as part of the iteration’s activities…and System Test.
32
© 2005 Ivar Jacobson International 32 Iterative Project Management / 01 - Iterative and Incremental Development Iterating: Business Analyst’s Perspective FACTS AND HEURISTICS : Often specify requirements that will be never implemented and features ‘for the next version’ Often specify features that exceed budget / time / etc. Often spend so very much time developing requirements for features ‘down the line’ in this development when real development could start! Often specify features – many of which are NOT of equal importance! Takes lots of time and brainpower and effort to develop ‘requirements’. Far better: find a minimum set of requirements needed to solve the business problem. More requirements are NOT BETTER! Many projects have been ruined by trying to implement too many features!
33
© 2005 Ivar Jacobson International 33 Iterative Project Management / 01 - Iterative and Incremental Development Iterating: More on the BA’s Perspective Build For Some Requirements / Change Requests Build For Some More Requirements / Change Requests Customer Inspection and Acceptance Demonstration of Release DO NOT NEED all requirements specified to start work! Only need features for the current iteration. For a given iteration, requirements must be fully known This iteration will produce a partial solution / partial working set that can be evaluated objectively, as discussed.
34
© 2005 Ivar Jacobson International 34 Iterative Project Management / 01 - Iterative and Incremental Development 2B. The User Perspective (part of Customer Perspective) These are the real ‘users’ of the systems – not the BAs. The users! Successful projects MUST involve the users in key parts of many iterations. The functionality and the interface – usability, learnability, utility, etc. must be clear to the user! To the end-user, the Interface IS the system! When iterations provide partial solutions or interfaces leading to detailed work, the user must be brought in to provide objective evaluation / feedback on the iteration!
35
© 2005 Ivar Jacobson International 35 Iterative Project Management / 01 - Iterative and Incremental Development 2C.The Business Leader (Sponsor) – part of Customer Perspective Must provide support for incremental commitment of resources needed to balance investment in project against project risk and project’s chances of success. Funding might be limited to a current iteration. This is fine. If risk is not mitigated or if progress is not forthcoming, then adjustments can be made or project scrapped before huge expenditures of resources are brought to bear. The iterative approach brings forth increased ability to predict, reduced time to market, higher quality solutions, increased project agility, and increased productivity. Great test question. How does this approach to this??
36
© 2005 Ivar Jacobson International 36 Iterative Project Management / 01 - Iterative and Incremental Development 3. The Management Team’s Perspective Management Team - general –The Project Manager –The Quality-Assurance Manger
37
© 2005 Ivar Jacobson International 37 Iterative Project Management / 01 - Iterative and Incremental Development 3. The Management Team’s Perspective Development Team Perspective and Customer Team Perspectives: –discussed these –We stressed both the necessity and super advantages of the Customer Team’s perspective and participation in the iterative process. What about the Management Team? –I view this as the responsible agency for development – high level responsibilities. What is the role of the Management Team? How does the management team participation benefit the project? Need iterations mapped out in order to know –where we are going and (provide visibility; assurance; learning; increasing confidence for delivery; incremental value….) –when we will arrive, –estimates of resources needed (continued funding; people; many support items (planning for training, transition, etc.) and ‘when’ and –potential costs. We cannot expect customers and sponsors to expend resources with no assurance of a plan to deliver the business solution!
38
© 2005 Ivar Jacobson International 38 Iterative Project Management / 01 - Iterative and Incremental Development Management team perspective: Management must ensure that (besides the obvious) we are solving the ‘right’ problem,’ Management must address the reality of available resources to support the project; Management is concerned with, –“Can the business value be really delivered on time, within budget and with identified resources?” Is the development effort progressing toward our goal of a viable business solution ?
39
© 2005 Ivar Jacobson International 39 Iterative Project Management / 01 - Iterative and Incremental Development Who is the management team? –Where housed? Who is on the team?
40
© 2005 Ivar Jacobson International 40 Iterative Project Management / 01 - Iterative and Incremental Development 3A. Iterating: The Project Manager’s Perspective To the Project Manager each iteration appears as a small project producing a unique product (the release) to meet a set of clearly defined objectives. INCREMENTAL, DEMONSTRATRABLE VALUE VISIBLE TO HIGHEST LEVELS! Create Tested Build to Meet a Defined Set of Objectives Create Tested Build to Meet Another Defined Set of Objectives RELEASE TO CUSTOMERS Customer Inspection and Acceptance Demonstration of Release Customer Inspection and Acceptance Demonstration of Release Create Tested Build to Meet Another Defined Set of Objectives Implementation Analysis Design Requirements System Test Implementation Analysis Design Requirements System Test Implementation Analysis Design Requirements System Test Assess Feedback
41
© 2005 Ivar Jacobson International 41 Iterative Project Management / 01 - Iterative and Incremental Development Iterating: The Project Manager’s Perspective Each iteration is treated as a small, self-contained project (though temporary – typically 4-6 weeks; some say 2-6 weeks) containing all disciplines resulting in a release of a ‘product’ meeting a specific shared set of objectives. (~book) Each iteration goes through the management cycle of Agree, Execute and Assess.
42
© 2005 Ivar Jacobson International 42 Iterative Project Management / 01 - Iterative and Incremental Development Agree, Execute, and Assess What?? So, what does ‘agree, execute, and assess’ really mean? Agree on: –Objectives for the iteration –Evaluation criteria and assessment for the iteration –A plan on exactly how the team will achieve the objectives Execute the plan Assess –Results as compared to the objectives and evaluation criteria –Overall impact of iteration’s result on product as a whole –Lock in and start next iteration From the management perspective, these are the components of each iteration that repeat themselves over and over… Must facilitate the iteration so that it contributes to a succession of successful integrations.
43
© 2005 Ivar Jacobson International 43 Iterative Project Management / 01 - Iterative and Incremental Development Measurement of Progress In older development strategies, progress was measured (very flaw-filled I might add) – via completion of work documents: often models, specs, documentation, incidence of reviews (technical / managerial), and code. Now, in the iterative model, we measure progress in terms of successfully-completed scenarios (developed, measured, tested, verified and integrated). –Each iteration must incrementally add to viable business solution. No longer focus subjectively on documentation developed; rather, we focus on work products / software produced! With objective assessment undertaken (during and) at the end of each iteration, the project manager is more able to control the project as it incrementally evolves.
44
© 2005 Ivar Jacobson International 44 Iterative Project Management / 01 - Iterative and Incremental Development Incrementally: The Project Manager’s Perspective Iteration 1Iteration 2Iteration 3Iteration 4 Development Progress (% complete) 100% 0% Key:CodedTestedTested & Passed These are criteria the project manager uses: coded, measured, tested, verified, and integrated.
45
© 2005 Ivar Jacobson International 45 Iterative Project Management / 01 - Iterative and Incremental Development 3B. Iterating: The Quality Manager’s Perspective Regular iteration assessments –Provide insight and lessons learned to feed subsequent iterations… Affects changes / modifications that may arise. –Quality managers deal closely with controlling ‘change.’ Controlling, mitigating, prioritizing, acknowledging… –This perspective is the one that is most difficult! But must be done! Continuous integration and test –Increased amounts of testing as increments are added. –Includes regression testing of previous iterations –May well result in midcourse corrections – fine! Objective measurements –Management and quality indicators – are we progressing? –Trends across iterations With the iterative approach it is very difficult to hide the truth for very long.
46
© 2005 Ivar Jacobson International 46 Iterative Project Management / 01 - Iterative and Incremental Development Incrementally: The Quality Manager’s Perspective The Test workload increases, naturally, incrementally iteration by iteration
47
© 2005 Ivar Jacobson International Some Models 47 Iterative Project Management / 01 - Iterative and Incremental Development
48
© 2005 Ivar Jacobson International 48 Iterative Project Management / 01 - Iterative and Incremental Development Models Used to Drive Iteration Solution Development Waterfall – Iterative Solution –All requirements specified up front. –Clearly, some requirements will never be implemented; –All done / base-lined at one time; –over specified, provides unrealistic expectations; result: disappointment –Wastes tremendous time. Could say so much more… –Development team is ready to develop and iterate, but management not convinced of comprehensive iterative approach. –Not sure how progress will be measured? What is it that will make management feel good?? –Author: creates; functional ‘silos” based on the type of work each does…
49
© 2005 Ivar Jacobson International 49 Iterative Project Management / 01 - Iterative and Incremental Development Models: Used to Drive Iteration Solution Development Forward Loaded Requirements; Backwards-Loaded Development –This is a bit more iterative. –Can be done with staggered sets of requirements if Some sets of requirements are stable up front or Some requirements have not changed in a redesign effort. –Thus, there is an initial ‘set’ of requirements to get things going; –After and initial thrust, requirements are parts of each iteration. –This is an improvement.
50
© 2005 Ivar Jacobson International 50 Iterative Project Management / 01 - Iterative and Incremental Development Models: Used to Drive Iteration Solution Development Requirements Pipeline –Staggered requirements. –Requirements developed. –Next: develop requirements for the next ‘phase’ while developing functionality for the initial set of requirements. –So, ‘activities’ in iteration are NOT all pertinent to ‘current’ iteration. –ZigZag approach – (I definitely don’t like this one) –Different team members working on different ‘iterations.’ –Do they overlap? –Team is working on more than one iteration. So, how to interface??
51
© 2005 Ivar Jacobson International 51 Iterative Project Management / 01 - Iterative and Incremental Development Models: Used to Drive Iteration Solution Development Just-In-Time Requirements –This is ideal and most agile. –All work together in a fully integrated set of activities in iterations that are well-defined and coordinated. – Here, we include requirements as a formal activity in an iteration. – But, we need a team that is all on the same page and focused! –Here, we have a single team that can adjust the development as necessary to ensure ultimate business value is produced as quickly as possible. BA’s share responsibility for development – not just the specifications! The requirements documentation becomes a ‘living’ document or a ‘living contract’ that all team members must comply with.
52
© 2005 Ivar Jacobson International 52 Iterative Project Management / 01 - Iterative and Incremental Development End of Lecture Notes for Chapter 1
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.