What's Agile all about?
Agile methods are, first and foremost, a means of improving the quality of your engineering work products. This is achieved through the application of a number of practices meant to continuously identify quality issues and immediately address them. Secondly, Agile is about improving engineering efficiency and reducing rework. Let's talk about some basic concepts of agility.
Incremental development
This is a key aspect of Agile development. Take a big problem and develop it as a series of small increments, each of which is verified to be correct (even if incomplete).
Continuous verification
The best way to have high-quality work products is to continuously develop and verify their quality. In other books, such as Real-Time Agility or the aforementioned Agile Systems Engineering books, and here, I talk about verification taking place in three timeframes:
- Nanocycle: 30 minutes to 1 day
- Microcycle: 1–4 weeks
- Macrocycle...