Análise de redes sociais aplicada ao entendimento da colaboração em projetos de software
DOI:
https://doi.org/10.23925/2179-3565.2024v15i2p152-162Palavras-chave:
Colaboração, Análise de redes sociais, Repositórios de software, Desenvolvimento de softwareResumo
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
Edição
Seção
Licença
Esta obra está licenciada sob uma licença Creative Commons Atribuição - No comercial - Sin derivaciones 4.0 Internacional
1.O(s) autor(es) autoriza(m) a publicação do artigo na revista;
2.O(s) autor(es) garante(m) que a contribuição é original e inédita e que não está em processo de avaliação em outra(s) revista(s);
3.A revista não se responsabiliza pelas opiniões, ideias e conceitos emitidos nos textos, por serem de inteira responsabilidade de seu(s) autor(es);
4.É reservado aos editores o direito de proceder ajustes textuais e de adequação do artigos às normas da publicação.
1.1 Copyright Statement
This journal is licensed under a Creative Commons Attribution-Non Commercial-No Derivers 4.0 International license.
1. The author (s) authorize the publication of the article in the journal;
2. The author (s) warrant that the contribution is original and unpublished and is not in the process of being evaluated in other journal (s);
3. The journal is not responsible for the opinions, ideas and concepts emitted in the texts, as they are the sole responsibility of its author (s);
4. The editors are entitled to make textual adjustments and to adapt the articles to the standards of publication.