vault backup: 2025-01-08 16:44:38
This commit is contained in:
@@ -294,7 +294,7 @@ Different phases of a project have different characteristics. They need to overl
|
||||
![[Pasted image 20250108151953.png]]
|
||||
|
||||
#### Project Flow
|
||||
Staged delivery!
|
||||
**Staged delivery!**
|
||||
We want to ship staged versions of the software continuously in order to deliver something that works and improve upon it (ideally with more user feedback).
|
||||
Each stage is released after detailed design, coding, debugging and thorough testing.
|
||||
##### Benefits of Staged Delivery
|
||||
@@ -307,7 +307,42 @@ Each stage is released after detailed design, coding, debugging and thorough tes
|
||||
4. Status-reporting overhead is reduced:
|
||||
Shipped and working software is a more accurate status report than a paper report.
|
||||
5. Makes More Options Available: you have releasable software at all times, meaning if you want to release something is is much less work than if you don't
|
||||
6. Reduces possibility of estimation error
|
||||
6. Reduces possibility of estimation error: each delivery is a syncronizing event because you can compare the estimates with what is delivered and improve your estimation skills.
|
||||
7. Balances Flexibility and Efficiency: It avoids a situation like [[analysis paralysis]], because you can ship a small stage efficiently.
|
||||
##### Cost of Staged Delivery
|
||||
- You need to retest software at every stage
|
||||
- You need to execute merging and other version control tasks
|
||||
- You need to manage different versions
|
||||
- You need to plan the staged deliveries
|
||||
|
||||
Some of those costs are just exposed earlier in the process and would remain hidden (but still exist) otherwise.
|
||||
|
||||
#### Project Phases
|
||||
The phases described above slightly overlap, which is inevitable and desirable.
|
||||
![[Pasted image 20250108155841.png]]
|
||||
|
||||
|
||||
##### Distribution of Effort
|
||||
![[Pasted image 20250108160138.png]]
|
||||
|
||||
![[Pasted image 20250108160308.png]]
|
||||
|
||||
Note that e.g. requirements development requires 12% of the time, but only 6% of the effort, because it is less tangible and requires deeper contemplation such that it is done at a slower pace. This also means that it doesn't produce a lot of code.
|
||||
|
||||
##### Milestones and Deliverables
|
||||
Use lists from book pages 65ff.
|
||||
|
||||
|
||||
> [!question] Survival Check - Successful Project at a Glance
|
||||
> - 👍🏼 Project uses a staged delivery approach
|
||||
> - 👍🏼 Upper management, customer or both track progress by code growth curve
|
||||
> - 👍🏼 Upper management, customer or both track progress by keeping tabs on major milestones and deliverables
|
||||
|
||||
### Hitting a moving target
|
||||
#### Change Control
|
||||
|
||||
|
||||
|
||||
---
|
||||
```query
|
||||
Software Project Survival Guide Steve McConnell
|
||||
|
||||
Reference in New Issue
Block a user