
I was thinking last night. I believe that a good additional technique for the agile software development can be the software critic. An external person or team that generates some constructive criticism of the development process.
On many occasions there is a flawed viewpoint among all members of the software development team. The "software critic" can bring a clear and fresh vision of the current process.
Rules of the "Game":
- The critic must understand (at least to some extent) the software product that is being developed.
- Must get involved and understand the current stage of development.
- The task of the critic should not extend to the entire development cycle, but the current stage and issue recommendations (almost) instantaly.
- The recommendations must be realistic.
- The critic must be external; an adviser outside the development team.
The "deliverables" would be:
- A series of recommendations on techology, bad programming habits, user interface, design of the database, bad habits of teamwork, and so on.
The team must accept at least 10% of them.
Criticism software can be replicated at other stages of development, or even several critics.
Regards,
Omar