950 research outputs found
Mapping CMMI process areas to agile best practices
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
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
Recommended from our members
Agile Method Tailoring in a CMMI Level 5 Organization
We investigate the use and tailoring of agile methods in a highly disciplined CMMI Level 5 organization. We explore gaps between traditional agile practices and those required for enhanced levels of governance required by CMMI appraisal. We conducted a case study with recorded interviews from practitioners at NIIT Technology Ltd. The interviews were iteratively analysed and coded. Our findings show that agile methods must be supplemented with pre-sprint planning, evidence recording, project metrics, team self-organization, process standardization, and process base-lining to support the CMMI appraisal. There are challenges around Agile compliance with CMMI Level 4 processes and misconceptions about agile methods precluding documentation of the rationale for design decisions. This research contributes data to the tailoring of agile methods in a high-maturity CMMI context and will be useful for agile teams conducting level 5 appraisal
Metrics for Performance Improvement in Organisations Using Scrum, ITIL and CMMI
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
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
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
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
The role of the IT-Project Manager in Organizations that Balance Agile and Traditional Software Development
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
- …