ABSTRACT
Software development is not just about the cost or quality of the software, but it is also about people who work to produce software. In this research, I intend to provide empirical and reproducible experiments to explore the most suitable forms to allow programmers to develop software, either solo programming, pair programming or mob programming. My overall goal is not only to reduce the software development cost but also to improve programmers life quality. As a more concrete objective, I will propose a catalog with recommendations on how to organize the work of programmers. Towards reaching my goals, I am carrying out application examples to produce raw data. After, to analyze these data, I will use Grounded Theory techniques to look for an auditable theory that explains the findings. Simultaneously, I will model a Theory of Altruism based on the curve of Pareto and Game Theory looking for a Nash equilibrium over the organization of the work of software developers. The theory of altruism fits tapping into the developer's selfless concern for the well-being of others could be exploitative in a commercial setting considering the importance of sharing knowledge broadly in the company, learning, producing, and profiting as a team. A mathematical theory similar to the Pareto curve, however, a Modeling based on Agents, to analyze the influence of altruist behavior of the agents' in the whole context involved. The apex to be reached is based on Game Theory, inspired by The Prisoners' Dilemma, using the raw data produced, interpreted using Grounded Theory techniques, and in a triangulation research strategy regarding the theory of altruism, toward permit in the future cultures changing.
- Venugopal Balijepally, Sumera Chaudhry, and Sridhar P. Nerur. 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. http://aisel.aisnet.org/amcis2017/SystemsAnalysis/Presentations/10Google Scholar
- Kent Beck and Cynthia Andres. 2004. Extreme Programming Explained: Embrace Change (2Nd Edition). Addison-Wesley Professional. Google ScholarDigital Library
- Mariana Bravo and Alfredo Goldman. 2010. Reinforcing the Learning of Agile Practices Using Coding Dojos. Springer Berlin Heidelberg, Berlin, Heidelberg, 379--380.Google Scholar
- Alistair Cockburn and Laurie Williams. 2000. The Costs and Benefits of Pair Programming. In In eXtreme Programming and Flexible Processes in Software Engineering XP2000. Addison-Wesley, 223--247. Google ScholarDigital Library
- Alistair Cockburn and Laurie Williams. 2001. Extreme Programming Examined. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, Chapter The Costs and Benefits of Pair Programming, 223--243. http://dl.acm.org/citation.cfm?id=377517.377531 Google ScholarDigital Library
- Larry L. Constantine. 1995. Constantine on Peopleware. (1 edition ed.). Prentice Hall Ptr, Englewood Cliffs, N.J. Paperback: 219 pages.Google Scholar
- James O. Coplien and Douglas C. Schmidt. 1995. Pattern languages of program design (1 edition ed.). Addison-Wesley Professional, New York, NY, 183--237. Google ScholarDigital Library
- John W. Creswell. 2008. Research Design: Qualitative, Quantitative, and Mixed Methods Approaches (3rd edition ed.). SAGE Publication.Google Scholar
- F.S.C. da Silva, J. Agusti-Cullell, M.E. James, and F. van Harmelen. 2008. Information Flow and Knowledge Sharing. Elsevier Science. https://books.google.com.br/books?id=QsdPMk7hdNQC Google ScholarDigital Library
- Moses M. Hohman and Andrew C. Slocum. {n. d.}. Mob Programming and the Transition to XP. Technical Report.Google Scholar
- Irving L. Janis. 1971. Groupthink. Psychology Today Magazine 5, 6 (Nov 1971).Google Scholar
- Herez Moise Kattan. 2015. Programming and review simultaneous in Pairs: a pair programming extension. Master Thesis. In: Institute for Technological Research of the Sao Paulo State., 88.Google Scholar
- Herez Moise Kattan. 2016. Illuminated Arrow: a research method to software engineering based on action research, a systematic review and grounded theory. 13th International Conf. on Inf. Systems and Technology Management, p. 1971--1978.Google ScholarCross Ref
- Herez Moise Kattan. 2017. Those who fail to learn from history are doomed to repeat it. 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.Google Scholar
- Herez Moise Kattan, Frederico Oliveira, Alfredo Goldman, and Joseph William Yoder. 2018. Mob Programming: The State of the Art and Three Case Studies of Open Source Software. In Agile Methods, Viviane Almeida dos Santos, Gustavo Henrique Lima Pinto, and Adolfo Gustavo Serra Seca Neto (Eds.). Springer International Publishing, Cham, 146--160.Google Scholar
- Herez Moise Kattan, Flavio Soares, Alfredo Goldman, Eduardo Deboni, and Eduardo Guerra. 2018. Swarm or Pair? strengths and weaknesses of Pair Programming and Mob Programming. In XP '18 Companion: XP '18 Companion, May 21--25, 2018, Porto, Portugal.Google Scholar
- Herez Moise Kattan, Flavio Soares, Alfredo Goldman, Eduardo Deboni, and Eduardo Guerra. 2018. Swarm or Pair? strengths and weaknesses of Pair Programming and Mob Programming. In Poster at 19th International Conference on Agile Software Development: XP '18, May 21--25, 2018, Porto, Portugal. Google ScholarDigital Library
- Charlie McDowell, Linda Werner, Heather E. Bullock, and Julian Fernald. 2006. Pair Programming Improves Student Retention, Confidence, and Program Quality. Commun. ACM 49, 8 (Aug. 2006), 90--95. Google ScholarDigital Library
- Herez Moise Kattan and Alfredo Goldman. 2017. Software Development Practices Patterns. In Agile Processes in Software Engineering and Extreme Programming, Hubert Baumeister, Horst Lichter, and Matthias Riebisch (Eds.). Springer International Publishing, Cham, 298--303.Google Scholar
- Matthias M. Muller and Frank Padberg. 2004. An Empirical Study About the Feelgood Factor in Pair Programming. In Proceedings of the Software Metrics, 10th International Symposium (METRICS '04). IEEE Computer Society, Washington, DC, USA, 151--158. Google ScholarDigital Library
- LHF Müter. 2018. User Stories In An Integrated Development Environment. Master's thesis.Google Scholar
- F. Padberg and M. M. Muller. 2003. Analyzing the cost and benefit of pair programming. In Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717). 166--177.Google Scholar
- Frank Padberg and Matthias M. Müller. 2003. Analyzing the Cost and Benefit of Pair Programming. In Proceedings of the 9th International Symposium on Software Metrics (METRICS '03). IEEE Computer Society, Washington, DC, USA, 166-. http://dl.acm.org/citation.cfm?id=942804.943771 Google ScholarDigital Library
- Gerald Weinberg. 1971. The Psychology of Computer Programming. Wiley - Van Nostrand, New York, NY.Google Scholar
- Laurie Williams, Robert R. Kessler, Ward Cunningham, and Ron Jeffries. 2000. Strengthening the Case for Pair Programming. IEEE Softw. 17, 4 (July 2000), 19--25. Google ScholarDigital Library
- Alexander Wilson. 2015. Mob Programming - What Works, What Doesn't. Springer International Publishing, Cham, 319--325.Google Scholar
- Woody Zuill. 2014. Mob Programming: A Whole Team Approach. (Agile '14).Google Scholar
- Woody Zuill and Kevin Meadows. 2016. Mob Programming. A Whole Team Approach. LeanPub.Google Scholar
Index Terms
- Theory of altruism on software development practices patterns
Recommendations
Leveraging the Mob Mentality: An Experience Report on Mob Programming
EASE '18: Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018Mob Programming, or "mobbing", is a relatively new collaborative programming practice being experimented with in different organizational contexts. There are a number of claimed benefits to this way of working, but it is not clear if these are realized ...
Swarm or pair?: strengths and weaknesses of pair programming and mob programming
XP '18: Proceedings of the 19th International Conference on Agile Software Development: CompanionCreate a robust software with long live, cheap to maintain is related to the quality of software product. This paper is a review of the literature looking for strengths and weaknesses of two popular practices for increasing the quality of the software ...
Evaluating Collaborative Practices in Acquiring Programming Skills: Findings of a Controlled Experiment
SBES '15: Proceedings of the 2015 29th Brazilian Symposium on Software Engineering[Context] Collaborative programming is achieved when two or more programmers develop software together. Pair Programming and Coding Dojo Randori are two increasingly adopted practices for collaborative programming. While the former encourages the ...
Comments