scholarly journals Using git metrics to measure students' and teams' code contributions in software development projects

2021 ◽  
Vol 24 (2) ◽  
Author(s):  
Sivana Hamer ◽  
Christian Quesada-López ◽  
Alexandra Martínez ◽  
Marcelo Jenkins

Many software engineering courses are centered around team-based project development. Analyzing the source code contributions during the projects’ development could provide both instructors and students with constant feedback to identify common trends and behaviors that can be improved during the courses. Evaluating course projects is a challenge due to the difficulty of measuring individual student contributions versus team contributions during the development. The adoption of distributed version control sys-tems like git enable the measurement of students’ and teams’ contributions to the project.In this work, we analyze the contributions within eight software development projects,with 150 students in total, from undergraduate courses that used project-based learning.We generate visualizations of aggregated git metrics using inequality measures and the contribution per module, which offer insights into the practices and processes followed by students and teams throughout the project development. This approach allowed us to identify inequality among students’ contributions, the modules where students con-tributed, development processes with a non-steady pace, and integration practices render-ing a useful feedback tool for instructors and students during the project’s development.Further studies can be conducted to assess the quality, complexity, and ownership of the contributions by analyzing software artifacts. 

10.29007/fqc6 ◽  
2018 ◽  
Author(s):  
Thomas Baar ◽  
Issam Bendaas

With adoption of the UML and other graphical languages by software industry,graphical models became a cornerstone in today's software development practice.As other artefacts such as program source code, graphical models evolve overtime and are, thus, put regularily under version control.In order to deeply understand the role an artefact plays within a project, it issometimes helpful to review the history of this artefact. While there arenumerous tools available that make it easy for a user to grasp the evolution oftextual files (or even portions of it), an adequate support for graphical fileshas remained to be an area of niche products.In this paper, we argue that a better support for reviewing the version historyof graphical files can facilitate the work with graphical models. In order tosupport this claim, we implemented a prototypcical tool that can extract anddisplay the version history of any graphical file stored in a GitHub-repository.In addition, users can annotate each version of a file with comments, whatturns our tool into a review tool for software projects. Recently, we started touse the tool is a software engineering course to give students better feedbackon complex UML models they have to develop iteratively.


Software Engineering (SE) technologies are emerging day by day and seeking ABPR (Agile Business Process Reengineering) for Software Engineering Management (SEM) frameworks in software development organizations. BPR can enable organizational capabilities to initiate and implement critical change in execution. Under the roof of agile and on the base of empiricism, the Scrum has been proven itself as an ABPR approach for software engineering management in the software development organizations, across the world, by improving productivity, self-organization and collaboration for standard software development processes. Scrum has been leading software project development practices using its own characteristics: Artifacts, Pillars, Values, Events and Roles. But still software project development organizations are facing some issues with their software project development and management processes, like no documentation policy which results into inaccurate estimation, internal states of each work item flowing through the Scrum Board, Sprint tracker and prediction towards goal achievement which can be considered as challenges for Scrum due its limitations as well as Scrum does not allow, any alteration in its rules. Such issues have raised a question against implementation of Scrum and have opened the door for the next level of research to answer the question, how to overcome the limitations of Scrum. Kanban can provide the solution to some of these issues but it can’t provide complete SEM solutions to software Development Organizations. The aim of this research study is empirical analysis about how the formation of hybrid framework Scrumban as an integration of Scrum with Kanban, can resolve challenges of Scrum; using literature reviews, case study reviews, and research surveys; and this research has proposed a conceptual customized Scrumban framework, by keeping Kanban in the center of customization under the bound of Scrum rules. This research also concludes limitations of Scrumban, like project documentation, planning, large scaled project, distributed environment, team capabilities etc.; as each method has its own limitations.


2021 ◽  
pp. 1063293X2110152
Author(s):  
Qing Yang ◽  
Yingxin Bi ◽  
Qinru Wang ◽  
Tao Yao

Software development projects have undergone remarkable changes with the arrival of agile development approaches. Many firms are facing a need to use these approaches to manage entities consisting of multiple projects (i.e. programs) simultaneously and efficiently. New technologies such as big data provide a huge power and rich demand for the IT application system of the commercial bank which has the characteristics of multiple sub-projects, strong inter-project correlation, and numerous project participating teams. Hence, taking the IT program management of a bank in China as a case, we explore the methods to solve the problems in multi-project concurrent development practice through integrating the ideas of program and batch management. First, to coordinate the multi-project development process, this paper presents the batch-based agile program management approach that synthesizes concurrent engineering with agile methods. And we compare the application of batch management between software development projects and manufacturing process. Further, we analyze the concurrent multi-project development practice in the batch-based agile program management, including the overlapping between stages, individual project’s activities, and multiple projects based on common resources and environment to stimulate the knowledge transfer. Third, to facilitate the communication and coordination of batch-based program management, we present the double-level responsibility organizational structure of batch management.


2011 ◽  
Vol 23 (4) ◽  
pp. 64-79 ◽  
Author(s):  
Diane Kelly

The development of scientific software is usually carried out by a scientist who has little professional training as a software developer. Concerns exist that such development produces low-quality products, leading to low-quality science. These concerns have led to recommendations and the imposition of software engineering development processes and standards on the scientists. This paper utilizes different frameworks to investigate and map characteristics of the scientific software development environment to the assumptions made in plan-driven software development methods and agile software development methods. This mapping exposes a mismatch between the needs and goals of scientific software development and the assumptions and goals of well-known software engineering development processes.


Author(s):  
Marco Kuhrmann ◽  
Georg Kalus ◽  
Gerhard Chroust

Software development projects are complex. The more complex a project is, the higher are the requirements related to the software development process. The implementation of a process is a great challenge. This, in part, has to do with human factors (acceptance, etc.) as the benefits of a formal development process might not be obvious immediately and it may take a while until the process becomes the lifeblood of a team. A crucial step towards implementing, enacting and enforcing a process is to provide tool support for the many activities the process asks for. Tool support is necessary to guarantee efficiency in the project, to do the housekeeping and to minimize the “overhead” of the process. This chapter describes challenges and options for supporting process models by tools. Furthermore it describes concrete samples and shows how tool chains can be created with commercial tools as well as with open source tools.


2020 ◽  
Vol 6 (3) ◽  
pp. 27-34
Author(s):  
E.J. Robles Gómez ◽  
J.A. Flores Lara ◽  
J.C. Ontiveros Neri

El juego getKanban es una herramienta para enseñar la metodología Kanban y SCRUM de una manera divertida. Facilita la enseñanza de la gestión de proyectos de software a través de un juego de mesa, donde los jugadores aprenden a formular estrategias de gestión de proyectos y las implementan para elaborar proyectos de calidad en tiempo y forma. El presente artículo muestra los resultados de la implementación del juego en una institución educativa de nivel superior, con alumnos de Ingeniería en Sistemas Computacionales de octavo semestre. Se puede apreciar que al utilizar este juego ayuda de manera efectiva a la enseñanza de Kanban y SCRUM, para la gestión de proyectos de software. Por lo cual se recomienda poder implementar este tipo de juegos como estrategia didáctica para la enseñanza/aprendizaje de Ingeniería de Software aplicada a la Gestión de Proyectos de Desarrollo de Software. The game Kanban is a tool to teach the methodology in a fun way. It facilitates the teaching of software project management through where players learn to formulate strategies and implement them to develop quality projects on time Delivery. This article shows the results of the implementation of the game in an educational institution of higher level, with students of Computer Systems Engineering eighth semester. It can be seen that by using this game it helps in an effective way to teach Kanban for the management of software projects. Therefore, it is recommended to be able to implement this type of games as a didactic strategy for the teaching / learning of Software Engineering applied to the Management of Software Development Projects


Author(s):  
Sofiane Sahraoui

Open source software (OSS) development has been a trend parallel to that of agile software development, which is the highly iterative development model following conventional software engineering principles. Striking similarities exist between the two development processes as they seem to follow the same generic phases of software development. Both modes of development have less emphasis on planning and design and a more prominent role for implementation during the software engineering process. This chapter expounds on this connection by adopting an agile perspective on OSS development to emphasize the similarities and dissimilarities between the two models. An attempt is first made to show how OSS development fits into the generic agile development framework. Then, the chapter demonstrates how the development process of Mozilla and Apache as two of the most famous OSS projects can be recast within this framework. The similarity discussed and illustrated between agile and OSS development modes is rather limited to the mechanics of the development processes and do not include the philosophies and motivations behind development.


Author(s):  
Gabriela Aranda ◽  
Aurora Vizcaíno ◽  
Alejandra Cechich ◽  
Mario Piattini

This chapter introduces a model based on techniques from cognitive psychology as a means to improve the requirement elicitation in global software development projects. Since distance negatively affects communication and control, distributed development processes that are crucially based on communication, such as requirements elicitation, have to be specially rethought in order to minimize critical situations. This chapter proposes reducing problems in communication by selecting a suite of appropriate elicitation techniques and groupware tools according to stakeholders’ cognitive styles. It also shows how information about stakeholders’ personalities can be used to make them feel comfortable and to improve their performances when working in a group.


Author(s):  
Xavier Ferre ◽  
Natalia Juristo ◽  
Ana M. Moreno

Usability has become a critical quality factor in software systems, and it has been receiving increasing attention over the last few years in the SE (software engineering) field. HCI techniques aim to increase the usability level of the final software product, but they are applied sparingly in mainstream software development, because there is very little knowledge about their existence and about how they can contribute to the activities already performed in the development process. There is a perception in the software development community that these usability-related techniques are to be applied only for the development of the visible part of the UI (user interface) after the most important part of the software system (the internals) has been designed and implemented. Nevertheless, the different paths taken by HCI and SE regarding software development have recently started to converge. First, we have noted that HCI methods are being described more formally in the direction of SE software process descriptions. Second, usability is becoming an important issue on the SE agenda, since the software products user base is ever increasing and the degree of user computer literacy is decreasing, leading to a greater demand for usability improvements in the software market. However, the convergence of HCI and SE has uncovered the need for an integration of the practices of both disciplines. This integration is a must for the development of highly usable systems. In the next two sections, we will look at how the SE field has viewed usability. Following upon this, we address the existing approaches to integration. We will then detail the pending issues that stand in the way of successful integration efforts, concluding with the presentation of an approach that might be successful in the integration endeavor.


Sign in / Sign up

Export Citation Format

Share Document