11 research outputs found

    Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts

    Full text link
    This Innovative Practice Full Paper presents an approach of using software development artifacts to gauge student behavior and the effectiveness of changes to curriculum design. There is an ongoing need to adapt university courses to changing requirements and shifts in industry. As an educator it is therefore vital to have access to methods, with which to ascertain the effects of curriculum design changes. In this paper, we present our approach of analyzing software repositories in order to gauge student behavior during project work. We evaluate this approach in a case study of a university undergraduate software development course teaching agile development methodologies. Surveys revealed positive attitudes towards the course and the change of employed development methodology from Scrum to Kanban. However, surveys were not usable to ascertain the degree to which students had adapted their workflows and whether they had done so in accordance with course goals. Therefore, we analyzed students' software repository data, which represents information that can be collected by educators to reveal insights into learning successes and detailed student behavior. We analyze the software repositories created during the last five courses, and evaluate differences in workflows between Kanban and Scrum usage

    An Empirical Study of Scrumban Formation based on the Selection of Scrum and Kanban Practices

    Get PDF
    Scrumban is a combination of practices from Kanban and Scrum practices to manage the development of software based on different project situations. Scrumban practices formation can differ based on different projects and team members. However, since each method has its own pros and cons, inappropriate formation of Scrumban practices may lead to increased waste and time of development, and decreased quality, which in turn, affect the Agile organizations and cause inefficient and ineffective development. Practitioners of Kanban and Scrum are convinced that a combination of both methods is better than the use of one and thus, practitioners should be guided in their decision making. This study aims to show how Scrumban method is formed based on a combination of Kanban and Scrum methods. Scrumban formation and the identification of the factors, which assist in the combination of Kanban and Scrum were conducted through a review of the previous work and semi-structured interviews with 7 Agile experts, after which, content analysis was conducted to analyse the gathered data. Different factors - the method prescription, roles and responsibilities, adoption time, team size, batch size, requirements prioritization, feature size, lead time, technical practices, cost and quality, assist Agile team members in the formation of Scrumban by combining appropriate Kanban and Scrum practices. In addition, Scrumban were found to be more appropriate than Scrum or Kanban in saving time, improving quality and minimizing waste

    Using a coach to improve team performance when the team uses a Kanban process methodology

    Get PDF
    Teams are increasing their use of the Kanban process methodology across a range of information system projects, including software development and data science projects. While the use of Kanban is growing, little has been done to explore how to improve team performance for teams that use Kanban. One possibility is to introduce a Kanban Coach (KC). This work reports on exploring the use of a Kanban Coach, with respect to both how the coach could interact with the team as well as how the use of a coach impacts team results. Specifically, this paper reports on an experiment where teams either had, or did not have, a Kanban Coach. A quantitative and qualitative analysis of the data collected during the experiment found that introducing KC led to significant improvement of team performance. Coordination Theory and Shared Mental Models were then employed to provide an explanation as to why a KC leads to better project results. While this experiment was done within a data science project context, the results are likely applicable across a range of information system projects

    Using a coach to improve team performance when the team uses a Kanban process methodology

    Get PDF
    Teams are increasing their use of the Kanban process methodology across a range of information system projects, including software development and data science projects. While the use of Kanban is growing, little has been done to explore how to improve team performance for teams that use Kanban. One possibility is to introduce a Kanban Coach (KC). This work reports on exploring the use of a Kanban Coach, with respect to both how the coach could interact with the team as well as how the use of a coach impacts team results. Specifically, this paper reports on an experiment where teams either had, or did not have, a Kanban Coach. A quantitative and qualitative analysis of the data collected during the experiment found that introducing KC led to significant improvement of team performance. Coordination Theory and Shared Mental Models were then employed to provide an explanation as to why a KC leads to better project results. While this experiment was done within a data science project context, the results are likely applicable across a range of information system projects

    Comparative analysis of agile and traditional methodologies in IT project management

    Get PDF
    It is known that initially, during software development, the traditional methodology was used for all IT projects and projects were often unsuccessful due to the rapid growth of the IT industry, and then agile methodologies began to be developed. Traditional methods have some advantages over agile methodologies, and mostly the most common traditional methodology is Waterfall. Given that it has limitations in handling problems, such as unstructured code, team morale, poor visibility, lack of communication between stakeholders and frequent prioritization of user requirements, it would not be bad to use agile methodologies, which focus on working with users, continuous testing, refactoring and incremental development. This paper deals with the comparison of methodologies in IT project management based on other scientific research. Some of the mentioned methodologies are Scrum, Kanban, Waterfall, etc. It was concluded that the agile Scrum methodology is mostly used in IT companies, with the combination of several methodologies often appearing, due to the need for projects, in order to eliminate the shortcomings of each methodology

    Agile development in cloud computing for eliciting non-functional requirements

    Get PDF
    Agile is a popular and growing software development methodology. In the agile methodology, requirements are refined based on collaborations with customers and team members. However, the agile process faces a lack of visibility across the development and delivery processes, has complex and disjointed development processes and lacks communication agility between disconnected owners, development teams, and users. Furthermore, Non-Functional Requirements (NFR) are ignored due to the nature of agile development that lacks knowledge of the user and developer about NFR. In addition, extraction of the NFR is difficult and this difficulty is increased because the agile methodology promotes change in requirement at any stage of the development. Cloud computing services have helped solve some of the issues in the agile process. However, to address the issues in agile development, this research developed a framework for Agile Development in Cloud Computing (ADCC) that uses the facilitation of cloud computing to solve the above-mentioned issues. An Automated NFR eXtraction (ANFRX) method was developed to extract NFR from the software requirement documents and interview notes wrote during requirement gathering. The ANFRX method exploited the semantic knowledge of words in the requirement to classify and extract the NFR. Furthermore, an NFR Elicitation (NFRElicit) approach was developed to help users and development teams in elicitation of NFR in cloud computing. NFRElicit approach used components such as an organization’s projects history, ANFRX method, software quality standards, and templates. The ADCC framework was evaluated by conducting a case study and industrial survey. The results of the case study showed that the use of ADCC framework facilitated the agile development process. In addition, the industrial survey results revealed that the ADCC framework had a positive significant impact on communication, development infrastructure provision, scalability, transparency and requirement engineering activities in agile development. The ANFRX method was evaluated by applying it on PROMISE-NFR dataset. ANFRX method improved 40% and 26% in terms of f-measure from the Cleland and Slankas studies, respectively. The NFRElicit approach was applied to eProcurement dataset and evaluated in terms of more “Successful”, less “Partial Success” and “Failure” to identify NFR in requirement sentences. The NFRElicit approach improved 11.36% and 2.27% in terms of increase in “Successful” NFR, decrease of 5.68% and 1.14% in terms of “Partial success” and decrease of 5.68% and 1.13% in terms of “Failure” from the Non-functional requirement, Elicitation, Reasoning and Validation (NERV) and Capturing, Eliciting and Predicting (CEP) methodologies, respectively. The findings have shown the process was able to elicit and extract NFR for agile development in cloud computing

    Agile Methodologies in Mission Critical Software Development and Maintenance

    Get PDF
    O desenvolvimento de software depende essencialmente das pessoas e isso faz com que surjam diversas questões, especialmente em relação à qualidade e consistência. Garantir a qualidade, estimativas precisas, e profissionais intelectuais de alto desempenho não é uma tarefa fácil, e para isso existem muitas metodologias e processos que ajudam. Este não é um assunto novo pois muitas empresas de desenvolvimento de software, em algum momento ao longo de sua vida, passaram por esse incómodo, e com o estudo das suas vitórias e derrotas, e com a aplicação das melhores práticas reconhecidas a nível mundial, foram capazes de melhorar os seus processos e o seu desempenho.A ALERT é um exemplo de uma empresa de desenvolvimento de software que se esforça continuamente para melhorar, e seu objetivo de momento, é aumentar a qualidade, a produtividade e a precisão das estimativas.O objetivo deste projeto é identificar quaisquer problemas existentes nos processos e práticas de desenvolvimento de software atuais da organização, propor uma proposta híbrida e personalizada de metodologias ágeis e clássicas que irão ajudar a otimizar o desempenho dos trabalhadores, nunca esquecendo que a produtividade de profissionais intelectuais está correlacionada com a sua motivação.Este projeto foi realizado em três grandes fases, diagnóstico, proposta e implementação da proposta em três equipas piloto.Através da informação recolhida nas entrevistas individuais e observação atenta, foi criado um diagnóstico que representa o estado da empresa naquele momento. Com base no diagnóstico, nas experiências passadas da empresa, e em modelos bem conhecidos, metodologias e processos, foi definido um âmbito - Scrum, Kanban, TSP e CMMI - e a proposta elaborada.Os objetivos da proposta foram criados na expectativa de aumentar a produtividade, reduzir defeitos e/ou melhorar a precisão das estimativas, agilizando o processo de desenvolvimento de software.No final, é apresentada uma análise dos resultados subjetivos e objetivos resultantes do impacto da proposta nas equipas-piloto. No entanto, os principais outputs desta dissertação são o diagnóstico e a proposta personalizada, uma vez que o sucesso do projeto piloto depende essencialmente dos seus participantes.Software development depends on people and because of this many issues arise specially regarding consistency and quality. Guaranteeing quality, accurate estimation, and highperformance knowledge workers is not an easy job, and for this there are many methodologies and processes that help.This is not a new issue; many software development companies, somewhere along their lifetime passed through this hassle, and with the study of their victories and defeats as well as worldwide recognized best practices, were able to improve their processes and performance.ALERT, is an example of a software development company that is continuously striving to improve, and their goal, at the moment is to increase quality, productivity and estimation accuracy.The goal of this project is to identify any exiting issues in the current software development processes and practices at the organization, propose a hybrid and customized proposal of agile and classical methodologies that will help to optimize the performance of the knowledge workers, never forgetting that the productivity of knowledge workers is deeply connected with their motivation.This project was developed in three main phases, diagnosis, proposal and implementation of the proposal in three pilot teams.With the information gathered from individual interviews and close observation, a diagnosis was created that represented the company status at that moment. Based on the diagnosis, the company's past experiences, and well known models, methodologies and processes the scope was defined - Scrum, Kanban, TSP and CMMI - and a proposal was created.The goals of the proposal were created in order to hopefully increase productivity, reduce defects and/or improve estimation accuracy, expediting the software development process. In the end it is presented an analysis of the subjective and objective results of the proposal's impact in the pilot teams. Nevertheless the main outputs of this dissertation are the diagnosis and the customized proposal, as the pilot's project success is highly dependent on the participating knowledge workers

    Process software simulation model of Lean-Kanban Approach

    Get PDF
    Software process simulation is important for reducing errors, helping analysis of the risks and for improving software quality. In recent years, the Lean-Kanban approach has been widely applied in software practice including software development and maintenance. The Lean-Kanban approach minimizes the Work-In-Progress (WIP), which is the number of items that are worked on by the team at any given time. It has been demonstrated that such approach can help to improve software maintenance and development processes in industrial environments. The goal of the simulation model itself is to increase the understanding and to support decisions for planning such kind of projects. Considering the threats to validity of the study, the accuracy and reliability of the simulation model could be shown and the simulation model implementation allows for deriving hypothesis on the impact of distribution on parameters such as throughput. In this thesis, we describe our simulation studies, which show that the Lean-Kanban approach can indeed help to reduce the average time needed to complete maintenance or development issues. This simulation model can simulate existing maintenance and development processes that does not use a WIP limit, as well as a maintenance and development processes that adopt a WIP limit. We performed some case studies using real data collected from different projects. The results confirmthat the WIP-limited process as advocated by the Lean- Kanban approach could be useful to increase the efficiency of software maintenance and development, as reported in previous industrial practices

    Process software simulation model of Lean-Kanban Approach

    Get PDF
    Software process simulation is important for reducing errors, helping analysis of the risks and for improving software quality. In recent years, the Lean-Kanban approach has been widely applied in software practice including software development and maintenance. The Lean-Kanban approach minimizes the Work-In-Progress (WIP), which is the number of items that are worked on by the team at any given time. It has been demonstrated that such approach can help to improve software maintenance and development processes in industrial environments. The goal of the simulation model itself is to increase the understanding and to support decisions for planning such kind of projects. Considering the threats to validity of the study, the accuracy and reliability of the simulation model could be shown and the simulation model implementation allows for deriving hypothesis on the impact of distribution on parameters such as throughput. In this thesis, we describe our simulation studies, which show that the Lean-Kanban approach can indeed help to reduce the average time needed to complete maintenance or development issues. This simulation model can simulate existing maintenance and development processes that does not use a WIP limit, as well as a maintenance and development processes that adopt a WIP limit. We performed some case studies using real data collected from different projects. The results confirmthat the WIP-limited process as advocated by the Lean- Kanban approach could be useful to increase the efficiency of software maintenance and development, as reported in previous industrial practices
    corecore