Home > Articles > Software Development & Management > Agile

  • Print
  • + Share This
This chapter is from the book

Groove

The groove is a function of the pulse; therefore, it’s also a function of the tempo. Musically, a bassist can play a song with a variety of grooves, such as Latin, bluegrass, and funk, with each groove based on a two-beat pulse. Abstractly, a groove is a specific set of essential, fundamental activities that are repeated with respect to the pulse. As an example, the Rational Team Concert development team typically operates with a tempo and form that dictate four-week iterations. The pulse is weekly, with the groove as follows:

Monday

Integration build (a.m.)

Meeting of Project Management Committee (90 minutes)

Teams deliver new functionality and fixes for defects

Integration build (p.m.)

Tuesday

Integration build (a.m.)

Meeting of all team leads and interested stakeholders (60 minutes)

Teams deliver new functionality and fixes for defects

Integration build (p.m.)

Wednesday

Integration build (a.m.)

All-hands testing

Thursday

Integration build (a.m.)

Meeting of all team leads and interested stakeholders (30 minutes)

Teams deliver new functionality and fixes for defects

Integration build (p.m.)

Friday

Integration build (a.m.)

Teams deliver critical fixes if Thursday p.m. build is not usable (stable)

Optional integration build (p.m. or earlier) to incorporate critical fixes

Distribute build

In the last (fourth) week of an iteration, which is called a milestone week, the groove varies slightly, with the addition of team leader meetings on Wednesday and Friday. The additional meetings are needed because there is a specific focus on delivering new functionality for the milestone while ensuring a stable build that interested consumers can adopt and the development team can use for self-hosting. Self-hosting is synonymous with dogfooding, a term used in the software industry that comes from the phrase “eating one’s own dog food” and refers to the practice of using the products that you build. Dogfooding is especially effective if you use early builds of your own products as valuable feedback on functionality and defects can be given as new features evolve. Looking at this set of activities in our groove with a little less detail, we have this:

Week 1

Week 2

Week 3

Milestone Week

Monday

Build

Build

Build

Build

Code

Code

Code

Code

90-minute PMC meeting

90-minute PMC meeting

90-minute PMC meeting

90-minute PMC meeting

Build

Build

Build

Build

Tuesday

Build

Build

Build

Build

Code

Code

Code

Code

60-minute TL meeting

60-minute TL meeting

60-minute TL meeting

60-minute TL meeting

Build

Build

Build

Build

Wednesday

Build

Build

Build

Build

Test

Test

Test

30-minute TL meeting

Test

Thursday

Build

Build

Build

Build

Fix

Fix

Fix

Fix

30-minute TL meeting

30-minute TL meeting

30-minute TL meeting

30-minute TL meeting

Build

Build

Build

Build

Friday

Build

Build

Build

Build

Fix

Fix

Fix

30-minute TL meeting

Optional build

Optional build

Optional build

Fix

Distribute build

Distribute build

Distribute build

Optional build

Distribute build

Self-host on build

Can you see the groove in this table? Let’s try a rhythmic exercise. With your fist or open hand, lightly hit the desk or your thigh, as if you’re simulating a drumbeat. Hit the “drum” at a rate of approximately once per second, and keep it going continuously. Each beat of the “drum” represents a weekly pulse. Now with each pulse, say “BE-bop,” giving equal time to each of the two syllables and stress the first syllable as you hit the drum. Repeat that three times, and then on the fourth pulse, say “BE-bop-bop-bop,” but say that twice as fast to keep in time with the pulse. “BE” corresponds to a 60-minute meeting, and “bop” corresponds to a 30-minute meeting. So you’ve got this:

Lyrics:

BE-bop

BE-bop

BE-bop

BE-bop-bop-bop

Pulse:

Beat

Beat

Beat

Beat

Repeat the four-week sequence a number of times, and you’ll be feeling the groove of a software development team!

When you listen to music with a pulsating beat and an infectious groove, you enjoy it and feel like joining in. You may find yourself repeating elements of the groove to yourself or improvising little rhythmic or melodic elements that complement the existing parts of the groove while fitting right in alongside them. A groove invites everyone to participate and align their contributions with it. A groove is most effective when it is simple and clear to everyone.

  • + Share This
  • 🔖 Save To Your Account