I’m offering up this diagram as “the world of Agile Software Development according to Craig.” Let me know what you think.
One of the principles of Agile development is known as “Simple, Emergent Design.” And one of the ways to know if you have achieved a simple design is if the entire system can be diagrammed on a single sheet of paper — no matter how involved and feature-filled the system becomes — by applying the proper level of abstraction. (Note: It’s not unreasonable for parts of the diagram to be black boxes representing sub-systems, each of which have their own single-sheet diagram.)
A while ago, I took it as a challenge to try to describe the world of Agile development, itself, using such a single-sheet diagram. Continue reading An Agile Dependencies Chart