Agile development methodologies are increasingly popular. Yet while the social and process aspects of “agile” are discussed at length and practiced by an increasing number of organizations, there is much less appreciation of the fundamental importance of a modular code base1. Many organizations invest heavily in agile processes without ever considering the structure of their applications. For this reason, many agile initiatives fail to fully deliver the expected business benefits.
This oversight is especially surprising if one considers that, from the scientific perspective2, “agility” is an emergent characteristic: meaning a property that results from underlying structure of the entity. For an entity to be “agile” it must have a high degree of structural modularity3.
Hence the agility question needs be recast from “How do I build agile business systems?” to “How do I build highly modular business systems?”
This paper investigates the relationship between structural modularity and agility and explains how OSGi™, the open industry standard for Java modularity, provides the necessary foundation upon which the next generation of highly agile business system should be built.
1 The exception to the rule being Kirk Knoernschild
2 The study of Complex Adaptive System
3 Diversity & Complexity – Scott Page. ISBN-13: 978-0691137674