Advertisement

Mob Programming: The State of the Art and Three Case Studies of Open Source Software

  • Herez Moise KattanEmail author
  • Frederico Oliveira
  • Alfredo Goldman
  • Joseph William Yoder
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 802)

Abstract

Mob programming is a whole team technique that includes programmers and others such as product owners or testers working together in the same space and time, discussing solutions and writing code in a fast succession on a shared screen and keyboard. This paper includes a literature review and case studies of Mob Programming in software development of three open source software in an academic setting. Aspects and practices involved in the Mob Programming are analyzed. The identification of common practices can serve as standards in the Mob Programming sessions. We carried out experiments with teams practicing this technique. The bond formed among the members were the strengths of the three teams experience. The noise from work in an open room irritated two members, but two members of the same team did not get bothered and was not a problem for the remaining ten other participants. The approval of Mob Programming was unanimous in each retrospective. Providing the infrastructure to use more computers could be useful for parallel searches when a task on the Mob Programming computer takes too long, or when the team needs learn new technologies. We conclude that improved the team learning.

Keywords

Collaboration in software development Agile practice Programming teams Programming technique Software development approach Mob programming 

Notes

Acknowledgments

Authors would like to thank the CAPES and the IME-USP.

References

  1. 1.
    Zuill, W.: Mob Programming: A Whole Team Approach. Experience report, Agile (2014). https://www.agilealliance.org/resources/experience-reports/mob-programming-whole-team-approach-woody-zuill/
  2. 2.
    Zuill, W., Meadows, K.: Mob Programming - A Whole Team Approach. This book is 95% complete (2016). http://leanpub.com/mobprogramming. Last Updated on 29 Oct 2016
  3. 3.
    Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley, Boston (2004). 75 pGoogle Scholar
  4. 4.
    Rooksby, J., Hunt, J., Wang, X.: The theory and practice of randori coding dojos. In: Cantone, G., Marchesi, M. (eds.) XP 2014. LNBIP, vol. 179, pp. 251–259. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-06862-6_18CrossRefGoogle Scholar
  5. 5.
    Wilson, A.: Mob programming - what works, what doesn’t. In: Lassenius, C., Dingsøyr, T., Paasivaara, M. (eds.) XP 2015. LNBIP, vol. 212, pp. 319–325. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-18612-2_33CrossRefGoogle Scholar
  6. 6.
    Kattan, H.M.: Illuminated arrow: a research method to software engineering based on action research, systematic review and grounded theory. In: CONTECSI 2016, 13th International Conference on Information Systems and Technology Management, Paper submission: 1 Dec 2015 - Presented at Session4A - AUD Systems Auditing and IT Governance 02 Jun 2016-15H30, pp. 1971–1978 (2016).  https://doi.org/10.5748/9788599693124-13CONTECSI/PS-3926
  7. 7.
    Kattan, H.M.: Those who fail to learn from history are doomed to repeat it. In: Agile Processes in Software Engineering and Extreme Programming: Poster Presented at the 18th International Conference on Agile Software Development, XP 2017, Held in Cologne, Germany, 22–26 May 2017 (2017).  https://doi.org/10.13140/RG.2.2.20864.02563
  8. 8.
    Moise Kattan, H., Goldman, A.: Software development practices patterns. In: Baumeister, H., Lichter, H., Riebisch, M. (eds.) XP 2017. LNBIP, vol. 283, pp. 298–303. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-57633-6_23CrossRefGoogle Scholar
  9. 9.
    Schöpfel, J.: Towards a prague definition of grey literature. In: Proceedings of the Twelfth International Conference on Grey Literature: Transparency in Grey Literature. Grey Tech Approaches to High Tech Issues, Prague, December 6–7 (2010)Google Scholar
  10. 10.
  11. 11.
    Kerney, J.: Mob Programming - My first team. Experience report, via Initiative of Agile Alliance (2016)Google Scholar
  12. 12.
    Boekhout, K.: Mob programming: find fun faster. In: Sharp, H., Hall, T. (eds.) XP 2016. LNBIP, vol. 251, pp. 185–192. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-33515-5_15CrossRefGoogle Scholar
  13. 13.
    Griffith, A.: Mob Programming for the Introverted. Experience report, Agile (2016)Google Scholar
  14. 14.
    Arsenovski, D.: Swarm: beyond pair, beyond Scrum. Experience report, Agile (2016)Google Scholar
  15. 15.
    Hohman, M., Slocum, A.: Mob Programming and the Transition to XP (2001)Google Scholar
  16. 16.
    Kattan, H.M.: Programming and review simultaneous in pairs: a pair programming extension. Master dissertation, Institute for Technological Research of the Sao Paulo State (2015). http://aleph.ipt.br/F or http://ipt.br, click on: Online Consultations, then click on: Library.  https://doi.org/10.13140/RG.2.2.15831.68004
  17. 17.
    Lilienthal, C.: From pair programming to mob programming to mob architecting. In: Winkler, D., Biffl, S., Bergsmann, J. (eds.) SWQD 2017. LNBIP, vol. 269, pp. 3–12. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-49421-0_1CrossRefGoogle Scholar
  18. 18.
    Balijepally V., Chaudhry S., Nerur S.: Mob programming - a promising innovation in the agile toolkit. In: Twenty-third Americas Conference on Information Systems, Boston (2017)Google Scholar
  19. 19.
    Zuill, W.: A Day of Mob Programming (2012). https://www.youtube.com/watch?v=p_pvslS4gEI
  20. 20.
  21. 21.
  22. 22.
  23. 23.
  24. 24.
  25. 25.
    The Game of Life GitHub. http://github.com/Automata-Life
  26. 26.
  27. 27.
  28. 28.
  29. 29.
  30. 30.
    Western Electric Company Hawthorne Studies Collection, Baker Library, Harvard Business School. http://oasis.lib.harvard.edu/oasis/deliver/~bak00047
  31. 31.
    Santos, V., Goldman, A., Souza, C.: Fostering effective inter-team knowledge sharing in agile software development. Empir. Softw. Eng. 20, 1006–1051 (2015)CrossRefGoogle Scholar
  32. 32.
    Weinberg, G.: The Psychology of Computer Programming. Van Nostrand, New York (1971)Google Scholar
  33. 33.
    Falco, L.: Group Learning. Today’s exercise: Unit Testing. Session at Agile (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Herez Moise Kattan
    • 1
    Email author
  • Frederico Oliveira
    • 2
  • Alfredo Goldman
    • 1
  • Joseph William Yoder
    • 3
  1. 1.Department of Computer ScienceInstitute of Mathematics and Statistics of the University of Sao Paulo (IME-USP)Sao PauloBrazil
  2. 2.Samsung SIDI InstituteCampinasBrazil
  3. 3.The Refactory, Inc.UrbanaUSA

Personalised recommendations