950 research outputs found

    Mapping CMMI process areas to agile best practices

    Get PDF
    Dissertation presented as the partial requirement for obtaining a Master's degree in Information Management, specialization in Information Systems and Technologies ManagementTo maintain competitiveness, software development companies are pressured to deliver products in less time, without compromising on quality and budget. To meet this demand, companies often adopt Agile software development techniques that enable shorter delivery times through constant smaller deliveries and shorter interactive cycles in software development processes. Although the innovation and the decrease of development time provided by these techniques, companies have perceived that quality is a differentiated factor and feel the urge to maintain the quality of their software to stand out from the competitors. At this point CMMI is presented as a reference model that contains a set of practices which lead to the maturity of organizations with focus on the improvement of organization processes and reduction of processes risk of failure increasing quality. In contrast with Agile, that puts individuals and their interactions in higher importance than processes and tools and where being adaptable to changes is more important than following strictly what was planned, CMMI it is a strict traditional approach that implies extensive formalism and focus on the processes. Derived of those apparent opposite beliefs, Agile development methods and CMMI best practices are frequently perceived to be at odds with each other. There is a great discussion about CMMI ability to be Agile and Agile methods to adapt to CMMI requirements without losing agility. This study aims to map CMMI for development process areas to Agile best practices to help in the understanding of the compatibilities and incompatibilities regarding the integration of CMMI and Agile. That will guide companies into the successful integration of Agile and maturity models together taking full advantage of their capabilities leading to enhanced software development. With the integration of those two approaches it is expected that Agile practices can help mature organizations to become more flexible, and CMMI could help Agile organizations to increase processes quality, fulfilling their goals and having their competitiveness sustained

    A maturity model for DevOps

    Get PDF
    Nowadays, businesses aim to respond to customer needs at unprecedented speed. Thus, many companies are rushing to the DevOps movement. DevOps is the combination of Development and Operations and a new way of thinking in the software engineering domain. However, no common understanding of what it means has yet been achieved. Also, no adoption models or fine-grained maturity models to assist DevOps maturation and implementation were identified. Therefore, this research attempt to fill these gaps. A systematic literature review is performed to identify the determining factors contributing to the implementation of DevOps, including the main capabilities and areas with which it evolves. Then, two sets of interviews with DevOps experts were performed and their experience used to build the DevOps Maturity Model. The DevOps maturity model was then developed grounded on scientific and professional viewpoints. Once developed the Maturity Model was demonstrated in a real organisation.info:eu-repo/semantics/acceptedVersio

    Metrics for Performance Improvement in Organisations Using Scrum, ITIL and CMMI

    Get PDF
    It is very important to understand the metrics that are applied within IT processes in today's industry, why they are important, and in what types of companies they are used. This article presents the results of a systematic literature review of some of the most widely used metrics exposed in the literature, referring to Scrum, ITIL and CMMi practices. The objective is to determine the scientific progress in this field and to identify the candidate metrics that can be used later in a metrics integration model, designed to help monitor IT services to improving the performance of organisations that use Scrum, CMMi and ITIL. The exploratory search found 1,196 articles, of which 198 were reviewed, from which 31 were finally chosen. From these, a total of 297 metrics were identified, of which 112 (38%) are for Scrum, 98 metrics (33%) are for ITIL, and 87 (29%) are for CMMi. Most of these metrics are used in European companies

    Maturity model for DevOps

    Get PDF
    Businesses today need to respond to customer needs at unprecedented speed. Driven by this need for speed, many companies are rushing to the DevOps movement. DevOps, the combination of Development and Operations, is a new way of thinking in the software engineering domain that recently received much attention. Since DevOps has recently been introduced as a new term and novel concept, no common understanding of what it means has yet been achieved. Therefore, the definitions of DevOps often are only a part relevant to the concept. When further observing DevOps, it could be seen as a movement, but is still young and not yet formally defined. Also, no adoption models or fine-grained maturity models showing what to consider to adopt DevOps and how to mature it were identified. As a consequence, this research attempted to fill these gaps and consequently brought forward a Systematic Literature Review to identify the determining factors contributing to the implementation of DevOps, including the main capabilities and areas with which it evolves. This resulted in a list of practices per area and capability that was used in the interviews with DevOps practitioners that, with their experience, contributed to define the maturity of those DevOps practices. This combination of factors was used to construct a DevOps maturity model showing the areas and capabilities to be taken into account in the adoption and maturation of DevOps.Hoje em dia, as empresas precisam de responder às necessidades dos clientes a uma velocidade sem precedentes. Impulsionadas por esta necessidade de velocidade, muitas empresas apressam-se para o movimento DevOps. O DevOps, a combinação de Desenvolvimento e Operações, é uma nova maneira de pensar no domínio da engenharia de software que recentemente recebeu muita atenção. Desde que o DevOps foi introduzido como um novo termo e um novo conceito, ainda não foi alcançado um entendimento comum do que significa. Portanto, as definições do DevOps geralmente são apenas uma parte relevante para o conceito. Ao observar o DevOps, o fenómeno aborda questões culturais e técnicas para obter uma produção mais rápida de software, tem um âmbito amplo e pode ser visto como um movimento, mas ainda é jovem e ainda não está formalmente definido. Além disso, não foram identificados modelos de adoção ou modelos de maturidade refinados que mostrem o que considerar para adotar o DevOps e como fazê-lo crescer. Como consequência, esta pesquisa tentou preencher essas lacunas e, consequentemente, apresentou uma Revisão sistemática da literatura para identificar os fatores determinantes que contribuem para a implementação de DevOps, incluindo os principais recursos e áreas com os quais ele evolui. Isto resultou numa lista de práticas por área e por capacidade, que foi utilizado como base nas entrevistas realizadas com peritos em DevOps que, com a sua experiência, ajudaram a atribuir níveis de maturidade a cada prática. Esta combinação de fatores foi usada para construir um modelo de maturidade de DevOps mostrando as áreas e as capacidades a serem levados em consideração na sua adoção e maturação

    Software Development Process Modeling. Developers Perspective to Contemporary Modeling Techniques

    Get PDF
    Formal software development processes and well-defined development methodologies are nowadays seen as the definite way to produce high-quality software within time-limits and budgets. The variety of such high-level methodologies is huge ranging from rigorous process frameworks like CMMI and RUP to more lightweight agile methodologies. The need for managing this variety and the fact that practically every software development organization has its own unique set of development processes and methods have created a profession of software process engineers. Different kinds of informal and formal software process modeling languages are essential tools for process engineers. These are used to define processes in a way which allows easy management of processes, for example process dissemination, process tailoring and process enactment. The process modeling languages are usually used as a tool for process engineering where the main focus is on the processes themselves. This dissertation has a different emphasis. The dissertation analyses modern software development process modeling from the software developers’ point of view. The goal of the dissertation is to investigate whether the software process modeling and the software process models aid software developers in their day-to-day work and what are the main mechanisms for this. The focus of the work is on the Software Process Engineering Metamodel (SPEM) framework which is currently one of the most influential process modeling notations in software engineering. The research theme is elaborated through six scientific articles which represent the dissertation research done with process modeling during an approximately five year period. The research follows the classical engineering research discipline where the current situation is analyzed, a potentially better solution is developed and finally its implications are analyzed. The research applies a variety of different research techniques ranging from literature surveys to qualitative studies done amongst software practitioners. The key finding of the dissertation is that software process modeling notations and techniques are usually developed in process engineering terms. As a consequence the connection between the process models and actual development work is loose. In addition, the modeling standards like SPEM are partially incomplete when it comes to pragmatic process modeling needs, like light-weight modeling and combining pre-defined process components. This leads to a situation, where the full potential of process modeling techniques for aiding the daily development activities can not be achieved. Despite these difficulties the dissertation shows that it is possible to use modeling standards like SPEM to aid software developers in their work. The dissertation presents a light-weight modeling technique, which software development teams can use to quickly analyze their work practices in a more objective manner. The dissertation also shows how process modeling can be used to more easily compare different software development situations and to analyze their differences in a systematic way. Models also help to share this knowledge with others. A qualitative study done amongst Finnish software practitioners verifies the conclusions of other studies in the dissertation. Although processes and development methodologies are seen as an essential part of software development, the process modeling techniques are rarely used during the daily development work. However, the potential of these techniques intrigues the practitioners. As a conclusion the dissertation shows that process modeling techniques, most commonly used as tools for process engineers, can also be used as tools for organizing the daily software development work. This work presents theoretical solutions for bringing the process modeling closer to the ground-level software development activities. These theories are proven feasible by presenting several case studies where the modeling techniques are used e.g. to find differences in the work methods of the members of a software team and to share the process knowledge to a wider audience.Siirretty Doriast

    Capability Maturity Model Integration (Cmmi) for Small Organizations

    Get PDF
    Software Process Improvement (SPI) is a large area of expertise that deals with software development standard processes and is a progression of proven methods of process improvement from many different methodologies. Personal Software Process (PSP) and Team Software Process (TSP) complement the implementation of Capability Maturity Model Implementation (CMMI) and can be applied gradually from the individual, to the team, and then to the organization. These solutions from Carnegie Melon\u27s Software Engineering Institute (SEI) are leading edge for the field of process improvement. Solutions like this consume many resources, are very complex, require years to implement, and can be costly. The SEI solutions offer an industry standard for SPI. Three case studies were analyzed to provide insight into the benefits of CMMI for small organizations. Decisions that steer these solutions generally involve scheduling, quality, and cost. Depending on the individual needs of an organization, the CMMI technology can fulfill what is required. The example case studies were examined and concluded that given favorable conditions, implementing CMMI is feasible for small organizations

    Meshing Agile and Documentation-Driven Methods in Practice

    Get PDF

    The role of the IT-Project Manager in Organizations that Balance Agile and Traditional Software Development

    Get PDF
    Systems development practice is undergoing major transformation, as many companies try to improve their practice to become more flexible, adaptable and agile. However, research provides convincing evidence that it may be difficult to become agile or even just to integrate agile processes in existing companies that are dominated by traditional practice. A recent literature study concludes that most literature and practice advice to reconcile the traditional approaches with agility. The complexity added by having and combining two “worlds” thwarts the job of IT project managers and change their role. Understanding these changes and the new role is the focal point of this work. Through a focused literature review, types of balancing are found, and motives, opportunities and challenges of balancing are mapped. Based on this work a framework of IT project managers’ role in organizations that balance agile and traditional approaches is suggested
    corecore