| In the deep dark night, lying down on Kande beach on the shores of Lake Malawi, we looked up into the cloudless sky. Countless tiny stars were blinking at us. A little tired, or perhaps just mesmerized by those distant, mysterious lights, we closed our eyes and began to hear more, the peaceful slap of water on the little beach, and the small, almost concerted sounds of the dark night, throbbing inwhat seemed like a deep, rhythmic breathing. Nature is an incomprehensible concert of rhythms. Our Earth in its solar orbit spins through space composing the rhythmof day and night, endlessly recycling its four seasons. Following natures rhythm, we wake to learn and sleep to remember, writing and rewriting our own programs in accordance with the very best universal software practice in a flawless symphony of rhythms. From heartbeats to footsteps, rhythms are a sustaining, momentum-creating vital force. In a world where complexity appears very much like chaos, we seek the confidence of being able to assign causes and identify correlations, but sometimes it is only the discovery of rhythms that allows us to see the order that sustains all.
Like any human endeavor, software development is complex and full of generalizations and correlations, but it is devoid of rules. To help us build software, we have disciplined software models and software project management methodologies. But the ferment of software development, with constantly changing teams and requirements and new tasks, means that there is no guarantee that any past successful method will succeed on the next software project. In fact, some project leaders who appear to adopt no method or methods that are scorned as ad hoc are able to get their software projects done on time. The secret of their success is the understanding of software development rhythms. |