Design Velocity

Could this simply be the speed at which a system is designed?

After reaching the end of an 18 month development effort with 15 developers, I found myself reminiscing over the team's gradual transition from analysis/design modeling to code. Initially, the team's core focused on creating and reviewing class and object interaction models. As these settled, we coded. Thus the models were used to boot-strap individuals and small teams. This transition to code marked a maturity in the developer's understanding of the problem.

Perhaps DesignVelocity encompasses a measure of the maturity of understanding of the solution -- the software architecture -- which starts off low, picks up momentum as the solution space takes on definition, and peaks when the team is fully armed with understanding to implement. It then falls away (or changes?), as concepts, mechanisms and patterns get embedded in code.

Being able to measure this transition in both individual and collective understandings would have been a useful progress metric.

-- PaulTaylor
I have never had a project where DesignVelocity smoothly approached an asymptote. Instead, I see chaotic amounts of design over time. You'll think you have it wired, then have the insight that completely restructures the system. There is an analogous concept in biology called "punctuated evolution". Evolution is not a process of steady "progress" towards a "goal" (me). Instead, it happens in fits and spurts. -- KentBeck

View edit of August 9, 2001 or FindPage with title or text search