Back in 2001, a group of software developers gathered together to talk about a better way to build software and satisfy end users. They concluded that a) individuals and interactions should be prioritized over processes and tools, b) working software is more important than comprehensive documentation, c) customer collaboration is more valuable than contract negotiation, and d) we should value our ability to respond to change over strictly following a plan.
Out of this grew a world-changing movement that has completely changed software development. End users gather, write, and prioritize “stories,” such as “as a call taker I want to be able to quickly find appropriate support documents while on the phone with a citizen.” Agile teams turn stories into tasks, agree to how many can be reasonably done in a two-week period (called a “sprint”), and frequently gather user feedback as they work. The teams are cross-functional and self-managed, and only the features agreed upon are built. The result: every two weeks users see what they asked for and let us know if we got it right.