Putting the product at the center of our process is a mistake.
Software development is about people, and only incidently about computers.
What is the stage model
Think of software development like putting on a performance with a set of actors.
- The final product is an experience.
- When you change actors, the experience changes.
- More actors on a stage doesn’t mean the experience goes any faster.
- Actors don’t rehearse as a group all the time.
- Actos need their own personal time to learn their lines, master their craft, etc.
Four questions it tries to answer
Stage Model of Software Development tries to answer 4 questions related to software development:
1) Why is turnover so expensive?
2) Why can’t we treat developers as interchangeable resources?
3) Why is developer happiness so important?
4) Why does the quality of the output reflect so directly the quality of the team’s communication?
How it answers these questions
1) Hiring - actors need to trust their co-workers enough to be able to try out ideas, even if they might be bad. Hiring in this model means finding people you can trust to perform their roles, and letting them work out the details with their peers.
2) Turnover - because this team model is built on collaboration, you should find that everyone knows the roles of their co-workers, and has the flexibility to re-negotiate shared ideas and rules when someone is replaced.
3) Growth - a director cannot make twice as much show with twice as many actors. They could produce two diffent shows at the same time though. Rather than adding people to go faster on existing work, create new teams to build complimentary products.
4) Productivity - doesn’t apply. The endgame is not a product, but an experience. You can’t quanitfy individual impact.