14 research outputs found

    Metodologías ágiles y desarrollo basado en el conocimiento, evaluación cuantitativa de F/OSS para la reutilización, normas ISO y su aplicación en centros educativos

    Get PDF
    En el Centro de Investigación y Desarrollo en Informática Aplicada (CIDIA) de la Universidad Nacional de Salta venimos trabajando varias líneas de investigación relacionadas con la ingeniería de Software. Por una parte, a través del proyecto “Metodologías Agiles y Desarrollo Basado en el Conocimiento”, hemos encarado una investigación tendiente a exponer los fundamentos de diferentes metodologías ágiles propuestas para el desarrollo de sistemas y sobre el desarrollo basado en conocimiento. A su vez, intentamos esbozar relaciones que viabilizaran el trabajo con metodologías ágiles y desarrollo basado en conocimiento al mismo tiempo. La segunda línea se relaciona con la amplia disponibilidad de software libre y de código abierto, potencialmente aprovechable para el desarrollo con reutilización. En este caso, apuntamos a detectar características técnicas cuantificables que nos permitan valorar y seleccionar F/OSS que se incorporen al desarrollo de nuevos sistemas. Una tercera línea, a través del proyecto “Normas ISO y su aplicación en centros educativos”. Planteamos dos perspectivas diferentes. Por un lado, establecer directrices que guíen a los centros que presten servicio de capacitación y formación en todos los niveles, en cuanto a la implementación de un sistema de gestión de calidad eficaz que cumpla los requisitos de la norma ISO 9001:2008. Por otro lado, realizar el análisis de herramientas informáticas que apoyen una implementación de calidad y en ese mismo sentido poder realizar el análisis y diseño de una plataforma integrada basada en web que sirva de soporte a cualquier implementación de calidad, y en especial a los centros de capacitación.Eje: Ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI

    Is AI the better programming partner? Human-Human Pair Programming vs. Human-AI pAIr Programming

    Full text link
    The emergence of large-language models (LLMs) that excel at code generation and commercial products such as GitHub's Copilot has sparked interest in human-AI pair programming (referred to as "pAIr programming") where an AI system collaborates with a human programmer. While traditional pair programming between humans has been extensively studied, it remains uncertain whether its findings can be applied to human-AI pair programming. We compare human-human and human-AI pair programming, exploring their similarities and differences in interaction, measures, benefits, and challenges. We find that the effectiveness of both approaches is mixed in the literature (though the measures used for pAIr programming are not as comprehensive). We summarize moderating factors on the success of human-human pair programming, which provides opportunities for pAIr programming research. For example, mismatched expertise makes pair programming less productive, therefore well-designed AI programming assistants may adapt to differences in expertise levels.Comment: 8 pages (without references), 2 table

    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

    Challenges of adopting agile methods in a public organization

    Get PDF
    Agile development methods are widely used among business enterprises. Since the introduction of the Agile Manifesto in 2001, several agile methods have been implemented, first in single-team set-ups and later in larger multi-team set-ups for complex Information Technology (IT) system development. However, the adoption of agile methods has been slow in the public sector. This is also reflected in the academic literature, as there are only a few studies discussing agile adoption in public organizations. This paper contributes to research on the use of agile practices specifically in the context of public organizations, and sheds light on the challenges a public organization may face while adopting these practices. The aim of this paper is to identify and categorize the challenges that may hinder efficient adoption and use of agile methods in public IT projects that include private software vendors. This research is based on a case study of a large governmental office. As a result, this paper presents several categories of identified challenges, the root causes of these challenges, and a discussion of the characteristics of these challenges for the public sector

    Challenges of adopting agile methods in a public organization

    Get PDF
    Agile development methods are widely used among business enterprises. Since the introduction of the Agile Manifesto in 2001, several agile methods have been implemented, first in single-team set-ups and later in larger multi-team set-ups for complex Information Technology (IT) system development. However, the adoption of agile methods has been slow in the public sector. This is also reflected in the academic literature, as there are only a few studies discussing agile adoption in public organizations. This paper contributes to research on the use of agile practices specifically in the context of public organizations, and sheds light on the challenges a public organization may face while adopting these practices. The aim of this paper is to identify and categorize the challenges that may hinder efficient adoption and use of agile methods in public IT projects that include private software vendors. This research is based on a case study of a large governmental office. As a result, this paper presents several categories of identified challenges, the root causes of these challenges, and a discussion of the characteristics of these challenges for the public sector

    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

    Um processo baseado em redes bayesianas para avaliação da aplicação do scrum em projetos de software.

    Get PDF
    O aumento na utilização de métodos ágeis tem sido motivado pela necessidade de respostas rápidas a demandas de um mercado volátil na área de software. Em contraste com os tradicionais processos dirigidos a planos, métodos ágeis são focados nas pessoas, orientados à comunicação, flexíveis, rápidos, leves, responsivos e dirigidos à aprendizagem e melhoria contínua. Como consequência, fatores subjetivos tais como colaboração, comunicação e auto-organização são chaves para avaliar a maturidade do desenvolvimento de software ágil. O Scrum, focado no gerenciamento de projetos, é o método ágil mais popular. Ao ser adotado por uma equipe, a aplicação do Scrum deve ser melhorada continuamente sendo complementado com práticas e processos de desenvolvimento e gerenciamento ágeis. Apesar da Reunião de Retrospectiva, evento do Scrum, ser um período reservado ao final de cada sprint para a equipe refletir sobre a melhoria do método de desenvolvimento, não há procedimentos claros e específicos para a realização da mesma. Na literatura, há diversas propostas de soluções, embora nenhuma consolidada, para tal. Desta forma, o problema em questão é: como instrumentar o Scrum para auxiliar na melhoria contínua do método de desenvolvimento com foco na avaliação do processo de engenharia de requisitos, equipe de desenvolvimento e incrementos do produto? Nesta tese, propõe-se um processo sistemático baseado em redes bayesianas para auxiliar na avaliação da aplicação do Scrum em projetos de software, instrumentando o método para auxiliar na sua melhoria contínua com foco na avaliação do processo de engenharia de requisitos, equipe de desenvolvimento e incrementos do produto. A rede bayesiana foi construída por meio de um processo de Engenharia de Conhecimento de Redes Bayesianas. Uma base de dados, elicitada de dezoito projetos reais de uma empresa, foi coletada por meio de um questionário. Essa base de dados foi utilizada para avaliar a acurácia da predição da Rede Bayesiana. Como resultado, a previsão foi correta para quatorze projetos (acurácia de 78%). Dessa forma, conclui-se que o modelo é capaz de realizar previsões com acurácia satisfatória e, dessa forma, é útil para auxiliar nas tomadas de decisões de projetos Scrum.The use of Agile Software Development (ASD) is increasing to satisfy the need to respond to fast moving market demand and gain market share. In contrast with traditional plan-driven processes, ASD are people and communication-oriented, flexible, fast, lightweight, responsive, driven for learning and continuous improvement. As consequence, subjective factors such as collaboration, communication and self-management are key to evaluate the maturity of agile adoption. Scrum, which is focused on project management, is the most popular agile method. Whenever adopted, the usage of Scrum must be continuously improved by complementing it with development and management practices and processes. Even though the Retrospective Meeting, a Scrum event, is a period at the end of each sprint for the team to assess the development method, there are no clear and specific procedures to conduct it. In literature, there are several, but no consolidated, proposed solutions to assist on ASD adoption and assessment. Therefore, the research problem is: how to instrument Scrum to assist on the continuous improvement of the development method focusing on the requirements engineering process, development team and product increment? In this thesis, we propose a Bayesian networks-based process to assist on the assessment of Scrum-based projects, instrumenting the software development method to assist on its continuous improvement focusing on the requirements engineering process, development team and product increments. We have built the Bayesian network using a Knowledge Engineering Bayesian Network (KEBN) process that calculates the customer satisfaction given factors of the software development method. To evaluate its prediction accuracy, we have collected data from 18 industry projects from one organization through a questionnaire. As a result, the prediction was correct for fourteen projects (78% accuracy). Therefore, we conclude that the model is capable of accurately predicting the customer satisfaction and is useful to assist on decision-support on Scrum projects
    corecore