https://blog.ubiquity.acm.org/why-cant-programmers-be-more-like-ants-or-a-lesson-in-stigmergy/ BLOG@UBIQUITY BLOG@UBIQUITY Search Primary Menu Skip to content * Home * Overview * Blog@Ubiquity * Symposia * Innovators * Communication * Make a Pitch * Past Issues + Interviews + Commentaries Search for: [ ] [Search] [Stigmergy-672x372] Software, Technology Why Can't Programmers Be More Like Ants? Or a Lesson in Stigmergy August 4, 2015 Ted Lewis 6 Comments In the good old days before the Internet vanquished time and distance, software developer teams were autocratic organizations as shown in Figure 1a. Face-to-face teams developed in a top-down linear fashion under the auspices of a chief programmer. This required central planning and control, and strict adherence to sequential "waterfall" methods. The time and effort to develop a program of m lines of code grew exponentially, m^t, largely because of this organizational structure. The resulting program structure mirrored the top-down structure of the organization according to "Conway's Law"--that the structure of the system mirrors the structure of the organization that designed it [1 , 2]. For the most part, software systems mimicked the structure in Figure 1a. Figure 1. (a) Before the Internet, program structure mirrored organizational structure as a top-down autocratic team. (b) After the Internet, program structure mirrors distributed network-like organizational structure.Figure 1. (a) Before the Internet, program structure mirrored organizational structure as a top-down autocratic team. (b) After the Internet, program structure mirrors distributed network-like organizational structure. But then something unusual happened. Software structures underwent a radical change as their development teams became distributed across time and space, as shown in Figure 1b. Instead of a centrally planned, top-down, linear structure, code structure became network-like. Shortage of programmers, lower labor costs in emerging countries, and lifestyle preferences of the extreme programmer all contributed to this tectonic shift. As a consequence of socio-economic pressures and the Internet, a different kind of development process emerged. And in keeping with Conway's Law, the structure of code followed suit. The code base has become the central actor in both organizational and program structure. Instead of a top-down, hierachical structure, code now mirrors an organizational structure whereby the code base itself is central, and programmers (actors) are distributed. But, the distributed team of actors made additions, deletions, and modifications based on a set of distributed rules instead of a centrally planned schedule of behaviors. The resulting distributed network-like organizational structure and its corresponding program structure have more in common with ants than humans. Like ants, bees, and termites, software development has become stigmergic [3]. The emergence of stigmergy among programming teams has gone largely unnoticed. But once we get it, software development teams can improve quality and lower costs even more by duplicating ants, bees, and other insects that have perfected stigmery over the past million years. Here is where stigmergy fits in the new organizational structure of Figure 1b, which dictates the organization of both code and people. Stigmergy The French entomologist Pierre-Paul Grasse described a mechanism of insect coordination he called "stigmergy"--work performed by an actor stimulates subsequent work by the same or other actors [4 , 5]. That is, the state of a building, code base, highway, or other physical construction determines what needs to be done next without central planning or autocratic rule. The actors--insects or programmers--know what to do next, based on what has already been done. This intuitive urge to extend the work of others becomes the organizing principle of modern software development. Stigmergy ensures tasks are executed in the right order, without any need for central planning, control, or direct interaction between the actors performing the work. Stigmergy solves the coordination paradox problem of how insects of very limited intelligence, without apparent communication, manage to collaboratively tackle complex projects, such as building a nest or writing a program. For example, ants find the shortest route to food in optimal time, and simple-minded termites build hives without central control mechanisms or intelligence oversight. Programmers know what to do by looking at the code base and email messages from fellow programmers. A chief programmer is not needed to dictate the next state of the code base Grasse coined the word stigmergy from the Greek word, stigma, which means "mark or puncture" and ergon, which means "work, action, or the product of work." According to Gassee, stigmergy is "the stimulation of workers by the very performances they have achieved." Modern programmers build software by stimulating each other to add, modify, or delete code segments based on the current state of "work, action, or the product of work." That is, they modify code based on the state of the code base [6]. Tesseract is a tool for facilitating stigmergic code development in a distributed team organized according to Figure 1b [7]. The organizational structure of Figure 1b is completely compatible with stigmergic software development. At its core is the code base--the object to be constructed--and the distributed, loosely managed programmers spread throughout space and time, but coordinated by a combination of stigmergic intellect and markers embedded with the code base--markers may be as simple as email or comments, or as sophisticated as code reviews. Ants use a special type of chemical marker--pheromones--to highlight the results of their activity. This type of indirect stimulation, not by the work itself but by special markers, is called "marker-based stigmergy." Similarly, distributed programmer teams involved in cooperative code development across the Internet lay down analogous pheromones for their unseen and virtual collaborators when they augment code development by email interaction, comments, phone calls, documentation, and webcast meetings [8]. In fact, the stronger the marker system, the better the resulting code [9]. The essence of modern software development is stigmergic intellect and markers embedded within the code base. Markers make stigmergy more efficient, by more reliably focusing a programmer's attention on the most relevant aspects of the work that needs to be done. However, it incurs a cost because programmers must perform the task of manufacturing markers in addition to the work itself. But, in the Internet age of global software development, this cost is more than compensated for by speed, agility, and lower costs. If we want to advance the art and science of software development, we should direct our attention to the insect world of stigmergy. This means fully comprehending the value of decentralized collaboration and pheromones or markets embedded in the code, itself. If we practice what ants and termites already know, we can build systems that any individual ant, termite, or human cannot fully comprehend. This is the true meaning of collaboration. References [1] M. Conway, "How Do Committees Invent?" Datamation, vol. 14, no. 4, 1968, pp. 28-31. [2] J.D. Herbsleb, and R.E. Grinter, "Architectures, Coordination, and Distance: Conway's Law and Beyond," IEEE Software, vol. 16, no. 5, 1999, pp. 63-70. [3] Francesco Bolici, James Howison, and Kevin Crowston, Stigmergic coordination in FLOSS development teams: Integrating explicit and implicit mechanisms. bolici@unicas.it. OrgLab: Department Economics and Law, UniCLAM, Italy. [4] Grasse, P. P. (1959). La reconstruction du nid et les coordinations interindividuelles chez Bellicositermes natalensis et Cubitermes sp. La theorie de la stigmergie: Essai d'interpretation du comportement des termites constructeurs. Insectes Sociaux, 6(1), 41-80. [5] Heylighen, F. Stigmergy as a Universal Coordination Mechanism II: Varieties and Evolution. Evolution, Complexity and Cognition Group, Vrije Universiteit, Brussels. [6] Dabbish, L., Stuart, C., Tsay, J. and Herbsleb, J. . Social Coding in GitHub: Transparency and Collaboration in an Open Software Repository. In Proceedings, Computer-Supported Cooperative Work, Seattle, WA, 2012, 1277-1286. [7] Sarma, A., Maccherone, L., Wagstrom, P., and Herbsleb, J. Tesseract: Interactive Visual Exploration of Socio-Technical Relationships in Software Development. In Proceedings, International Conference on Software Engineering. Vancouver, Canada, May 16-24, 2009, 23-33. [8] Kwan, I., Cataldo, M., and Damian, D. Conway's Law Revisited: The Evidence for a Task-Based Perspective. IEEE Software 29, 1 (2012), 90-93. doi:10.1109/MS.2012.3 [9] Cataldo, M., and Herbsleb, J. D. Coordination Breakdowns and Their Impact on Development Productivity and Software Failures. IEEE Transactions on Software Engineering 39, 3 (2013), 343-360. [pixel]+93 [pixel]-1941 Share this: * Click to share on Twitter (Opens in new window) * Click to share on LinkedIn (Opens in new window) * Click to share on Facebook (Opens in new window) * Click to email a link to a friend (Opens in new window) * More * * Click to share on Reddit (Opens in new window) * Click to share on Tumblr (Opens in new window) * Click to share on Pinterest (Opens in new window) * Click to share on Pocket (Opens in new window) * organizationsprogrammersstigmergy Post navigation Previous PostWhy We Don't Know Know-HowNext PostThe Future of Tech is Regulation Search Search for: [ ] [Search] Subscribe to Blog via Email Enter your email address to subscribe to this blog and receive notifications of new posts by email. Email Address [ ] Subscribe Join 93 other subscribers Pages * ABOUT * Communication * GUIDELINES * Log In * MEET THE BLOGGERS * Member Directory * My Account * My Profile * Reset Password * Sign Up RSS feed RSS - Posts Recent Posts * Eyeglasses: Extraordinary Ordinary Things January 8, 2025 * Trousers: Extraordinary Ordinary Things May 29, 2024 * Telephone: Extraordinary ordinary things April 22, 2024 Most Liked Posts * Why Physical Cyber Security is Broken (217) * Government Surveillance Will Fragment the Internet (205) * The Facebook Method of Dealing With Complexity (197) * Will the Flying Car Make a Comeback? (143) * Net Neutrality and the Regulated Internet (130) Archives * January 2025 * May 2024 * April 2024 * November 2023 * August 2023 * July 2023 * May 2023 * March 2023 * February 2023 * January 2023 * December 2022 * November 2022 * September 2022 * July 2022 * June 2022 * May 2022 * April 2022 * March 2022 * February 2022 * November 2021 * October 2021 * September 2021 * August 2021 * June 2021 * April 2021 * February 2021 * December 2020 * October 2020 * September 2020 * August 2020 * July 2020 * June 2020 * May 2020 * April 2020 * February 2020 * December 2019 * November 2019 * October 2019 * September 2019 * August 2019 * July 2019 * May 2019 * April 2019 * March 2019 * February 2019 * January 2019 * December 2018 * June 2017 * May 2017 * April 2017 * January 2017 * December 2016 * November 2016 * September 2016 * August 2016 * July 2016 * April 2016 * March 2016 * February 2016 * January 2016 * December 2015 * November 2015 * October 2015 * September 2015 * August 2015 * July 2015 * June 2015 * May 2015 * April 2015 * March 2015 * June 2012 * May 2012 * April 2012 * November 2011 * October 2011 * January 2011 * December 2010 * October 2010 * September 2010 * December 2009 Follow me on Twitter My Tweets Contact Us If you would like to recommend a blogger or interested in submitting for the BLOG@UBIQUITY, please contact us at blog@ubiquity.acm.org. Proudly powered by WordPress