Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Herez.com.br
April 09, 2023
1.6k

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

This report describes common practices that can serve as standards in the Mob Programming sessions. We reviewed the most relevant Mob Programming literature and carried out experiments with teams practicing this technique

Herez.com.br

April 09, 2023
Tweet

Transcript

  1. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Mob Programming: the State
    of the Art and 3 Case Studies
    of Open Source Software
    Authors:
    Herez Moise Kattan (herez at ime dot usp dot br)
    Frederico Oliveira (f.oliveira at samsung dot com)
    Alfredo Goldman (gold at ime dot usp dot br)
    Joseph William Yoder (joe at joeyoder dot com)
    Presented by: Herez Moise Kattan
    8th Brazilian Workshop on Agile Methods (WBMA’2017)

    View full-size slide

  2. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Agenda
    1 Introduction
    2 Research Method
    3 State of the Art
    4 Questionnaire
    5 Mezuro
    6 GeoXPerience
    7 The Game of Life
    8 Results
    9 References

    View full-size slide

  3. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    A whole team technique
    Includes programmers and others such as product owners
    or testers working together in the same space and time
    discussing solutions and writing code in fast succession on
    a shared screen and keyboard
    This report describes common practices that can serve
    as standards in the Mob Programming sessions. We re-
    viewed the most relevant Mob Programming literature
    and carried out experiments with teams practicing this
    technique

    View full-size slide

  4. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Literature Review: Looking for common aspects and practices in-
    volved to guide the Case Studies
    Participant Selection: participants who had enrollment at LabXP
    and voluntarily accepted collaborates with this research
    Data Collection: Each one of 14 members of the 3 teams answered
    all the questions) response rate for the survey is 100% (14/14)
    Open Science: All data are open source. Consent term, photos, 2
    questionnaires and all answers of the fourteen members of the three
    teams are available online at the CCSL Wiki of the IME-USP [31].
    All projects are open source! :)

    View full-size slide

  5. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Survey Design: Individual questions and a Team Questionnaire
    Individual questions:
    How many years have you programmed? (educational and pro-
    fessional experience in any language)
    How do you evaluate your current level of knowledge in the
    programming language used currently?
    Do you like Mob Programming? You had practical experience
    with Mob Programming before this course?
    How would you compare Mob Programming to other practices
    you have tried or know about such as XP, Scrum, etc?

    View full-size slide

  6. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Team Questionnaire: About the experience with Mob Program-
    ming at LAB XP, was answered by each team and had questions
    pertinent to:
    The setup of the room and also a description of the Mob setting
    Driver rotation
    Retrospectives and mini-retrospectives
    Automation of the job
    Avoiding idle time
    Learning as a team
    Groupthink
    Collective intelligence
    Learning and mentoring
    Continuous Improvement

    View full-size slide

  7. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Zuill, W., Meadows, K.: Mob Programming - A Whole Team Ap-
    proach (2016)

    View full-size slide

  8. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Zuill, W., Meadows, K.: Mob Programming - A Whole Team Ap-
    proach (2016)

    View full-size slide

  9. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Zuill, W., Meadows, K.: Mob Programming - A Whole Team Ap-
    proach (2016)

    View full-size slide

  10. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    ccsl.ime.usp.br/wiki/SwarmQuestionnaire
    A questionnaire, about the experience with Mob Programming at
    LAB XP, was answered by three teams. Consent term, photos and
    answers of the 14 members are available online at the CCSL Wiki

    View full-size slide

  11. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    mezuro.org
    Mezuro is a free/libre web platform for collaborative source
    code evaluation
    Able to evaluate source code with the most popular SCMs (like
    Git and SVN), just by providing its URL
    For now, can evaluate C, C++, Java, Ruby, Python and PHP
    source codes, but the mezuro team are looking forward to sup-
    porting more languages in the future
    Mezuro is continuously under development [23] [24] [25] [26]

    View full-size slide

  12. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  13. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  14. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  15. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  16. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    gitlab.com/geoxperience
    A georeferencing platform for Casa dos Meninos, a social project
    The proposal of the system is through a CSV file to upload
    latitude and longitude data on a map to show the coordinates
    of the Basic Health Units of the City of S˜
    ao Paulo, as well as
    any other point on the map of interest of the user
    A web georeferencing system that allows you to create personal
    maps [29] [30]

    View full-size slide

  17. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  18. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  19. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    github.com/Automata-Life
    Automata.Life is a multiplayer web based game based on John-
    Conway’s Game of Life where several players need to fight for
    the survival of their single-celled species in an arena like Agar.io
    You can ”program” your cells to better try to dominate your
    space, or yield under the forces of Darwinism
    A game from programmers for programmers [27] [28]

    View full-size slide

  20. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  21. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  22. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  23. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide

  24. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    The bond formed among the members were the strengths of
    the three teams experience
    Two members were heavily annoyed by the noise, but two mem-
    bers of the same team not bothered. The noise was not a
    problem to 10 attendees remaining
    Automata.Life team worked with 2 projectors and more com-
    puters available to use if needed. GeoXperience team worked
    with 1 projector and two notebooks available to use. Mezuro
    team worked with one big screen television and more computers
    and notebooks available to use

    View full-size slide

  25. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Automata.Live team used the laser pointer during some work
    sessions to the navigators communicate with the driver. GeoX-
    Perience team said that the laser pointer is a good idea. Mezuro
    team members usually stand up to show something with the
    hand on television to the entire team
    Automata.Live team automated the build, test and deploy pro-
    cesses and the timer. They did it because those tools helped
    us performing daily tasks
    The Mezuro team tried to reduce wasted time by making use
    of our text editor’s automated functionalities (Vim of Linux).
    Furthermore, they frequently used shell commands to speed up
    some processes
    GeoXPerience team automation the tests and CI and it was
    useful, they said that would’ve been more productive if they
    had automated more stuff

    View full-size slide

  26. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    They did a mid-project retrospective, and a mini-retrospective
    during a call with Joe Yoder, acted as one coach advising the
    3 teams
    Team members usually left to and came back from breaks in-
    dividually, but they had some team breaks. They had sponta-
    neous breaks instead of scheduled ones. They liked the freedom
    of being able to choose breaks individually and knowing that
    the team continues to make progress even when individuals left
    for a break

    View full-size slide

  27. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    All teams developed their own timer tool
    It received an integer as argument and warned them when the
    time was up
    They enjoyed because it helped us organized the rotation
    Automata.Live and Mezuro teams were able to use the Strong
    Style at some points
    Automata.Live had difficulty enforcing it all the time because
    found it difficult to force the rotation when the current driver
    had an idea to solve the problem, but they were able to do that
    sometimes
    Mezuro team used more the Strong Style with a timer to Driver
    rotation

    View full-size slide

  28. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Others Computers were useful for parallel searches and when a
    task with the main computer implied a large idle time or the
    team had to learn new technologies
    Since our entire team was not familiar with all the technologies
    that we used in the project those moments of frustration hap-
    pened because no one knew what to do. When that happened
    we switched to individual searches
    The capacity to distribute the knowledge through a streamlined
    method and working with friends, we observed that increased
    the learning

    View full-size slide

  29. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    The 14 members of the 3 teams approved and enjoyed
    The approval of Mob Programming was unanimous at every
    retrospective

    View full-size slide

  30. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Zuill, W.: Mob Programming: A Whole Team Ap-
    proach. Experience report, Agile (2014) https://www.
    agilealliance.org/resources/experience-reports/
    mob-programming-whole-team-approach-woody-zuill/
    Zuill, W., Meadows, K.: Mob Programming - A Whole Team
    Approach. This book is 95% complete - LAST UPDATED ON 2016-
    10-29 (2016) http://leanpub.com/mobprogramming
    Beck K.; Andres, C.: Extreme Programming Explained: Embrace
    Change. 2nd Edition, Boston-USA. Addison-Wesley, 75p. (2004)
    Rooksby, J., Hunt, J., Wang, X.: The theory and practice of
    randori coding dojos. In: Agile Processes in Software Engineering
    and Extreme Programming, vol. 179, pages 251-259. (2014)
    Wilson, A.: Mob Programming – What’s works, what’s doesn’t.
    In: Agile Processes in Software Engineering and Extreme Program-
    ming: proceedings of the 16th International Conference on Agile

    View full-size slide

  31. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Software Development, XP 2015, pages: 319-325. held in Helsinki,
    Finland, in 25-29 May (2015)
    Kattan, H. M.: Illuminated Arrow: a research method to soft-
    ware engineering based on action research, systematic review and
    grounded theory. In: CONTECSI 2016, 13th International Confer-
    ence on Information Systems and Technology Management: pages
    1971-1978. DOI: 10.5748/9788599693124-13CONTECSI/PS-3926
    - Paper submission: 1 Dec 2015 - Presented at Session4A – AUD
    Systems Auditing and IT Governance 02/Jun/16-15H30 (2016)
    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 in the 18th International Conference
    on Agile Software Development, XP 2017. held in Cologne, Germany,
    in May 22-26 (2017)
    Budgen, D., Charters, S.; Turner, M.; Brereton, P.; Kitchen-
    ham, B.; Linkman, S: Investigating the Applicability of the Evidence-

    View full-size slide

  32. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Based Paradigm to Software Engineering, In: Proceedings of WISER
    Workshop, ICSE 2006, ACM Press, 7-13, May (2006).
    Kitchenham, B.; Charters, S.; Budgen, D; Brereton, P; Turner;
    M; Linkman, S; JØrgensen, M.; Mendes, E. Guidelines for perform-
    ing Systematic Literature Reviews in Software Engineering. Version
    2.3. EBSE Technical Report EBSE-2007-01 Software Engineering
    Group School of Computer Science and Mathematics Keele Uni-
    versity Keele, Staffs ST5 5BG, UK and Department of Computer
    Science University of Durham Durham, UK 9 July, (2007)
    Allan, G. The Legitimacy of Grounded Theory Proc. Fifth Euro-
    pean Conf. Business Research Methods, pp. 1-8, (2006)
    Brooks, F. The Mythical Man-Month: Essays on Software En-
    gineering, 20th Anniversary Edition. Reading, MA: Addison-Wesley,
    322 pages, (1995)
    Sch¨
    opfel, J. Towards a Prague Definition of Grey Literature. In:
    Proceedings of the Twelfth International Conference on Grey Liter-

    View full-size slide

  33. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    ature: Transparency in Grey Literature. Grey Tech Approaches to
    High Tech Issues, Prague, December 6-7 (2010)
    Falco, L.: Llewellyn’s strong-style pairing. (2014)
    http://llewellynfalco.blogspot.com.br/2014/06/
    llewellyns-strong-style-pairing.html
    Kerney, J.: Mob Programming – My first team. Experience re-
    port, via Initiative of Agile Alliance (2016)
    Boekhout, K.: Mob Programming: Find Fun Faster. In: Agile
    Processes in Software Engineering and Extreme Programming: pro-
    ceedings of the 17th International Conference on Agile Software De-
    velopment, XP 2016, Publisher: Springer International Publishing
    Switzerland. vol. 251. Pages 185-192. Edinburgh, UK, May 24-27
    (2016)
    Griffith, A.: Mob Programming for the Introverted. Experience
    report, Agile (2016)

    View full-size slide

  34. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Arsenovski, D.: Swarm: Beyond pair, beyond Scrum. Experience
    report, Agile (2016)
    Hohman, M.; Slocum, A.: Mob Programming and the Transition
    to XP. (2001)
    Kattan, H. M.: Programming and review simultaneous in Pairs:
    a pair programming extension. Master dissertation. In: Institute
    for Technological Research of the S˜
    ao Paulo State. (2015). http:
    //aleph.ipt.br/F Or http://ipt.br, click on: Online Consul-
    tations, then click on: Library. DOI: 10.13140/RG.2.2.15831.68004
    Lilienthal C.: From Pair Programming to Mob Programming to
    Mob Architecting. In: Complexity and Challenges of Software Engi-
    neering in Emerging Technologies, SWQD 2017. LNBIP, 269, pages
    3-12, (2017)
    Balijepally V. , Chaudhry S., Nerur S.: Mob Programming – A
    Promising Innovation in the Agile Toolkit. In: Twenty-third Ameri-
    cas Conference on Information Systems, Boston, (2017)

    View full-size slide

  35. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Zuill, W.: A Day of Mob Programming. (2012) https://www.
    youtube.com/watch?v=p_pvslS4gEI
    Mezuro Wiki: http://ccsl.ime.usp.br/wiki/Mezuro
    Mezuro: http://Mezuro.org
    Mezuro GitLab: http://gitlab.com/mezuro
    Mezuro GitHub: http://github.com/mezuro
    The Game of Life Wiki: http://ccsl.ime.usp.br/wiki/Automata.Life
    The Game of Life GitHub: http://github.com/
    Automata-Life
    GeoXP: http://ccsl.ime.usp.br/wiki/Sistema_online_
    de_georreferenciamento
    GeoXP GitLab: http://gitlab.com/geoxperience

    View full-size slide

  36. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References
    Questionnaire: http://ccsl.ime.usp.br/wiki/
    SwarmQuestionnaire
    GDS post: http://gds.blog.gov.uk/2016/09/01/
    using-mob-programming-to-solve-a-problem/
    Western Electric Company Hawthorne Studies Collection, Baker
    Library, Harvard Business School. http://oasis.lib.harvard.
    edu/oasis/deliver/~bak00047
    Santos, V., Goldman, A., Souza, C.: Fostering effective inter-
    team knowledge sharing in agile software development. In: Empir
    Software Eng (2015). Pages 1006-1051.
    Weinberg, G.: The Psychology of Computer Programming. New
    York: Van Nostrand. (1971)

    View full-size slide

  37. Introduction Research Method State of the Art Questionnaire Mezuro GeoXPerience The Game of Life Results References

    View full-size slide