Home > Articles > Programming

Rhythm in Software Architecture: Assuring Beat, Process, and Movement

  • Print
  • + Share This
Rhythm coordinates the activities of the architecture stakeholders and team, and it is important for architecture-based development. Explore some of the pitfalls of rhythm and described solutions to some of the problems encountered by organizations seeking to establish and maintain a rhythm.
This chapter is from the book

Rhythm is one of the principal translators between dream and reality. Rhythm might be described as, to the world of sound, what light is to the world of sight.
—Edith Sitwell in Taken Care Of [Sitwell65]

Introduction: The Impact of Rhythm in Architecture

Grady Booch points out in Object Solutions that the iterative nature of object-oriented development makes rhythm a critical element for success. He writes that having a rhythm forces closure at periodic intervals, coordinates supporting activities, and helps organizations react better when problems arise [Booch96]. Rhythm is important to any development process, but especially for architecture-based development. Rhythm can battle complexity, keep competition off-balance, and maintain sanity and predictability for architecture and development teams.

The sharing of an architecture is like an improvisational jazz ensemble. Each player in an ensemble is autonomous, but each musician's performance is coordinated by cues exchanged with the other musicians as well as the tempo, key, and style of the performance. While the basic elements of the performance may be written down or planned, many elements are performed by the musicians relying on their instinct, training, and talent.

Just as a jazz combo must share a common tempo, phrasing, and progression to have a rhythm, an architecture team must share work products with predictable timing, content, and quality. Software architectures are developed and used in many different organizations. Since many of these groups are autonomous, it is not possible to fully coordinate all of them from the top down. Without rhythm, sharing an architecture can befuddle even the best-designed schemes for communicating across teams.

Rhythm provides a temporal framework that allows groups sharing an architecture to synchronize activities and expectations. With rhythm, stakeholders know when and on which activities to focus. Not only can organizations with rhythm coordinate planned activities, but they can also coordinate those tasks that do not show up on plans because they are performed by other organizations or are not visible enough to be included in the planning process. When rhythm is weak, dissonance between organizations emerges, paving the road to architecture breakdown.

  • + Share This
  • 🔖 Save To Your Account