Software Development Practices Patterns: from Pair to Mob Programming

  • Herez Moise Kattan IME-USP

Resumo


Software development is a social activity. A positive aspect of techniques of software development like Pair Programming and Mob Programming, as collaborative approaches empathize those social aspects. Some benefits are, e.g., an increase in the technical level of the team, related with the dissemination of knowledge, collective responsibility, a cutback of the number of system defects, an increase of satisfaction, of motivation, on the collaboration, in the communication, and trust among the team members. This paper reviews the literature of Pair Programming and Mob Programming cataloging the variations of pairing and mobbing for developers with different expertise levels on distinct tasks with diverse complexity levels grouped by context.

Referências

Al-Jarrah, A. and Pontelli, E. (2016). On the Effectiveness of a Collaborative Virtual Pair-Programming Environment, pages 583–595. Springer International Publishing.

Allen Parrish, Randy Smith, D. H. and Hale, J. (2004). A field study of developer pairs: productivity impacts and implications. IEEE Software, 21(5):76 – 79.

Balijepally, V., Chaudhry, S., and Nerur, S. P. (2017). Mob programming - A promising innovation in the agile toolkit. In 23rd Americas Conference on Information Systems, AMCIS 2017, Boston, MA, USA, August 10-12, 2017.

Begel, A. and Nagappan, N. (2008). Pair programming: What’s in it for me? In Pro- ceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM ’08, pages 120 – 128, New York, NY, USA. ACM.

Bravo, M. and Goldman, A. (2010). Reinforcing the Learning of Agile Practices Using Coding Dojos, pages 379–380. Springer Berlin Heidelberg, Berlin, Heidelberg.

Brooks, Jr., F. P. (1975). The mythical man-month. SIGPLAN Not., 10(6):193–.

Cockburn,A.andWilliams,L.(2000). The costs and benefits of pair programming. In IneXtreme Programming and Flexible Processes in Software Engineering XP2000, pages 223–247. Addison-Wesley.

Cockburn, A. and Williams, L. (2001). Extreme programming examined. chapter The Costs and Benefits of Pair Programming, pages 223–243. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.

Constantine,L.L.(1995). Constantineon People ware. Yourdon Press Computing Series. Prentice Hall Ptr, Englewood Cliffs, N.J., 1 edition edition. Paperback: 219 pages.

Coplien, J. O. and Harrison, N. B. (2004). Organizational Patterns of Agile Software Development. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.

diBella,E.,Fronza,I.,Phaphoom,N.,Sillitti,A.,Succi,G.,andVlasenko,J.(2013). Pair programming and software defects–a large, industrial case study. IEEE Transactions on Software Engineering, 39(7):930–953.

Du,W.,Ozeki,M.,Nomiya,H.,Murata,K.,andAraki,M.(2015). Pair programming for enhancing communication in the fundamental c language exercise. In 2015 IEEE 39th Annual Computer Software and Applications Conference, volume 3, pages 664–665.

Hohman, M. M. and Slocum, A. C. Mob Programming and the Transition to XP. Tech- nical report.

Kattan, H. M. (2015). Programming and review simultaneous in pairs: a pair program- mingextension. Master’sthesis, InstituteforTechnologicalResearchoftheSaoPaulo State, Brazil.

Kattan, H. M. (2016). Illuminated arrow: a research method to software engineering basedonactionresearch,systematicreviewandgroundedtheory. In13thInternational ConferenceonInformationSystemsandTechnologyManagement.Papersubmissionin 1 Dec 2015. Presented at Session4A. Pages: 1971-1978. Sao Paulo, SP, Brazil.

Kattan, H. M. (2017). 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, in May 22-26.

Kattan, H. M. (2018). Theory of altruism on software development practices patterns. In Proceedings of the 19th International Conference on Agile Software Development: Companion, XP ’18, pages 44:1–44:4, New York, NY, USA. ACM.

Kattan, H. M. and Goldman, A. (2017). Software development practices patterns. In Baumeister, H., Lichter, H., and Riebisch, M., editors, Agile Processes in Software Engineering and Extreme Programming, pages 298–303. Springer International Pu- blishing.

Kattan, H. M., Oliveira, F., Goldman, A., and Yoder, J. W. (2018a). Mob programming: The state of the art and three case studies of open source software. In Santos, V. A. d., Pinto, G. H. L., and Serra Seca Neto, A. G., editors, Agile Methods, pages 146–160, Cham. Springer International Publishing.

Kattan, H. M., Soares, F., Goldman, A., Deboni, E., and Guerra, E. (2018b). Swarm or pair? Strength sand weaknesses of pair programming and mob programming). Poster- DOI: 10.13140/RG.2.2.18105.06249, XP’18, Porto, Portugal. May 21-25.

Kattan, H. M., Soares, F., Goldman, A., Deboni, E., and Guerra, E. (2018c). Swarm or pair?: Strengths and weaknesses of pair programming and mob programming. In Proceedings of the 19th International Conference on Agile Software Development: Companion, XP ’18, pages 43:1–43:4, New York, NY, USA. ACM.

Lilienthal,C.(2017). From Pair Programming to Mob Programming to Mob Architecting, pages 3–12. Springer International Publishing, Cham.

Nosek,J.T.(1998). The case for collaborative programming. Commun.ACM,41(3):105– 108.

Pithon, A. J. C. (2004). Projeto organizacional para a engenharia concorrente no am- bito das empresas virtuais. Doctoral thesis, Escola de Engenharia da Universidade do Minho Departamento de Produc¸˜ao e Sistemas, Portugal.

Rajendran Swamidurai, B. D. and Kannan, U. (2014). Investigating the impact of peer code review and pair programming on test-driven development. In IEEE SOUTHE- ASTCON 2014, SOUTHEASTCON ’14, Conference Location: Lexington, KY, USA. IEEE.

Weinberg,G.(1971). The Psychology of Computer Programming. Wiley-VanNostrand, New York, NY

Williams, L. and Kessler, R. (2000). The effects of ”pair-pressure”and ”pair-learning”on software engineering education. In Proceedings of the 13th Conference on Software EngineeringEducation&Training,CSEET’00,pages59–65,Washington,DC,USA. IEEE Computer Society.

Williams, L. and Kessler, R. (2003). Pair programming illuminated. Pearson Education, Boston, MA.

Williams, L., Kessler, R. R., Cunningham, W., and Jeffries, R. (2000). Strengthening the case for pair programming. IEEE Softw., 17(4):19–25.

Wilson, A. (2015). Mob Programming - What Works, What Doesn’t, pages 319–325. Springer International Publishing, Cham.

Zuill, W. (2014). Mob programming: A whole team approach. In Experience report, Agile ’14.

Zuill, W. and Meadows, K. (2016). Mob Programming. A Whole Team Approach. Lean- Pub, this book is 95% complete - last updated on 2016-10-29 edition.
Publicado
22/10/2019
KATTAN, Herez Moise. Software Development Practices Patterns: from Pair to Mob Programming. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 3. , 2019, Rio do Sul. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 147-156.