Iterative Project Management Module 1 Iterative and Incremental

  • Slides: 52
Download presentation
Iterative Project Management Module 1 - Iterative and Incremental Development

Iterative Project Management Module 1 - Iterative and Incremental Development

Objectives • Understand what iterative and incremental development is • Understand the different perspectives

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 © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 2

Discussion • What does iterative and incremental development mean to you? • Discuss ©

Discussion • What does iterative and incremental development mean to you? • Discuss © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 3

Definitions • Iterate vt – to utter or do repeatedly • iteration n. –

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 © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 4

Definition: Iterative and Incremental Development • Iterative and incremental development – A style of

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 © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 5

More on Iteration and Increment What does all this mean? – Can we have

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… © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 6

Risk – All Kinds of Risks • Environmental – War zone; satellite; earthquake region;

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…… © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 7

Develop Projects with Considerable Uncertainty and Risk • Recognize we develop software in a

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… © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 8

Definition: Iteration: A self-contained mini-project, with a well-defined result, that results in a stable,

Definition: 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? © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 9

Iteration: A Self-Contained Mini-Project … • Each iteration has: – Clear objectives and activities

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!! © 2005 Ivar Jacobson International More Iterative Project Management / 01 - Iterative and Incremental Development 10

Iterations • In more detail: © 2005 Ivar Jacobson International Iterative Project Management /

Iterations • In more detail: © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 11

Iteration has a Distinct Set of Activities (not the Overall Project Plan) • Thus,

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 © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 12

Iteration has a Distinct Set of Activities – pg. 2 • Number of Plans

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 13

Iteration Results in an Executable Release • Very important to understand this! • We

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! © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 14

…the sequence of releases… • A release is a ‘stable and executable version of

…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! © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 15

Releases - more • Releases – common misconception – need not be ‘executable’ in

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 16

Iteration: Resulting in a Release Type Purpose Proof of Concept / Prototype Internal Demonstrate

Iteration: Resulting in a Release Type Purpose Proof of Concept / Prototype Internal Demonstrate / investigate feasibility Architecture Internal Prove the architecture Intermediate Functional Release Internal Elicit feedback from user representatives and demonstrate progress Product Release (Test) External Elicit feedback from users Product Release (GA) External Deliver value and business benefit The releases provide regular ‘technical visibility points’. essential to management! © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 17

Benefits of Iterative Development - Summary • You need to be able to discuss

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 18

The Iterative Experience • “Iterative development …[is] a team-based approach to problem solving and

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! © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 19

Perspectives of Some Stakeholders • Need all of these!! • All these stakeholders view

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… © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 20

1. The Developer Team Perspective • (Note these stakeholders view ‘iteration’ and ‘increment’ a

1. The Developer Team Perspective • (Note these stakeholders view ‘iteration’ and ‘increment’ a bit differently too…) © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 21

1. Iterating: The Developer Team Perspective Note: Developer ‘assumes’ the specs / change notices

1. Iterating: The Developer Team Perspective Note: Developer ‘assumes’ the specs / change notices are ‘provided. ’ Specification or change request Note the traditional activities developers are concerned with… Analysis Design The developer’s mindset : Usually not concerned with ROI, benefits realization, and risk management. Implementation 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 © 2005 Ivar Jacobson International Tested “Component” for inclusion in a release Note: ‘requirements’ considered a Customer Team responsibility. Iterative Project Management / 01 - Iterative and Incremental Development 22

Incrementally: The Developer’s Perspective Progress By Daily Build Developer View: Life is simple for

Incrementally: The Developer’s Perspective Progress By Daily Build Developer View: Life is simple for individual developer; create their own ‘silo. ’ Often okay for small to medium projects. Developer-centric view… 40 35 30 25 Product 20 Backlog 15 10 5 New Work Product Backlog Work Done 0 1 2 3 4 Day 5 6 7 8 9 10 Team leader needs to integrate changes / work into a release that meets shared responsibilities Team leader looks at time-boxed activities a new release. Each day items are taken from the backlog. Each day the build implements more items © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 23

Iterating: The Development Team’s Perspective Again, often releases are internal – inappropriate for release.

Iterating: The Development Team’s Perspective 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! Build For Some Requirements / Change Requests Feedback Build For Some More Requirements / Change Requests release RELEASE TO CUSTOMERS An Iteration typically 2 – 6 weeks in length 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. Source: Adapted from Agile and Iterative Development, A Manager’s Guide by Craig Larman, Addison Wesley, 2004 © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 24

Incrementally: The Development Team’s Perspective Development Progress (% complete) 100% May be internal release

Incrementally: The Development Team’s Perspective Development Progress (% complete) 100% May be internal release external release To developer, seems like little projects: design, code, test, and integrate. To team leader, it is much more a matter of integration! 0% Iteration 1 Iteration 2 How complete is the integrated working releases produced by the development teams? Iteration 3 Iteration 4 Only via successful Integration/verification can the incremental nature of project be tracked! Note the headers on these slides: iteration …. Increment …. Iteration …. Increment… Increments become ‘base-lined. ’ © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 25

Incrementally: The Development Team’s Perspective - Planning • Planning is critical to support releases.

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 26

2. The Customer Team Perspectives • The customer perspective - general – The business

2. The Customer Team Perspectives • The customer perspective - general – The business analysts (BAs) – The end-user – The business leader (sponsor) © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 27

Iterating: The Customer Team Perspective • Do we only want a technical approach? If

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, endusers, and sponsors must participate in this all encompassing process. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 28

Iterating: The Customer Team Representative • The real, profound value the Customer representative brings

Iterating: The Customer Team Representative • The real, profound value the Customer representative brings is how they can interact with the developers! 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!! • 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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 29

Incrementally: The Customer’s Perspective SO, what does all this do from Customer’s perspective? Incrementally

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 30

2 A. Iterating: The Business Analyst’s Perspective 2 A Major Controversy: Should requirements be

2 A. Iterating: The Business Analyst’s Perspective 2 A Major Controversy: Should requirements be part of the iterative process? BA Perspective: Position: only when all team members participate are the interests of the business assured. Iteration objectives or change requests Requirements Analysis So, ‘requirements’ must be an integral part of each iteration! Design Note the addition of Requirements activity as part of the iteration’s activities…and System Test. © 2005 Ivar Jacobson International Implementation System Test Iterative Project Management / 01 - Iterative and Incremental Development Tested Release 31

Iterating: Business Analyst’s Perspective • FACTS AND HEURISTICS: • Often specify requirements that will

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! © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 32

Iterating: More on the BA’s Perspective • • DO NOT NEED all requirements specified

Iterating: More on the BA’s Perspective • • 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. Demonstration of Release Build For Some Requirements / Change Requests Build For Some More Requirements / Change Requests Customer Inspection and Acceptance © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 33

2 B. The User Perspective (part of Customer Perspective) • These are the real

2 B. 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! © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 34

2 C. The Business Leader (Sponsor) – part of Customer Perspective • Must provide

2 C. 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? ? © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 35

3. The Management Team’s Perspective • Management Team - general – The Project Manager

3. The Management Team’s Perspective • Management Team - general – The Project Manager – The Quality-Assurance Manger © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 36

3. The Management Team’s Perspective • Development Team Perspective and Customer Team Perspectives: –

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. Iterative of a. Project plan to deliver the business solution! Management / 01 - Iterative and Incremental Development © 2005 Ivar Jacobson International 37

Management team perspective: • Management must ensure that (besides the obvious) we are solving

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. Iterative viable business solution? Project Management / 01 - Iterative and Incremental Development © 2005 Ivar Jacobson International 38

 • Who is the management team? – Where housed? • Who is on

• Who is the management team? – Where housed? • Who is on the team? © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 39

3 A. Iterating: The Project Manager’s Perspective Create Tested Build to Meet a Defined

3 A. Iterating: The Project Manager’s Perspective Create Tested Build to Meet a Defined Set of Objectives Assess Feedback Create Tested Build to Meet Another Defined Set of Objectives Requirements Implementation Requirements Analysis Design Create Tested Build to Meet Another Defined Set of Objectives Demonstration of Release System Test Analysis Design Implementation System Test Demonstration of Release Implementation System Test RELEASE TO CUSTOMERS Customer Inspection and Acceptance 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! © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 40

Iterating: The Project Manager’s Perspective Each iteration is treated as a small, self-contained project

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 41

Agree, Execute, and Assess What? ? • So, what does ‘agree, execute, and assess’

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 42

Measurement of Progress • In older development strategies, progress was measured (very flaw-filled I

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 43

Incrementally: The Project Manager’s Perspective These are criteria the project manager uses: coded, measured,

Incrementally: The Project Manager’s Perspective These are criteria the project manager uses: coded, measured, tested, verified, and integrated. Development Progress (% complete) 100% 0% Iteration 1 Key: © 2005 Ivar Jacobson International Coded Iteration 2 Iteration 3 Tested Iterative Project Management / 01 - Iterative and Incremental Development Iteration 4 Tested & Passed 44

3 B. Iterating: The Quality Manager’s Perspective • Regular iteration assessments – Provide insight

3 B. 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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 45

Incrementally: The Quality Manager’s Perspective The Test workload increases, naturally, incrementally iteration by iteration

Incrementally: The Quality Manager’s Perspective The Test workload increases, naturally, incrementally iteration by iteration © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 46

Some Models © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative

Some Models © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 47

Models Used to Drive Iteration Solution Development • Waterfall – Iterative Solution – –

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… © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 48

Models: Used to Drive Iteration Solution Development • Forward Loaded Requirements; Backwards-Loaded 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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 49

Models: Used to Drive Iteration Solution Development • Requirements Pipeline – Staggered requirements. –

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. – Zig. Zag 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? ? © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 50

Models: Used to Drive Iteration Solution Development • Just-In-Time Requirements – This is ideal

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. © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 51

End of Lecture Notes for Chapter 1 © 2005 Ivar Jacobson International Iterative Project

End of Lecture Notes for Chapter 1 © 2005 Ivar Jacobson International Iterative Project Management / 01 - Iterative and Incremental Development 52