Getting into the Groove: A New Look at Managing Software Development Project Momentum

Adrian Cho
As a measure of work completed over some timeframe, velocity can help a team estimate the amount of work they may be able to complete in an upcoming iteration. Velocity may vary from one iteration to another. Constant velocity requires constant conditions and most teams don't have the luxury of operating in a bubble where team members can work without interruptions, never get sick and complete each and every task in the same way. When a team's velocity constantly fluctuates, it becomes an unpredictable entity, and unpredictability is the bane of any project manager.

A team can demonstrate velocity but it's not something that it can actually possess. Momentum, on the other hand, resides within a team. People will often remark that a team is gaining momentum or has momentum or that the team will be hard to stop with all the momentum it has. When a team has momentum, it needs less effort to maintain constant velocity and overcome all the frictional forces that work against it.

Momentum can be built and maintained by establishing rhythms that allow everyone in a team to perform cohesively. These rhythms allow team members to align their efforts to deliver great performances. The predictability of regular cycles draws people together. Think about how a church congregation reading liturgy will instinctively fall into a regular cadence when they read together.


A 10-minute jazz performance, a two-hour basketball game and a six-month software development project all have form. Many jazz tunes use an AABA, 32-bar form in which the A section is eight bars of music with each bar having four beats and the B section is another eight bars. A National Basketball Association game consists of four quarters each 12 minutes long. In software development projects that use an agile methodology, iterations (or sprints) usually last from one to four weeks. Projects typically have three to nine iterations in which they deliver features or fix bugs, followed by an endgame in which increasingly shorter iterations are used to stabilize the software.

The predictability of form helps teams set goals, time deliveries, and shape contributions. A jazz musician who knows that he has 32 bars in which to improvise a solo may define a musical riff or motif, develop it with a climax, and then wind down to a conclusion to transition to the next soloist or an ensemble section. A software developer may plan to deliver a new feature or fix a defect before the end of a specific iteration. This allows her to plan activities such as design, coding, testing, reviewing, and so forth.

When a team successfully can navigate a form, it can coordinate its efforts and increase synergy. Forms must define more than just the beginning and end of an activity. Sections, phases, and iterations are all examples of subdivisions that reduce the activity to more manageable chunks and give teams checkpoints against which to synchronize. If too few checkpoints are spread too far apart, the coherency of a team's efforts may suffer. Too many checkpoints occurring too frequently may add unnecessary overhead and reduce productivity.


Driven by the speed of business, senior leaders set the tempo for an activity. To help their teams deliver great performances even when the pace is furious, the leaders must ensure that people have freedom in the way they perform. If a classical musician must play every written note, playing the piece at a tempo that very fast may prove to be impossible or may degrade the quality of the performance. Faced with a tempo that is too fast, a jazz musician with the freedom to improvise can express himself while playing sequences of notes that are within his technical grasp. A software team may be able to deliver a feature they had estimated at six months in half that time if they have the freedom to reduce the scope of the feature or reduce its performance. They may not be able to deliver the product on all the platforms that the product supports, or the user interface and documentation may not be translated to all the languages they usually target. If the company's processes are so rigid that they can't tolerate these kinds of tradeoffs, delivering the feature by the required date simply may not be possible.


While senior leaders may set the tempo, project leaders provide the pulse. Just like the heartbeat of a person, a pulse is a constant, regular event that drives a performance and helps the contributors maintain synchronicity with respect to the tempo. A jazz bassist may play a note on every beat or perhaps only every two beats, effectively halving the pace. On the other hand, she may double-time the pace by playing two notes on every beat - an instant quickening that is sure to fire up the rest of the band and excite listeners. The leader of a software development team faced with a plethora of critical issues might increase the number of team meetings for a two-week period. At the same time, the leader might increase the number of approvals required to deliver changes to the codebase. This would slow down the rate of change to the codebase and reduce the possibility of destabilization.


A function of the pulse and therefore also a function of the tempo, the groove is the set of interlocking events that carries everyone along in synchronicity. Given a set tempo and pulse, a rhythm section can play a Swing, Latin, bluegrass or a funk groove. Each sets a very distinct tone for the rest of the band. In a software project, the regular schedules of meetings, builds, tests and other important activities, all provide a groove that the entire team can lock into. A team that delivers an annual release every June followed by a fix pack, a minor release, and then another fix pack has a Major-Fix-Minor-Fix groove. Say it to yourself a number of times rhythmically to feel the groove, with a stress on the releases in bold. You'll find similar grooves in weekly schedules. When these grooves are strong, they help everyone work together and deliver great performances.

Add Comment      Leave a comment on this blog post

Post a comment





(Maximum characters: 1200). You have 1200 characters left.




Subscribe to our Newsletters

Sign up now and get the best business technology insights direct to your inbox.