A keystone habit is a practice that can make-or-break an organizational change. In a real archway, pictured right, if you forget to add a keystone, or if you remove the keystone, everything else comes toppling down. Culture hackers learn to recognize keystone habits and focus their energies on doing the simplest thing possible. Often this means focusing on just one change at a time. If we've taught people what to do in times of stress, the new habit is more likely to stick. For example, if our project is running behind schedule, instead of doing mandatory overtime, do thin vertical slicing! Photo Credit.
The biggest difference between plan-driven requirements and agile user stories is in the way we break up the work, as illustrated for this sample web shopping cart application, below. Plan-driven approaches divide the work by skill, for example, UX designers focus on the presentation layer, software developers focus on the application layer, architects focus on the services layer, database administrators focus on the data layer. Kick-start a project in a plan-driven fashion, and because of dependencies in the work, the only people that actually start working are business analysts, database administrators and architects (and maybe UX designers). Developers and QA staff sit waiting for the back-end systems to mature.
In contrast, agile teams break up the work by business value. As illustrated in the shopping cart example below, we could ask the whole team to focus on the Search Products part of our application. Initially teams will follow their old habits, and only the analysts & back-end folk will start working. No worries, since this is a keystone habit! Since our focus is narrow, we finish soon, and developers/QA get involved immediately. Inevitably someone discovers a design flaw--and while the system is still fresh in everyone's minds, we re-design it to fix the flaw...
(read on at