Iterative Process Planning Software Management (from Part III, Chapter 10 of Royce’ book)
Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE...
-
Upload
colleen-watson -
Category
Documents
-
view
213 -
download
0
Transcript of Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE...
![Page 1: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/1.jpg)
Iterative Development
Royce, “Successful Software Management Style: Steering and
Balance”, IEEE Software sep/oct 05
1541Sp8Jan22iterdev2
![Page 2: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/2.jpg)
Key Ideas and/or Questions
2541Sp8Jan22iterdev2
![Page 3: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/3.jpg)
Rationale of Iterative Development
“Traditional project management approaches in software-intensive projects don’t encourage the steering and adjustment needed to reconcile significant levels of uncertainty in the■ problem space (what the user really wants or needs),■ solution space (what architecture and technology mix is most appropriate), and■ planning space (including cost and time constraints, team composition and productivity, stakeholder communication,and incremental result sequences).”
3541Sp8Jan22iterdev2
![Page 4: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/4.jpg)
Measurement
Just as the movie industry gets action onfilm, we too must get increments of softwareinto executable form to make things tangibleenough to assess progress and quality.
4541Sp8Jan22iterdev2
![Page 5: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/5.jpg)
Results
This iterative management style is results ratherthan activity-based. In the world of software, real results are executable programs.
Everything else (requirements documents, usecasemodels, design models, test cases, plans, processes, documentation, and inspections) is secondary—simply part of the means to the end.
5541Sp8Jan22iterdev2
![Page 6: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/6.jpg)
Precision vs Accuracy
A common failure pattern is developing afive-digits-of-precision specification when thestakeholders have only a one-digit-of-precisionunderstanding of the problem, solution, or plan.
6541Sp8Jan22iterdev2
![Page 7: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/7.jpg)
Evaluation of these ideas
7541Sp8Jan22iterdev2
![Page 8: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/8.jpg)
What do we apply to 541 project?
8541Sp8Jan22iterdev2
![Page 9: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/9.jpg)
Iterative Rework: the Good, the Bad and the Ugly
Richard E Fairley and Mary Jane Willshire, IEEE Computer, Sep 05
9541Sp8Jan22iterdev2
![Page 10: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/10.jpg)
Key Ideas and/or Questions
10541Sp8Jan22iterdev2
![Page 11: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/11.jpg)
Rework
Incremental build lets developers produce weekly builds of an evolving product.
Each iteration involves a certain amount of rework to enhance and fix existing capabilities (the good). However, excessive rework could indicate problems in the requirements, the developers’ skillsand motivation, the development processes or technology used, or all of the above (the bad). Exorbitant levels of rework result in truly untenable situations (the ugly).
11541Sp8Jan22iterdev2
![Page 12: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/12.jpg)
Fig 3 – four dimensions
12541Sp8Jan22iterdev2
![Page 13: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/13.jpg)
Amount of rework
For several years, our rule of thumb has been that total rework (evolutionary plus both types of avoidable) is acceptable at 10 to 20 percent of the total effort for each reporting period in an iterative development process. The reporting period typicallyvaries from a week to a month. Weekly analysis of rework data is desirable in a project’s early stages. Less frequent reporting and analysis is appropriate once rework stabilizes and remains within the desired range.
13541Sp8Jan22iterdev2
![Page 14: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/14.jpg)
Excessive rework
14541Sp8Jan22iterdev2
![Page 15: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/15.jpg)
Insufficient Rework
15541Sp8Jan22iterdev2
![Page 16: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/16.jpg)
Our Goal: Project Plan
The size and important features of the product to be produced
The division of tasks into iterations Size and effort estimations of work tasks
16541Sp8Jan22iterdev2
![Page 17: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/17.jpg)
Identify Subtasks
Identify all the different subtasks necessary to achieve product– Include units if possible, e.g. number of ppt
slides For each subtask, identify milestone(s) and
completion criteria Establish dependencies
17541Sp8Jan22iterdev2
![Page 18: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/18.jpg)
Checkpoints, Milestones, or Inch-pebbles
“A checkpoint is an objectively identifiable point in a project”
e.g. not “coding is 90% complete” possible – “design is ready for review,
design has been reviewed by all team members.”
“a checkpoint for every five hours or so of work”
18541Sp8Jan22iterdev2
![Page 19: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/19.jpg)
Project Plan
establish subtasks (wbs) establish checkpoints (wbs) establish dependencies (gannt or pert) establish dates (gannt chart) assign subtasks
19541Sp8Jan22iterdev2
![Page 20: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/20.jpg)
Project Plan for Iteration 1
Must have time in minutes for each leaf task No leaf task can be more than 7 days before
successor Each leaf task must have completion
criterion
20541Sp8Jan22iterdev2
![Page 21: Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.](https://reader036.fdocuments.in/reader036/viewer/2022062803/56649f535503460f94c77519/html5/thumbnails/21.jpg)
Thursday, Jan 24
Read about Earned Value – Stellman and Greene “track the performance
…” pp63-66– SOS 3.7 – work through exercise 3.6 on page
36 – make sure you can get the same answers
21541Sp8Jan22iterdev2