Rhythm is the recurring, predictable exchange of work products within an architecture group and across their customers and suppliers.
There are three elements of rhythm: tempo, content, and quality (see Figure 4.1). As in music, architecture rhythm is not just the repetition of a beat. Effective rhythm enables teams throughout the organization to coordinate explicit and complex activities without the corresponding load of communication and coordination. If tempo, content, or quality is lacking, these benefits will not be realized, and progress will not be made.
Figure 4.1 There are three elements of rhythm: Tempo, content, and quality.
Tempo is the frequency with which the same type of handoff occurs between one group and anotherfor example, between the architecture team and product development engineers. The more predictable the timing of each handoff becomes, the easier each transition is to manage. As illustrated by Figure 4.2, there may be many different tempos. Some organizations have different intervals for major releases, minor releases, and bug fixes. DAILY BUILD AND SMOKE TEST is one example of this notion of tempo [Cabrera99]. Microsoft has popularized this practice [Cusumano95][McCarthy95][McConnell96]. Regular release schedules are another example of tempo.
Figure 4.2 There may be rhythms of many different tempos at once.
Content is the delivery of value from one group to another. An example of the delivery of content is when a group develops a new or modified feature that another group uses to fill a need. Moving completed builds from development to testing is another example of the delivery of content. Content requires that the receiving group derives value from the delivery. For example, it is not enough to maintain a beat of daily builds if the builds are not used. Figure 4.3 illustrates an organization that maintains a regular tempo without delivering enough content with each beat. In this situation, stakeholders tune out the rhythm because so little progress is made with each beat. Iterative development, when working effectively, exemplifies content delivery as illustrated in Figure 4.4. Each iteration builds on the previous cycle. Figure 4.5 describes the situation in which value is added from each handoff, but because there is no regular tempo, the timing of these handoffs is irregular. In this situation, rhythm is lacking because participants cannot anticipate when handoffs are going to occur.
Figure 4.3 Regular tempo with little content.
Figure 4.4 The tempo of effective iterative development.
Figure 4.5 Content without a regular tempo.
Quality means that processes are followed to ensure that the architecture is free of deficiencies.1 Organizations sometimes try to sustain their tempo by compromising on quality, for example, by skimping on testing, or by redefining what is required by a handoff. This situation is illustrated in Figure 4.6. Organizations may be able to accelerate their tempo by eliminating steps that do not add value, but if essential processes are truncated, rhythm will break down.
Figure 4.6 Incomplete rhythm: Truncated process to maintain a tempo
Consider the following example of the deterioration of quality. A development group was trying to achieve a goal of reaching an established milestone every three months. It became clear that the group was not going to reach a particular milestone, so they redefined the criteria for passing a milestone to maintain their schedule. They reclassified the severity of a number of outstanding defects. In this case, the process was abbreviated and the product was able to pass the milestone with lower quality. Additional effort was needed to improve the quality before the product reached the next milestone. Even though beat was maintained for the initial milestone, it just postponed the breakdown until a later milestone.