TL;DR: What it takes to make RUP agile,How it was applied in the two projects, and how it was configured are gone into.
Abstract: The Unified Development Process (USDP) and especially its implementation by Rational Software Corporation, the Rational Unified Process (RUP), is a comprehensive process covering almost all aspects of software development projects. However, due to the great level of detail provided by RUP, many professionals do not consider RUP practical for small, fast paced projects. This paper reports the experiences with RUP on two small projects with teams of 3 to 5 developers. RUP proved to be adaptable to the needs of small projects and was very effective in both projects. One key to the successful application of RUP in small projects is the careful selection of a proper subset of artifacts and keeping these artifacts very concise and free from unnecessary formalism. This paper goes into the details of what it takes to make RUP agile, how it was applied in the two projects, and how it was configured. Also covered is what elements of RUP contributed to the success of one project, and why RUP could not prevent that the outcome of the other project was less than optimal.
TL;DR: The profile is based on the IP-MAP framework and has the advantage of giving a formal definition to the main concepts related to the management of quality improvement, as well as organizing them into a set of models useful for realizing a software system.
Abstract: In this paper, a UML profile for data quality is proposed with the aim of supporting quality improvement inside an organization. The profile is based on the IP-MAP framework and has the advantage of giving a formal definition to the main concepts related to the management of quality improvement, as well as organizing such concepts into a set of models useful for realizing a software system. A methodology to improve data quality is also discussed. Specifically, a process to produce the UML artifacts designed by the data quality profile is specified and the initial steps of a pattern-based technique to design quality improvement are also presented.
TL;DR: In this article, a dynamic integrated framework for software process improvement is presented, which combines traditional estimation static models with an intensive utilization of dynamic simulation models of the software process to support a qualitative and quantitative assessment for software-process improvement and decision-making to achieve a higher software development process capability according to the capability maturity model.
Abstract: During the last decade software process simulation has been used to address a wide diversity of management problems. Some of these problems are related to strategic management, technology adoption, understanding, training and learning, and risk management, among others. In this work a dynamic integrated framework for software process improvement is presented. This framework combines traditional estimation static models with an intensive utilization of dynamic simulation models of the software process. The aim of this framework is to support a qualitative and quantitative assessment for software process improvement and decision making to achieve a higher software development process capability according to the Capability Maturity Model. The paper describes the concepts underlying this framework, its implementation, the dynamic approach followed to systematically develop the dynamic modules, and an example of its potential use and benefits.
TL;DR: The maturity model integration (CMMI) framework as discussed by the authors provides a framework for improving the processes organizations use to develop and deliver products for their customers, based upon sound process management principles used in manufacturing communities for years.
Abstract: : Maturity Model Integration (CMMI ) provides a framework for improving the processes organizations use to develop and deliver products for their customers. The process improvement concepts embedded in CMMI are based upon sound process management principles used in manufacturing communities for years. These principles have been successfully applied in software and systems engineering process improvement, and are codified for product development in CMMI. This technical note details how operational organizations that perform a variety of missions can benefit from the concepts in CMMI to improve the processes and effectiveness of mission operations.
TL;DR: This research proposes to develop a formal framework to support the linking of the different diagrams and models within the software development life cycle (SDLC), and investigates the query capabilities of these logic families to support co-evolution of the design models in a semi-automatic way.
Abstract: Summary form only given. This research focuses on the problem of the semantic linking and co-evolution of the different design diagrams and models of an object-oriented software application. The blueprint of an object-oriented software application consists mainly of models drawn in a modeling language. The state-of-the-art modeling language in object-oriented software development is the Unified Modeling Language (UML). Our research hypothesis is that using decidable fragments of first order logic to express the different UML diagrams enables the semantic linking of the different diagrams and models and enables the support of co-evolution which can be semi-automated, enhancing the reusability, maintainability and understandability of the design of the software application and of the software application in general. We propose to develop a formal framework to support the linking of the different diagrams and models within the software development life cycle (SDLC). The advantages of such a framework are: reasoning capabilities are provided, co-evolution is more guaranteed, adaptability of the design is improved and reuse and understandability of the software design increases. To support co-evolution of the design models in a semi-automatic way we investigate the query capabilities of these logic families.
TL;DR: This technical note describes the ways in which organizations can build upon their process improvement efforts to achieve success with product lines and realize additional benefits through the use of both technologies.
Abstract: : Many organizations report dramatic benefits from the adoption of software product line practice. Organizations that have established software engineering process discipline are better poised to succeed with product lines. While we acknowledge that there are different paths to successful process discipline, in this technical note, we concentrate on approaches based on the Capability Maturity Model Integration (CMMI) models. We describe practices that are most crucial to product line success. While some of these relate directly to the CMMI models process areas, others are uniquely important to product lines. In this technical note, we first present fundamental concepts of software product lines. We then describe important product line practices as they have been documented in A Framework for Software Product Line Practice (framework). We next present an overview of the CMMI models, followed by a description of the general relationships between the framework and CMMI models. We amplify this comparison with a detailed example showing the relationship between configuration management practices in CMMI and in the framework. We conclude by describing the ways in which organizations can build upon their process improvement efforts to achieve success with product lines and realize additional benefits through the use of both technologies.
TL;DR: U-CD represents a repeatable, collaborative approach to interaction design that can be incorporated into an agile software development process and helped the authors' team do that sooner, guess right more often, and achieve their goal of releasing usable software earlier.
Abstract: Over the past years of developing software I've increased efforts to understand what makes the development process successful and what makes it fail. This paper describes how starting to develop using agile methodologies solved many but not all problems. And how subsequently discovering Constantine and Lockwood's Usage-Centered Design and incorporating it into an Agile Development process increased our likelihood of success. In addition to being more likely to meet end-user expectations, UC-D helped our team do that sooner, guess right more often, and achieve our goal of releasing usable software earlier. U-CD represents a repeatable, collaborative approach to interaction design that can be incorporated into an agile software development process.