Slide 1

Slide 1 text

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)

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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! :)

Slide 5

Slide 5 text

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?

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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)

Slide 8

Slide 8 text

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)

Slide 9

Slide 9 text

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)

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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]

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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]

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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]

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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-

Slide 32

Slide 32 text

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-

Slide 33

Slide 33 text

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)

Slide 34

Slide 34 text

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)

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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)

Slide 37

Slide 37 text

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