There are numerous competing frameworks that exist in the space of “scaling Agile” – SAFe, DAD, RAD, and others. A common thread to most, if not all, of these is that they tend to take a top-down perspective by identifying particular business sub-units with their assigned goals, whether those be writing software or designing a product, and then prescribe how and when these subunits should communicate or coordinate. From a bottom-up perspective, instead, XP describes role archetypes that often naturally manifest on an individual level within software engineering teams. After observing that these competing top-down approaches to scaling agile development tend to either explicitly incorporate or implicitly assume XP practices at the individual level, we suggest that there may be some degree of design contradiction in combining a descriptivist, bottom-up perspective with a prescriptivist, top-down one. Furthermore, depending on one’s perspective, one may want to emphasize the Agile value of “people over processes” to a higher degree – and throughout an entire organization, as opposed to only within engineering teams.
We suggest that the challenge of scaling Agile is not significantly determined by anything in the field of software engineering and that it is instead related to the general problem of effective self-organization of any group of people that is sufficiently large to have nontrivial internal structure and that must effectively respond to external stimuli. Further, we suggest to turn to the millennia of history of self-organization in human society for a fundamental perspective on this challenge. Robert’s Rules of Order, Newly Revised (RONR), which was created by studying that same history, empirically describes principles for effective self-organization of a large group of people, suggesting time-tested principles and practices for the efficient and transparent operation of formal organizations. Perhaps not surprisingly, a number of Agile ceremonies and XP practices find direct analogy with those practices and structure; we begin by building on the basis of that observation. As a starting example: effective formal organizations generally have bylaws and periodic meetings at which those bylaws can be altered by some sort of majority vote, and so one could view an engineering team’s development process as its bylaws and Agile retrospectives as periodic meetings to revise those bylaws.
We define an integrated framework that reimagines and redefines existing Agile and XP principles and practices with the benefit of RONR’s perspective, replacing top-down prescriptivism with bottom-up descriptivist principles of self-organization derived from the history of human society, as described in RONR. We believe that this framework is able to provide a sort of barebones structure needed for an organization to both operate and effectively grow, while also encouraging enough autonomy to allow for organic, finer-grained self-organization; taken together, one result (among others) is efficient decision making that is concomitant with reduced communication overheads. Encouraged by both objective and subjective preliminary success smoothly increasing head count by 50%, we present our current framework and our implementation of it at IBM Watson. We discuss generalizations and possible implementations of this framework for different organizational scales and with a view of facilitating smooth organizational growth.