Análise de redes sociais aplicada ao entendimento da colaboração em projetos de software

Autores

  • Fabio de Miranda Insper Institude of Education and Research
  • Marcelo Augusto Vieira Graglia Pontifical Catholic University of São Paulo, TIDD

DOI:

https://doi.org/10.23925/2179-3565.2024v15i2p152-162

Palavras-chave:

Colaboração, Análise de redes sociais, Repositórios de software, Desenvolvimento de software

Resumo

No âmbito do desenvolvimento de software, a colaboração é importante para a satisfação do trabalhador, mitigando os riscos de rotatividade e melhor design dos produtos finais.  A qualidade da colaboração em equipes pode ser avaliada indiretamente pela interdependência dos desenhos dos membros da equipe e pela extensão da autoria compartilhada dentro de um sistema. Nosso objetivo é aplicar a Análise de Redes Sociais para visualizar a colaboração em equipes de software. Este estudo está situado no âmbito de projetos de software realizados por estudantes de graduação em Ciência da Computação em um sprint de programação de 3 semanas.  Dados detalhados do processo de desenvolvimento de software foram coletados através do Github e posteriormente analisados usando uma rede social de dois modos e, posteriormente, uma rede social regular. Nossos resultados indicam que essas técnicas ajudam a iluminar certas facetas da colaboração, como membros isolados da equipe ou colaboradores que tendem a concentrar muito trabalho.

Referências

ACM. (2013). Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Association for Computing Machinery.

Andres, H. P. (2012). Technology-Mediated Collaboration, Shared Mental Model and Task Performance. Journal of Organizational and End User Computing (JOEUC), 24(1), 64–81. https://doi.org/10.4018/joeuc.2012010104

Avila, D. T., Van Petegem, W., Libotton, A. (2021). ASEST framework: A proposal for improving teamwork by making cohesive software engineering student teams. European Journal of Engineering Education, 46(5), 750–764. https://doi.org/10.1080/03043797.2020.1863339

Avila, D. T., Van Petegem, W., Snoeck, M. (2022). Improving Teamwork in Agile Software Engineering Education: The ASEST+ Framework. IEEE Transactions on Education, 65(1), 18–29. https://doi.org/10.1109/TE.2021.3084095

Bacon, D. R., Stewart, K. A., Silver, W. S. (1999). Lessons from the Best and Worst Student Team Experiences: How a Teacher can make the Difference. Journal of Management Education, 23(5), 467–488. https://doi.org/10.1177/105256299902300503

Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R. C., Mellor, S., Schwaber, K., Sutherland, J., Thomas, D. (2001). Manifesto for Agile Software Development. Em Manifesto for Agile Software Development. http://www.agilemanifesto.org/

Borgatti, S. P., Everett, M. G. (1997). Network analysis of 2-mode data. Social Networks, 19(3), 243–269. https://doi.org/10.1016/S0378-8733(96)00301-2

Brusoni, S., Prencipe, A., Pavitt, K. (2001). Knowledge Specialization, Organizational Coupling, and the Boundaries of the Firm: Why Do Firms Know More Than They Make? Administrative Science Quarterly, 46(4), Artigo 4. https://doi.org/10.2307/3094825

Campbell, D. T. (1979). Assessing the impact of planned social change. Evaluation and Program Planning, 2(1), 67–90. https://doi.org/10.1016/0149-7189(79)90048-X

Chaturvedi, K. K., Sing, V. B., Singh, P. (2013). Tools in Mining Software Repositories. 2013 13th International Conference on Computational Science and Its Applications, 89–98. https://doi.org/10.1109/ICCSA.2013.22

Costa, G. C. B., Santana, F., Magdaleno, A. M., Werner, C. M. L. (2014). Monitoring Collaboration in Software Processes Using Social Networks. Em N. Baloian, F. Burstein, H. Ogata, F. Santoro, G. Zurita (Orgs.), Collaboration and Technology (p. 89–96). Springer International Publishing. https://doi.org/10.1007/978-3-319-10166-8_8

Gilbert, E., Karahalios, K. (2009). Using Social Visualization to Motivate Social Production. IEEE Transactions on Multimedia, 11(3), Artigo 3. https://doi.org/10.1109/TMM.2009.2012916

Gousios, G., Kalliamvakou, E., Spinellis, D. (2008). Measuring developer contribution from software repository data. Proceedings of the 2008 International Working Conference on Mining Software Repositories, 129–132. https://doi.org/10.1145/1370750.1370781

Hira, A., Boehm, B. (2016). Function Point Analysis for Software Maintenance. Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, 1–6. https://doi.org/10.1145/2961111.2962613

Hoegl, M., Gemuenden, H. G. (2001). Teamwork Quality and the Success of Innovative Projects: A Theoretical Concept and Empirical Evidence. Organization Science, 12(4), 435–449. https://doi.org/10.1287/orsc.12.4.435.10635

Jorgensen, M., Shepperd, M. (2007). A Systematic Review of Software Development Cost Estimation Studies. IEEE Transactions on Software Engineering, 33(1), Artigo 1. https://doi.org/10.1109/TSE.2007.256943

Katzenbach, J. R., Smith, D. K. (1993, march, 1). The Discipline of Teams. Harvard Business Review. https://hbr.org/1993/03/the-discipline-of-teams-2

Kropp, M., Meier, A., Anslow, C., Biddle, R. (2020). Satisfaction and its correlates in agile software development. Journal of Systems and Software, 164, 110544. https://doi.org/10.1016/j.jss.2020.110544

McCabe, T. J. (1976). A Complexity Measure. IEEE Transactions on Software Engineering, SE-2(4), 308–320. https://doi.org/10.1109/TSE.1976.233837

Moe, N. B., Dingsøyr, T., Dybå, T. (2009). Overcoming Barriers to Self-Management in Software Teams. IEEE Software, 26(6), 20–26. https://doi.org/10.1109/MS.2009.182

Parnas, D. L. (2011). Software Engineering: Multi-person Development of Multi-version Programs. Em C. B. Jones, J. L. Lloyd (Orgs.), Dependable and Historic Computing: Essays Dedicated to Brian Randell on the Occasion of His 75th Birthday (p. 413–427). Springer. https://doi.org/10.1007/978-3-642-24541-1_31

Pillai, S. P., Madhukumar, S. D., Radharamanan, T. (2017). Consolidating evidence-based studies in software cost/effort estimation—A tertiary study. TENCON 2017 - 2017 IEEE Region 10 Conference, 833–838. https://doi.org/10.1109/TENCON.2017.8227974

Pinheiro, M., Rebelo, T., Lourenço, P. R., Dimas, I. (2023). What drives team learning: Core conditions and paths. Journal of Workplace Learning, 35(2), 146–163. https://doi.org/10.1108/JWL-06-2022-0079

Ratner, A., Bach, S. H., Ehrenberg, H., Fries, J., Wu, S., Ré, C. (2017). Snorkel: Rapid training data creation with weak supervision. Proceedings of the VLDB Endowment, 11(3), Artigo 3. https://doi.org/10.14778/3157794.3157797

Riquelme, F., Munoz, R., Mac Lean, R., Villarroel, R., Barcelos, T. S., de Albuquerque, V. H. C. (2019). Using multimodal learning analytics to study collaboration on discussion groups. Universal Access in the Information Society, 18(3), 633–643. https://doi.org/10.1007/s10209-019-00683-w

Robles, G., Capiluppi, A., Gonzalez-Barahona, J. M., Lundell, B., Gamalielsson, J. (2022). Development effort estimation in free/open source software from activity in version control systems. Empirical Software Engineering, 27(6), Artigo 6. https://doi.org/10.1007/s10664-022-10166-x

Sonnentag, S. (1998). Expertise in professional software design: A process study. The Journal of Applied Psychology, 83(5), 703–715. https://doi.org/10.1037/0021-9010.83.5.703

Sonnentag, S. (2000). Excellent Performance: The Role of Communication and Cooperation Processes. Applied Psychology, 49(3), 483–497. https://doi.org/10.1111/1464-0597.00027

Spadini, D., Aniche, M., Bacchelli, A. (2018). PyDriller: Python framework for mining software repositories. Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 908–911. https://doi.org/10.1145/3236024.3264598

Vidoni, M. (2022). A systematic process for Mining Software Repositories: Results from a systematic literature review. Information and Software Technology, 144, 106791. https://doi.org/10.1016/j.infsof.2021.106791

Weimar, E., Nugroho, A., Visser, J., Plaat, A. (2013). Towards high performance software teamwork. Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, 212–215. https://doi.org/10.1145/2460999.2461030

Whitehead, J., Mistrík, I., Grundy, J., van der Hoek, A. (2010). Collaborative Software Engineering: Concepts and Techniques. Em I. Mistrík, J. Grundy, A. Hoek, J. Whitehead (Orgs.), Collaborative Software Engineering (p. 1–30). Springer. https://doi.org/10.1007/978-3-642-10294-3_1

World Economic Forum. (2020). The Future of Jobs Report 2020. http://www3.weforum.org/docs/WEF_Future_of_Jobs_2020.pdf

Wu, H., Shi, L., Chen, C., Wang, Q., Boehm, B. (2016). Maintenance Effort Estimation for Open Source Software: A Systematic Literature Review. 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), 32–43. https://doi.org/10.1109/ICSME.2016.87

Downloads

Publicado

2024-08-15