TL;DR: This book provides hands-on experience and will help the reader to gain an understanding of CMMI and to understand the interrelationship among model components (practices, goals, and process areas).
Abstract: CMMI is a well-known and standardized model for assessing and improving software and systems development processes. It can be used to guide process improvement across a project, a division, or an entire organization. CMMI was developed at the Carnegie Mellon Software Engineering Institute (SEI). The current version, 1.2, was published in 2006 and is being adopted worldwide. This book provides hands-on experience and will help the reader to gain an understanding of CMMI. It is an introduction to the model and its fundamental ideas. Through numerous examples, it helps the reader to get started with CMMI and to understand the interrelationship among model components (practices, goals, and process areas). The book covers the following topics: Model-based process improvement Overview of CMMI components History of CMMI and comparison to CMM Process areas of CMMI models Application, potential, and limitations of CMMI
TL;DR: In this paper, the authors investigated the impact of quality management on the knowledge management of software development processes and found that the incongruence between managing the knowledge of the software development and managing the process of software knowledge management has created blind points in the adoption of the CMMI programme.
Abstract: Capability Maturity Model Integration (CMMI) is one of the well-known models that provide best practices for software quality improvement. Many articles praise the benefits of CMMI adoption, such as enhanced knowledge management of software development, improved software quality and increased efficiency of software development. However, these intangibles, especially those relating to knowledge management, have not been investigated yet. To build a deeper understanding of CMMI this paper intends to investigate the effectiveness of CMMI by examining the impact of quality management on the knowledge management of software development processes. A case study approach was employed to collect complete information of the impact of CMMI on software knowledge management from different aspects. The results reveal that the incongruence between managing the knowledge of software development and managing the process of software knowledge management has created blind points in the adoption of the CMMI programme. In add...
TL;DR: This paper discusses how the merging of Agile Methodologies and Software Quality Models in same process today is ignoring many important aspects of both approaches, which results in a rigid integration ofAgile and Quality Models that limits the full potential of their synergies.
Abstract: In this paper we discuss how the merging of Agile Methodologies and Software Quality Models in same process today is ignoring many important aspects of both approaches. The inconsideration of these points results in a rigid integration of Agile and Quality Models that limits the full potential of their synergies. Ignoring such important items however does not necessarily means that they are not being utilized in the process, it normally indicates their utilization in an ad-hoc way. To explore this topic, we collected qualitative and quantitative data from literature and two Brazilian companies which work with agile and XP.
TL;DR: In this article, the first maturity level or level 2 of the model for companies new to CMMI or just beginning to adopt CMMI in their process improvement efforts was considered and a questionnaire based assessment method was developed primarily intended to be facilitate quick assessment or self assessment of CMMI maturity level 2.
Abstract: CMMI has gained widespread acceptance as a viable software process assessment model. In this study, we takeup CMMI, and consider the first maturity level or level 2 of the model for companies new to CMMI or justbeginning to adopt CMMI in their process improvement efforts. A questionnaire based assessment method wasdeveloped primarily intended to be facilitate quick assessment or self assessment of CMMI maturity level 2 of asoftware company. The questionnaire can also be used for process improvement purposes. The paper reports onthe results of conducting the questionnaire at five software companies and discusses its value as an indication ofmaturity at level 2 of CMMI and draws conclusions.
TL;DR: This paper outlines an agile evolution and maintenance process model and evaluates it within two Canadian software organizations by comparing current agile development process models to the industrial evolution andtenance practice in order to find issues relevant for the evolution and Maintenance domain.
Abstract: Most of the agile methods mainly concentrate on the development phase. None of them however is explicitly dedicated to the evolution and maintenance domain. In this paper, we outline an agile evolution and maintenance process model and evaluate it within two Canadian software organizations. We do this by comparing current agile development process models to the industrial evolution and maintenance practice in order to find issues relevant for the evolution and maintenance domain. Our results show that some changes need be made in the current agile methods.
TL;DR: The interview findings of the current situation in software development process management for Executive Information Systems (EIS) in the Thai telecommunications industry are presented and requisite requirements for a successful Knowledge Transfer (KT) framework are identified.
Abstract: This paper presents the interview findings of the current situation in software development process management for Executive Information Systems (EIS) in the Thai telecommunications industry and identifies requisite requirements for a successful Knowledge Transfer (KT) framework that consists of two proposed components, which are frameworks themselves: the proposed Software Development Life Cycle (SDLC) maintenance framework and the proposed KT framework. The resulting frameworks are aimed at providing an improved way of software development process management to better achieve the high performance goals of successful software development.
TL;DR: The study shows that the use of agile practices may support the fulfilment of the goals of CMMI process areas but there are still many challenges for the agile teams to be solved within the continuous improvement programs.
Abstract: The amount of software is increasing in the different domains in Europe. This provides the industries in smaller countries good opportunities to work in the international markets. Success in the global markets however demands the rapid production of high quality, error free software. Both CMMI and agile methods seem to provide a ready solution for quality and lead time improvements. There is not, however, much empirical evidence available either about 1) how the integration of these two aspects can be done in practice or 2) what it actually demands from assessors and software process improvement groups. The goal of this paper is to increase the understanding of CMMI and agile integration, in particular, focusing on the research question: how to use ‘lightweight’ style of CMMI assessments in agile contexts. This is done via four case studies in which assessments were conducted using the goals of CMMI integrated project management and collaboration and coordination with relevant stakeholder process areas and practices from XP and Scrum. The study shows that the use of agile practices may support the fulfilment of the goals of CMMI process areas but there are still many challenges for the agile teams to be solved within the continuous improvement programs. It also identifies practical advices to the assessors and improvement groups to take into consideration when conducting assessment in the context of agile software development.
TL;DR: This paper presents how to tailor software process based on RUP appropriately for software characteristics, which has two parts to make the process be adaptable to software characteristics and project demands.
Abstract: Nowadays, "Resources Overloading" is common when using standard processes, such as RUP( Rational Unified Process), to develop software. In order to improve its applicability and effectiveness, tailoring software process is very necessary. This paper presents how to tailor software process based on RUP appropriately for software characteristics. It has two parts to make the process be adaptable to software characteristics and project demands. One is constructing the expanding process by adding activities for software characteristics during four phases of RUP, the other one is tailoring the new process based on the relationship among activities, artifacts and roles with fuzzy comprehensive evaluation. And then an on-line book store system is built to verify this methodology. Keywords-Overloading;Software Process;Software Characteristics; RUP
TL;DR: Despite its popularity, many software engineers believe the Capability maturity model integration (CMMI) does not guarantee excellent quality in the customer field as discussed by the authors, and they also consider the factors that make a difference in qua..
Abstract: [This abstract is based on the author’s abstract.] Despite its popularity, many software engineers believe the Capability Maturity Model Integration (CMMI) does not guarantee excellent quality in the customer field. Factors that make a difference in qua..
TL;DR: An effective framework for automated testing, which combines the automation features of STAF/STAX and the ease-of-use based on tabular input and output of FitNesse is implemented, which can support Continuous Integration as an automated testing framework to improve software development processes.
Abstract: As software developers today, we all face problems of repetitive and error-prone processes, a lack of a clear way of communication between stakeholders, and risks of late defect discovery or release delays. In order to help solve such problems, we implemented an effective framework for automated testing, which combines the automation features of STAF/STAX and the ease-of-use based on tabular input and output of FitNesse. This framework can support Continuous Integration as an automated testing framework to improve software development processes. The greatest advantage of the framework is the agility that allows for rapid delivery of high-quality software. In this paper, we describe the practices and benefits of using the proposed framework.
TL;DR: While this study does not conclude that agile methods are always the best approach, it does reveal that agile practices are being noticed and appreciated by many system developers.
Abstract: We observe that systems developers who have had experience with agile development projects often express their opinion that agile methodologies are superior to plan-driven methodologies. In order to collect empirical evidence to support or discount this belief, we conducted a survey among software developers about software quality and development practices. Our study identified eight quality goals from the software quality literature. We then asked the participants to identify which of eight practices contributes the most towards that quality goal. Half of the practices were agile practices; half were plandriven practices. We found that, for each and every quality goal, the participants as a whole chose one of the agile practices as a best practice enabling them to reach each quality goal. While this study does not conclude that agile methods are always the best approach, it does reveal that agile practices are being noticed and appreciated by many system developers.
TL;DR: A feature-oriented framework model language (FOFML) is proposed to model framework following the MDA approach and is designed in a modular and compositional manner and is integrated with industry standards and technology such as UML and MOF.
Abstract: Object-oriented framework is increasingly recognized as an efficient reuse mechanism in software development, but it is still difficult to design for framework designer and instantiate for application developer. This is due to the lack of framework specific modeling language and modeling tools. We propose a feature-oriented framework model language (FOFML) to model framework following the MDA approach. FOFML is designed in a modular and compositional manner and is integrated with industry standards and technology such as UML and MOF. Framework related classes, features, roles and other aspects can be modeled in UML and FOFML. A prototype FOFML modeling environment is implemented.
TL;DR: Under the RUP guidance, using the UML modeling technology the authors design a management system of coal dressing, and optimize the modeling process of all the stages of the system, which lowers the complexity of modeling in each stage, and increases the quality and efficiency of software development.
Abstract: RUP is the new generational method of software development.UML is a powerful visualization modeling language.Both of them are extensively used in the process of developing software.The text is a brief introduction about the content of the RUP technology and the UML language.Under the RUP guidance,using the UML modeling technology we design a management system of coal dressing,and optimize the modeling process of all the stages of the system,which lowers the complexity of modeling in each stage,and increases the quality and efficiency of software development.
TL;DR: A new generation process RUP is applied in developing software and a visual modeling language UML is applied to design a management system on the management of equipment defects to improve the software quality and increase the efficiency of software development.
Abstract: In order to improve the efficiency of software development and the quality of software,the study applies a new generation process RUP in developing software and a visual modeling language UML.Currently both of them are extensively used in the process of software development.This paper briefly introduces the RUP technology and UML language.Under the framework of RUP,an UML modeling technology is used to design a management system on the management of equipment defects.The development of the system can optimize the iterative development and the system modeling process at each stage.Therefore it can mitigate the development risk and the model complexity,and thus improve the software quality,and increase the efficiency of software development.
TL;DR: This paper uses the Department of Defense's Evolutionary Acquisition and Management Framework as a bridge to define and illustrate an agile systems engineering life cycle (ASEL) framework and an agile risk integrated engineering lifecycle (ARIEL) model.
Abstract: Risk management is a requirement for success of any enterprise. Despite this fact, there have been limited solutions for integrating risk management in agile life cycles. On average, 70% of all IT-related projects fail to meet their objectives which have caused 80% of companies to reassess their process. One of these processes includes risk management where studies have shown that risks should be assessed in all dimensions of a program. We found that risk management was being conducted on the overall program with concentration in the software development phase which leaves other life cycle phases with no risk assessments and mitigation strategies. Agile systems engineering is more complex than traditional systems engineering due to events happening concurrently and non-sequentially during the life cycle of a program. This paper will propose a framework and model for risk ‘managility’, management in an agile environment, specifically in systems engineering life cycle. We use the Department of Defense's Evolutionary Acquisition and Management Framework as a bridge to define and illustrate an agile systems engineering life cycle (ASEL) framework and an agile risk integrated engineering lifecycle (ARIEL) model.
TL;DR: This paper presents a refined Agile Unified Process framework tailored for EDI(Electronic Data Interchange) and B2B(Business-to-Business) software projects.
Abstract: The Unified Software Development Process or Unified Process[1] is a popular iterative and incremental software development process framework. The best-known and extensively documented refinement of the Unified Process is the Rational Unified Process (RUP)[2] created by the Rational Software Corporation, a division of IBM. Agile Unified Process[12] is a simplified version of the RUP developed by Scott Ambler, the Practice Leader for Agile Development at IBM. It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP. This paper explains the need of applying Agile methodologies and Agile Unified Process Framework for developing B2B, EDI applications. This paper presents a refined Agile Unified Process framework tailored for EDI(Electronic Data Interchange) and B2B(Business-to-Business) software projects.
TL;DR: A SRUP(Small RUP) model that based on the RUP model is tailored and modified so as to explore middle-small projects and the effect and quality of software system is obviously enhanced.
Abstract: The URUP (Unified Modeling Language and Rational Unified Process) has been widely used to standardize software development process in recent years.With the rapid increase in the scale and complexity of software,software crisis become more and more serious.The effective solution to this Problem is software reuse.Considering importance of software reuse and features of middle-small projects, this paper present a SRUP(Small RUP) model that based on the RUP model is tailored and modified so as to explore middle-small projects.This paper introduces some concepts that are related to UML and RUP.It analyses some matters about the RUP model and presents the SRUP model in order to develop the RUP model.To testify its effect,the SRUP is practiced in the development process of construction business dynamic management information system.It is proved that the effect and quality of software system is obviously enhanced.
TL;DR: Proposing a software process improvement framework based on CMMI, the method will be good for local enterprises that want to improve software process capability.
Abstract: Based on CMMI principles and other software engineering theories,Proposing a software process improvement framework based on CMMI ,the method will be good for local enterprises that want to improve software process capability.
TL;DR: Proposes the application approach of UML based on RUP in analyzing, designing and modeling objected-oriented personnel recruitment system and several models including requirement model, hybrid-pattern system frame model, analysis model, design model and implementation model are built by visual elements of U ML.
Abstract: Proposes the application approach of UML based on RUP in analyzing,designing and modeling objected-oriented personnel recruitment system.Beginning with the requirement analysis,several models including requirement model,hybrid-pattern system frame model,analysis model,design model and implementation model are built by visual elements of UML.
TL;DR: This paper has suggested a framework to support adoption and evaluation of Agile techniques in a distributed environment and Chameleon project of Yahoo! Inc. has been implemented based on the framework.
Abstract: The Agile movement is a phenomenon that is part of the next phase of the software engineering evolution. At the same time, globally distributed software development is another trend delivering high-quality software to global users at lower costs. In this paper, Agile Framework for Distributed Software Development (AFDSD) has been suggested, and Chameleon project of Yahoo! Inc. has been implemented based on the framework. Also, the project has been evaluated by measuring Agile adoption and improvement levels, degrees of agility and agile project success, and comparing the performance and quality with the previous version. The overall performance and satisfaction with Chameleon increased by more than 30% since Agile techniques were adopted. Our objective is to highlight successful practices and suggest a framework to support adoption and evaluation of Agile techniques in a distributed environment.
TL;DR: The understanding of the relationship between ASD and CMMI-DEV is increased by reporting empirical results that confirm theoretical comparisons between ASD practices andCMMI level2, and introducing agile methods such as Scrum in compliance with CMMI process model.
Abstract: CMMI has been adopted advantageously in large companies for improvements in software quality, budget fulfilling, and customer satisfaction. However SPI strategies based on CMMI-DEV require heavy software development processes and large investments in terms of cost and time that medium/small companies do not deal with. The so-called light software development processes, such as Agile Software Development (ASD), deal with these challenges. ASD welcomes changing requirements and stresses the importance of adaptive planning, simplicity and continuous delivery of valuable software by short time-framed iterations. ASD is becoming convenient in a more and more global, and changing software market. It would be greatly useful to be able to introduce agile methods such as Scrum in compliance with CMMI process model. This paper intends to increase the understanding of the relationship between ASD and CMMI-DEV reporting empirical results that confirm theoretical comparisons between ASD practices and CMMI level2.
TL;DR: This paper takes another look at conventional SDLC methodology by focusing on an aspect that is often overlooked in systems development practice, namely the significance of good documentation.
Abstract: Agile software development methods seem inherently suitable for today’s quick-paced business environment as they shorten the time to develop new systems and typically incur lower development costs compared to the conventional systems development life cycle (SDLC) approach. Software development project failures using conventional SDLC are often attributed to project delays, resulting in budget overruns. On the other hand, a well planned and documented systems development project is more likely to result in a system that meets the expectations of both the intended users and the software engineers. This paper takes another look at conventional SDLC methodology by focusing on an aspect that is often overlooked in systems development practice, namely the significance of good documentation.
TL;DR: Service-Oriented Software Development is a method for managing the process of software development in a service-oriented approach in which the actions performed by individuals and groups are modeled as “services” which can be choreographed and orchestrated.
Abstract: This paper describes a methodology for planning and executing software development projects based on the service-oriented paradigm called Service-Oriented Software Development (SOSD). This does not refer to a methodology for developing software services or service-oriented architectures. Rather, it is a method for managing the process of software development in a service-oriented approach in which the actions performed by individuals and groups are modeled as “services” which can be choreographed and orchestrated. SOSD has been adopted informally by many organizations in various forms and it runs somewhat contrary to some of the recent trends toward agile development methodologies. Interestingly, it performs well in certain situations where agile methods tend to break down. In addition to describing the basics of SOSD and its theoretical underpinnings, we outline its benefits and potential shortcomings. As evidence, project data is provided from a Fortune 500 company which has gradually adopted SOSD over the last two years.