Velocity

A formal design step in your development process can bring about a benefit in velocity.

Velocity is important to a software development team, but perhaps not quite in the way some teams think.

We think that a constant velocity is the valuable asset. For a system that is expected to have a long life, the ability to continue to make changes to a system at a consistent pace throughout its lifetime is generally as important as - and sometimes more important than - the speed of early deliveries.

Product teams can be much more successful if the software deliveries are predictable. The unpredictability that comes from a poorly designed software system is an enemy to our ability to delight our customers.

By designing our changes before we make them, we allow for future change at a predictable pace. Since allowing for future changes is the point of agility, having a codebase that is easy to understand, navigate and extend is an important goal. A well-designed system retains these attributes as it grows.