Abstract Design by contract is the principle that the interfaces between modules of a software system-especially a mission-critical one-should be governed by precise specifications. The contracts cover mutual obligations (pre-conditions),... more
Abstract Design by contract is the principle that the interfaces between modules of a software system-especially a mission-critical one-should be governed by precise specifications. The contracts cover mutual obligations (pre-conditions), benefits (post-conditions), and consistency constraints (invariants). Together, these properties are known as assertions, and are directly supported in some design and programming languages. A recent $500 million software error provides a sobering reminder that this principle is not ...
Small and medium enterprises are a very important cog in the gears of the world economy. The software industry in most countries is composed of an industrial scheme that is made up mainly of small and medium software enterprises—SMEs. To... more
Small and medium enterprises are a very important cog in the gears of the world economy. The software industry in most countries is composed of an industrial scheme that is made up mainly of small and medium software enterprises—SMEs. To strengthen these types of organizations, efficient Software Engineering practices are needed—practices which have been adapted to their size and type of business. Over the last two decades, the Software Engineering community has expressed special interest in software process improvement (SPI) in an effort to increase software product quality, as well as the productivity of software development. However, there is a widespread tendency to make a point of stressing that the success of SPI is only possible for large companies. In this article, a systematic review of published case studies on the SPI efforts carried out in SMEs is presented. Its objective is to analyse the existing approaches towards SPI which focus on SMEs and which report a case study carried out in industry. A further objective is that of discussing the significant issues related to this area of knowledge, and to provide an up-to-date state of the art, from which innovative research activities can be thought of and planned.
Different advances have been made in the development of software process improvement (SPI) standards and models, e.g. capability maturity model (CMM), more recently CMMI, and ISO's SPICE. However, these advances have not been matched by... more
Different advances have been made in the development of software process improvement (SPI) standards and models, e.g. capability maturity model (CMM), more recently CMMI, and ISO's SPICE. However, these advances have not been matched by equal advances in the adoption of these standards and models in software development which has resulted in limited success for many SPI efforts. The current problem with SPI is not a lack of standard or model, but rather a lack of an effective strategy to successfully implement these standards or models. The importance of SPI implementation demands that it be recognised as a complex process in its own right and that organizations should determine their SPI implementation maturity through an organized set of activities. In the literature, much attention has been paid to “what activities to implement” instead of “how to implement” these activities. We believe that identification of only “what” activities to implement is not sufficient and that knowledge of “how” to implement is also required for successful implementation of SPI programmes.We have adopted a CMMI approach and developed a maturity model for SPI implementation in order to guide organizations in assessing and improving their SPI implementation processes. The basis of this model is what we have studied in the SPI literature and an empirical study we have carried out. In the design of this maturity model we have extended the concept of critical success factors (CSFs). We have conducted CSF interviews with 23 Australian practitioners. We have also analysed CSFs and critical barriers using 50 research articles (published experience reports and case studies). This maturity model has three dimensions––maturity stage dimension, CSF dimension and assessment dimension. It provides a very practical structure with which to assess and improve SPI implementation processes.
We have conducted face-to-face questionnaire based survey sessions with twenty-three Vietnamese software practitioners in order to determine software process improvement (SPI) de-motivators. The main objective of this study is to provide... more
We have conducted face-to-face questionnaire based survey sessions with twenty-three Vietnamese software practitioners in order to determine software process improvement (SPI) de-motivators. The main objective of this study is to provide SPI practitioners with some insight into designing appropriate SPI implementation strategies and to maximize practitioners support for SPI. We asked practitioners to choose and rank various SPI de-motivator against the five types of assessments (high, medium, low, zero or do not know). ...
This paper provides an overview of the latest version of the Capability Maturity Model for Software, CMM v1.1. Based on over six years of experience with software process improvement and the contributions of hundreds of reviewers, CMM... more
This paper provides an overview of the latest version of the Capability Maturity Model for Software, CMM v1.1. Based on over six years of experience with software process improvement and the contributions of hundreds of reviewers, CMM v1.1 describes the software engineering and management practices that characterize organizations as they mature their processes for developing and maintaining software. This paper stresses the need for a process maturity framework to prioritize improvement actions, describes the process maturity framework of five maturity levels and the associated structural components, and discusses future directions for the CMM.
BACKGROUND-Software Process Improvement (SPI) is a systematic approach to increase the efficiency and effectiveness of a software development organization and to enhance software products. OBJECTIVE-This paper aims to identify and... more
BACKGROUND-Software Process Improvement (SPI) is a systematic approach to increase the efficiency and effectiveness of a software development organization and to enhance software products. OBJECTIVE-This paper aims to identify and characterize evaluation strategies and measurements used to assess the impact of different SPI initiatives. METHOD-The systematic literature review includes 148 papers published between 1991 and 2008. The selected papers were classified according to SPI initiative, applied evaluation strategies, and measurement perspectives. Potential confounding factors interfering with the evaluation of the improvement effort were assessed. RESULTS-Seven distinct evaluation strategies were identified, wherein the most common one, “Pre-Post Comparison,” was applied in 49 percent of the inspected papers. Quality was the most measured attribute (62 percent), followed by Cost (41 percent), and Schedule (18 percent). Looking at measurement perspectives, “Project” represents the majority with 66 percent. CONCLUSION-The evaluation validity of SPI initiatives is challenged by the scarce consideration of potential confounding factors, particularly given that “Pre-Post Comparison” was identified as the most common evaluation strategy, and the inaccurate descriptions of the evaluation context. Measurements to assess the short and mid-term impact of SPI initiatives prevail, whereas long-term measurements in terms of customer satisfaction and return on investment tend to be less used.
In this article, we present findings from our recent empirical study of the critical success factors (CSFs) for software process improvement (SPI) implementation with 34 SPI practitioners. The objective of this study is to provide SPI... more
In this article, we present findings from our recent empirical study of the critical success factors (CSFs) for software process improvement (SPI) implementation with 34 SPI practitioners. The objective of this study is to provide SPI practitioners with sufficient knowledge about the nature of issues that play a positive role in the implementation of SPI programmes in order to assist them in effectively planning SPI implementation strategies.
Software Process Improvement (SPI) aims to understand the software process as it is used within an organisation and thus drive the implementation of changes to that process to achieve specific goals such as increasing development speed,... more
Software Process Improvement (SPI) aims to understand the software process as it is used within an organisation and thus drive the implementation of changes to that process to achieve specific goals such as increasing development speed, achieving higher product quality or reducing costs. Accordingly, SPI researchers must be equipped with the methodologies and tools to enable them to look within organisations and understand the state of practice with respect to software process and process improvement initiatives, in addition to investigating the relevant literature. Having examined a number of potentially suitable research methodologies, we have chosen Grounded Theory as a suitable approach to determine what was happening in actual practice in relation to software process and SPI, using the indigenous Irish software product industry as a test-bed. The outcome of this study is a theory, grounded in the field data, that explains when and why SPI is undertaken by the software industry. The objective of this paper is to describe both the selection and usage of grounded theory in this study and evaluate its effectiveness as a research methodology for software process researchers. Accordingly, this paper will focus on the selection and usage of grounded theory, rather than results of the SPI study itself.
This paper presents the results of a study of how software process and software process improvement (SPI) is applied in actual practice in the software industry using the indigenous Irish software product industry as a test-bed. The study... more
This paper presents the results of a study of how software process and software process improvement (SPI) is applied in actual practice in the software industry using the indigenous Irish software product industry as a test-bed. The study used the grounded theory methodology to produce a theory, grounded in the field data, that explains how software processes are formed and evolve and when and why SPI is undertaken. Our research found that SPI programmes are implemented reactively and many software managers are reluctant to implement SPI best practice models because of the associated costs.
Our research objective is to understand software outsourcing practitioners' perceptions of the role of trust in managing client-vendor relationships and the factors that are critical to trust in off-shore software outsourcing... more
Our research objective is to understand software outsourcing practitioners' perceptions of the role of trust in managing client-vendor relationships and the factors that are critical to trust in off-shore software outsourcing relationships. Participants were 12 Vietnamese software development practitioners developing software for Far Eastern, European, and American clients. They identified that cultural understanding, creditability, capabilities, and personal visits are important factors in gaining the initial trust of a client, while cultural understanding, communication strategies, contract conformance, and timely delivery are vital factors in maintaining that trust. We contrast Vietnamese and Indian practitioners' views on factors affecting trust relationships.
While there has been much research on the study of global virtual teams and global software teams, there has been practically no research on the nuances of time separation. We present three converging perspectives on this topic: (a) a... more
While there has been much research on the study of global virtual teams and global software teams, there has been practically no research on the nuances of time separation. We present three converging perspectives on this topic: (a) a view from practices and tactics of global teams; (b) a theoretical view from coordination theories; and (c) a view from our prior research in which we modeled coordination costs for time-separated dyads. Practice suggests that time separation arises not only from time-zone differences but also from factors such as nonoverlapping weekend days and holidays, shifts, and different working schedules. It also suggests that teams employ various coping tactics when faced with time separation -synchronous, asynchronous, and education. Theory suggests that communication is necessary to coordinate and that effectiveness of communication is hampered, both in quality and timeliness, when teams are separated by time. Our model, based on coordination theory, suggests that coordination costs contain four main components -communication, clarification, delay, and rework -and that the various aspects of time-separated work have different effects on each of these components. Our convergent view from these three perspectives shows that distance separation is symmetric -i.e. distance (A,B) = distance (B,A) -while time separation is asymmetric, which affects the planning of team interactions; that the timing of activities matters in time-separated contexts but not in contexts with only distance separation; and that vulnerability costs (i.e. resolving misunderstandings and rework) increase with time separation.
In this paper we develop a learning-mediated model of offshore software project productivity and quality to examine whether widely adopted structured software processes are effective in mitigating the negative effects of work dispersion... more
In this paper we develop a learning-mediated model of offshore software project productivity and quality to examine whether widely adopted structured software processes are effective in mitigating the negative effects of work dispersion in offshore software development. We explicate how the key process areas of the capability maturity model (CMM) can be utilized as a platform to launch learning routines in offshore software development and thereby explain why some offshore software development process improvement initiatives are more effective than others. We validate our learningmediated model of offshore software project performance by utilizing data collected from 42 offshore software projects of a large firm that operates at the CMM level-5 process maturity. Our results indicate that investments in structured processes mitigate the negative effects of work dispersion in offshore software development. We also find that the effect of software process improvement initiatives is mediated through investments in process-based learning activities. These results imply that investments in structured processes and the corresponding process-based learning activities can be an economically viable way to counter the challenges of work dispersion and improve offshore project performance. We discuss the implication of these results for the adoption of normative process models by offshore software firms.
Technology. His research interests include global software development, process improvement, self-management, and agile software development. Moe has a master'
the Netherlands, where he holds a chair in quality management and quality engineering. His research interests include making (software) quality manageable and transferring new technologies successfully into practice. He received his PhD... more
the Netherlands, where he holds a chair in quality management and quality engineering. His research interests include making (software) quality manageable and transferring new technologies successfully into practice. He received his PhD in management science from Eindhoven University of Technology. He is a member of the IEEE Computer Society, the Dutch society for informatics (NGI) and SPIder (the Dutch software process improvement network). Please contact the author if you have access to experience reports that include ROI data on SPI that are not included in this article. Contact him at LogicaCMG, PO Box 8566, NL-3009-AN,
Global interorganizational software development projects are becoming common, but their management and the creation of practices and processes to support collaboration seem to be harder than what the companies expect. In this article, we... more
Global interorganizational software development projects are becoming common, but their management and the creation of practices and processes to support collaboration seem to be harder than what the companies expect. In this article, we present successful collaboration practices collected in an interview study of eight globally distributed interorganizational software development projects.
A number of advances have been made in the development of software process improvement (SPI) standards and models, e.g. Capability Maturity Model (CMM), more recently CMMI, and ISO’s SPICE. However, these advances have not been matched by... more
A number of advances have been made in the development of software process improvement (SPI) standards and models, e.g. Capability Maturity Model (CMM), more recently CMMI, and ISO’s SPICE. However, these advances have not been matched by equal advances in the adoption of these standards and models in software development which hasresulted in limited success for many SPI efforts. The current problem with SPI is not a lack of standards or models, but rather a lack of an effective strategy to successfully implement these standards or models.In this paper we have focused on SPI implementation issues and designed three individual components in order to assist SPI practitioners in the design of effective SPI implementation initiatives. We have pulled together individual components under one SPI implementation framework (SPI-IF) using a bottom-up approach already familiar to many practitioners and researchers. The framework is based on the results drawn from SPI literature and an empirical study we have carried out. In the design of SPI-IF, the concept of critical success factors (CSFs) was used and extended. Thirty-four CSF interviews were conducted with Australian practitioners. In addition, 50 research articles (published experience reports and case studies) were also selected and analysed in order to identify factors that play positive or negative roles in SPI implementation. The SPI-IF provides a very practical structure with which to assess and implement SPI implementation initiatives.In order to evaluate SPI-IF, a practical evaluation scheme was undertaken. The evaluation results show that SPI-IF has potential to assist SPI practitioners in the design of effective SPI implementation initiatives. Thus, we recommend organizations to use SPI-IF in order to effectively design SPI implementation initiatives.
Competisoft provides the Latin American software industry with a reference framework for improvement and certification of its software processes.The project is based on proven solutions, including the MoProSoft model that four Mexican... more
Competisoft provides the Latin American software industry with a reference framework for improvement and certification of its software processes.The project is based on proven solutions, including the MoProSoft model that four Mexican software companies applied to increase their processes' capacity level.
In a company producing off-the-shelf software for mass markets, the future development steps of the products cannot be negotiated with one or few customers. The decisions concerning the priorities of the requirements must be made within... more
In a company producing off-the-shelf software for mass markets, the future development steps of the products cannot be negotiated with one or few customers. The decisions concerning the priorities of the requirements must be made within the company, the developer bearing all the financial risks included. This means that finding the right priorities for the requirements is important. However, requirements prioritization is recognized as a difficult activity in software product development. The literature offers methods for requirements prioritization, but many authors report that practices in companies are mostly informal. In this study, we evaluated two requirements prioritization methods in industrial product development projects. In the first case, the users of the system evaluated the pair-wise comparison technique for prioritizing user needs. In the second case, practitioners evaluated Wiegers' method for change requests. In addition, we interviewed 11 practitioners from 6 companies about their current requirements prioritization practices and the models that they use as a basis of their prioritization decisions. Our findings indicate that prioritization methods may have limited ability to support decision-making in a complex area like requirements prioritization in market-driven product development. In addition, there are practical difficulties in the usage of methods, and therefore, prioritization results should be taken more as being indicative than as an ultimate truth.
In this paper we present survey data characterizing the implementation of SPI in 85 UK companies. We aim to provide SPI managers with more understanding of the critical success factors of implementing SPI. We present an analysis of the... more
In this paper we present survey data characterizing the implementation of SPI in 85 UK companies. We aim to provide SPI managers with more understanding of the critical success factors of implementing SPI. We present an analysis of the critical implementation factors identified in published case studies. We use a questionnaire to measure the use of these factors in 'typical' software companies. We found that many companies use SPI but the effectiveness of SPI implementation is variable. Many companies inadequately resource SPI and fail to evaluate the impact of SPI. On the other hand, companies show a good appreciation of the human factors associated with implementing SPI.
A recent trend in software engineering is the shift from a focus on laboratory-oriented software engineering to a more industry-oriented view of software engineering processes. This complements preceding ideas about software engineering... more
A recent trend in software engineering is the shift from a focus on laboratory-oriented software engineering to a more industry-oriented view of software engineering processes. This complements preceding ideas about software engineering in terms of organization and process-orientation. From the domain coverage point of view, many of the existing software engineering approaches have mainly concentrated on the technical aspects of software development. Important areas of software engineering, such as the technical and organizational infrastructures, have been left untouched. As software systems increase in scales, issues of complexity and professional practices become involved. Software development as an academic or laboratory activity, has to engage with software development as a key industrialized process.
Learning from high performance projects is crucial for software process improvement. Therefore, we need to identify outstanding projects that may serve as role models. It is common to measure productivity as an indicator of performance.... more
Learning from high performance projects is crucial for software process improvement. Therefore, we need to identify outstanding projects that may serve as role models. It is common to measure productivity as an indicator of performance. It is vital that productivity measurements deal correctly with variable returns to scale and multivariate data.
In order to guide the tailoring of existing approaches for the establishment of software processes in small companies, we report our experiences on defining and implementing software processes in two small software companies. The paper... more
In order to guide the tailoring of existing approaches for the establishment of software processes in small companies, we report our experiences on defining and implementing software processes in two small software companies. The paper describes the principal steps performed and presents information on costs and duration. We analyse, if and how process guides are used, their impacts and how they are improved. Our findings indicate that also in this specific kind of organisation, software processes can be established successfully at low cost considering typical business models, goals and characteristics of small organisations. q
In this paper we explore how open source projects address issues of usability. We describe the mechanisms, techniques and technology used by open source communities to design and refine the interfaces to their programs. In particular we... more
In this paper we explore how open source projects address issues of usability. We describe the mechanisms, techniques and technology used by open source communities to design and refine the interfaces to their programs. In particular we consider how these developers cope with their distributed community, lack of domain expertise, limited resources and separation from their users. We also discuss how bug reporting and discussion systems can be improved to better support bug reporters and open source developers.
Harmonization plays an important role in organizations that are seeking to resolve manifold needs at their different hierarchical levels through multiple models such as CMMI, ISO 90003, ITIL, SWEBOK, COBIT, amongst others. A great... more
Harmonization plays an important role in organizations that are seeking to resolve manifold needs at their different hierarchical levels through multiple models such as CMMI, ISO 90003, ITIL, SWEBOK, COBIT, amongst others. A great diversity of models involves a wide heterogeneity not only about structure of their process entities and quality systems, but also with regards to terminology. This article presents an ontology which: provides the main concepts related to harmonization of multiple models; is supported by a web tool and; has been applied for the harmonization of COBIT 4.1, Basel II, VAL IT, RISK IT, ISO 27002 and ITIL.
Software process improvement efforts often seek to shorten development lead-time. A potential means is to facilitate architectural changes by providing a design rationale, i.e. a documentation of why the architecture is built as it is.... more
Software process improvement efforts often seek to shorten development lead-time. A potential means is to facilitate architectural changes by providing a design rationale, i.e. a documentation of why the architecture is built as it is. The hypothesis is that changes will be faster and more correct if such information is available during change impact analysis. This paper presents a controlled experiment where the value of having access to a retrospective design rationale is evaluated both quantitatively and qualitatively. Realistic change tasks are applied by 17 subjects from both industry and academia on two complex systems from the domain of embedded real-time systems. The results from the quantitative analysis show that, for one of the systems, there is a significant improvement in correctness and speed when subjects have access to a design rationale document. In the qualitative analysis, design rationale was considered helpful for speeding up changes and improving correctness. For the other system the results were inconclusive, and further studies are recommended in order to increase the understanding of the role of a design rationale in architectural evolution of software systems.
Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark. Library of... more
Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark. Library of Congress Cataloging-in-Publication Data Software process improvement for small and medium enterprises : techniques and case studies / Hanna Oktaba and Mario Piattini, editors. p. cm. Summary: "This book offers practical and useful guidelines, models, and techniques for improving software processes and products for small and medium enterprises, utilizing the authoritative, demonstrative tools of case studies and lessons learned to provide academics, scholars, and practitioners with an invaluable research source,"-Provided by publisher.
The evaluation of software processes is nowadays a very important issue due to the growing interest of software companies in the improvement of the productivity and quality of delivered products. Software measurement plays a fundamental... more
The evaluation of software processes is nowadays a very important issue due to the growing interest of software companies in the improvement of the productivity and quality of delivered products. Software measurement plays a fundamental role here. Given the great diversity of entities which are candidates for measurement in the software process improvement context (process models, projects, resources, products) this measurement must be performed in a consistent and integrated way. This will facilitate the making of decisions in process improvement. In this paper, a proposal for the integrated management of the software measurement is presented. The goal is to provide companies with a generic and flexible environment for software measurement which facilitates and establishes the basis for a common and effective measurement process and which is not restricted to only one kind of software entity or to a single quality or evaluation model. In order to achieve this, the proposal adopts the Model Driven Engineering philosophy and provides: a metamodel for the definition of software measurement models; a flexible method to measure any kind of software entity represented by its corresponding metamodel and GenMETRIC, which is the software tool that supports the framework.
This paper presents a framework that draws on structuration theory and dialectical hermeneutics to explicate the dynamics of software process improvement (SPI) in a packaged software organisation. Adding to the growing body of qualitative... more
This paper presents a framework that draws on structuration theory and dialectical hermeneutics to explicate the dynamics of software process improvement (SPI) in a packaged software organisation. Adding to the growing body of qualitative research, this approach overcomes some of the criticisms of interpretive studies, especially the need for the research to be reflexive in nature. Our longitudinal analysis of the case study shows SPI to be an emergent rather than a deterministic activity: the design and action of the change process are shown to be intertwined and shaped by their context. This understanding is based upon a structurational perspective that highlights how the unfolding/realisation of the process improvement (intent) are enabled and constrained by their context. The work builds on the recognition that the improvements can be understood from an organisational learning perspective. Fresh insights to the improvement process are developed by recognising the role of the individual to influence the improvement through facilitating or resisting the changes. The understanding gained here can be applied by organisations to enable them to improve the effectiveness of their SPI programmes, and so improve the quality of their software.
Context: Diagnosing processes in a small company requires process assessment practices which give qualitative and quantitative results; these should offer an overall view of the process capability. The purpose is to obtain relevant... more
Context: Diagnosing processes in a small company requires process assessment practices which give qualitative and quantitative results; these should offer an overall view of the process capability. The purpose is to obtain relevant information about the running of processes, for use in their control and improvement. However, small organizations have some problems in running process assessment, due to their specific characteristics and limitations. Objective: This paper presents a methodology for assessing software processes which assist the activity of software process diagnosis in small organizations. There is an attempt to address issues such as the fact that: (i) process assessment is expensive and typically requires major company resources and (ii) many light assessment methods do not provide information that is detailed enough for diagnosing and improving processes. Method: To achieve all this, the METvalCOMPETISOFT assessment methodology was developed. This methodology: (i) incorporates the strategy of internal assessments known as rapid assessment, meaning that these assessments do not take up too much time or use an excessive quantity of resources, nor are they too rigorous and (ii) meets all the requirements described in the literature for an assessment proposal which is customized to the typical features of small companies. Results: This paper also describes the experience of the application of this methodology in eight small software organizations that took part in the COMPETISOFT project. The results obtained show that this approach allows us to obtain reliable information about the strengths and weaknesses of software processes, along with information to companies on opportunities for improvement. Conclusion: The assessment methodology proposed sets out the elements needed to assist with diagnosing the process in small organizations step-by-step while seeking to make its application economically feasible in terms of resources and time. From the initial application it may be seen that this assessment methodology can be useful, practical and suitable for diagnosing processes in this type of organizations.
Current research in the field of software product management (SPM) and software process improvement does not take the situational context of a company into account. Taking the context into account, allows small and medium sized companies... more
Current research in the field of software product management (SPM) and software process improvement does not take the situational context of a company into account. Taking the context into account, allows small and medium sized companies to improve their SPM processes in a more optimal manner. This research shows that situational factors (SFs) influence the selection process of method fragments for SPM in two applications: SPM process maintenance – the influence level of SFs on the SPM processes: if the SF changes value the SPM process may need to be changed; and method fragment choice – selecting a method which fits the situational context of the company. This paper presents a list of 27 situational factors in 5 categories, relevant to SPM, with the level of influence they have on the selection of (parts of) methods.
This paper describes the case study of an application of the Capability Maturity Model (CMM) to a micro team with less than 10 people and very limited resources, clearly placed in the first CMM level of maturity, the Initial level. A... more
This paper describes the case study of an application of the Capability Maturity Model (CMM) to a micro team with less than 10 people and very limited resources, clearly placed in the first CMM level of maturity, the Initial level. A major aim of the case, which extended over a period of one year, was to study the extent to which the CMM could be adapted to very small teams for software process improvement (SPI). We have concentrated primarily on those parts of the CMM that involve the achievement of the objectives of key process areas (KPA) in level 2, the Repeatable level. Throughout the year we gathered data from a wide range of management and engineering tasks. The results obtained after one year have shown a clear improvement of the process. The pragmatic application of the CMM has thus shown that SPI can indeed be achieved by a very small team. We also came to the conclusion that the CMM cannot be applied in a straightforward manner by such a small team. We have also concluded that team management is just as important as process management in this kind of environment.
With increasing interest by the software development community in software process improvement (SPI), it is vital that SPI programs are evaluated and the reports of lessons learned disseminated. This paper presents an evaluation of a... more
With increasing interest by the software development community in software process improvement (SPI), it is vital that SPI programs are evaluated and the reports of lessons learned disseminated. This paper presents an evaluation of a program in which low-rigour, one-day SPI assessments were offered at no cost to 22 small Australian software development firms. The assessment model was based on ISO/IEC 15504 (SPICE). About twelve months after the assessment, the firms were contacted to arrange a follow-up meeting to determine the extent to which they had implemented the recommendations from the assessment.
Little attention has been paid in the literature on "how to implement" software process improvement (SPI) which has resulted in limited success for many SPI efforts. In this paper we report on our recent empirical study which explored the... more
Little attention has been paid in the literature on "how to implement" software process improvement (SPI) which has resulted in limited success for many SPI efforts. In this paper we report on our recent empirical study which explored the experiences and perceptions of practitioners about SPI implementation. We visited 11 companies and conducted 14 in-depth interviews. Using the different experiences and opinions of practitioners regarding SPI implementation, we have developed a model for the implementation of SPI programmes. This model has six phases -awareness, learning, pilot implementation, SPI implementation action plan, implementation across the organization and maintenance -and provides advice to practitioners in effectively implementing SPI programmes.
Objective: In this paper, we present findings from an empirical study that was aimed at identifying the relative ''perceived value" of CMMI level 2 specific practices based on the perceptions and experiences of practitioners of small and... more
Objective: In this paper, we present findings from an empirical study that was aimed at identifying the relative ''perceived value" of CMMI level 2 specific practices based on the perceptions and experiences of practitioners of small and medium size companies. The objective of this study is to identify the extent to which a particular CMMI practice is used in order to develop a finer-grained framework, which encompasses the notion of perceived value within specific practices. Method: We used face-to-face questionnaire based survey sessions as the main approach to collecting data from 46 software development practitioners from Malaysia and Vietnam. We asked practitioners to choose and rank CMMI level 2 practices against the five types of assessments (high, medium, low, zero or do not know). From this, we have proposed the notion of 'perceived value' associated with each practice. Results: We have identified three 'requirements management' practices as having a 'high perceived value'. The results also reveal the similarities and differences in the perceptions of Malaysian and Vietnamese practitioners with regard to the relative values of different practices of CMMI level 2 process areas. Conclusions: Small and medium size companies should not be seen as being ''at fault" for not adopting CMMI -instead the Software Process Improvement (SPI) implementation approaches and its transition mechanisms should be improved. We argue that research into ''tailoring" existing process capability maturity models may address some of the issues of small and medium size companies. (M. Niazi), malibaba@lero.ie (M.A. Babar). Information and Software Technology xxx (2009) xxx-xxx 2 M. Niazi, M.A. Babar / Information and Software Technology xxx (2009) xxx-xxx ARTICLE IN PRESS Please cite this article in press as: M. Niazi, M.A. Babar, Identifying high perceived value practices of CMMI level 2: An empirical study, Inform. Softw.
This paper presents a comprehensive overview of all the important areas within Software Product Management (SPM). The overview has been created and validated in collaboration with many experts from practice and the scientific community.... more
This paper presents a comprehensive overview of all the important areas within Software Product Management (SPM). The overview has been created and validated in collaboration with many experts from practice and the scientific community. It provides a list of 68 capabilities a product software organization should implement to reach a full grown SPM maturity. The overview consists of the SPM Competence Model that shows the areas of importance to SPM, and the SPM Maturity Matrix that lists all important activities within those areas in a best practice implementation order. SPM organizations can use this matrix to map and improve their SPM practices incrementally.
For many years now software process improvement (SPI) has been recognised as an effective way for companies to improve the quality of the software they produce and the productivity with which they work. Much work has gone into developing... more
For many years now software process improvement (SPI) has been recognised as an effective way for companies to improve the quality of the software they produce and the productivity with which they work. Much work has gone into developing and selling improvement paradigms, assessment methods, modelling languages, tools and technologies. The challenge for small-tomedium software development companies (SMEs) now is to find a way to apply these SPI technologies to realise their company's improvement goals. For SMEs the most pressing requirements for improvement paradigms are that they are not only effective but that they realise tangible results quickly, can be implemented incrementally and utilise the many existing process improvement technologies. This paper presents a framework for SPI that realises these needs. The framework is designed to utilise a range of improvement technologies and supports continuous and highly focused improvement over many projects, thus producing timely, cost-effective and tangible improvements for SMEs. The effectiveness of the framework is illustrated in this paper with its application in a small, Sydney-based, webdevelopment company.
In market-driven development where time-to-market is of crucial importance, software development companies seek improvements that can decrease the lead-time and improve the delivery precision. One way to achieve this is by analyzing the... more
In market-driven development where time-to-market is of crucial importance, software development companies seek improvements that can decrease the lead-time and improve the delivery precision. One way to achieve this is by analyzing the test process since rework commonly accounts for more than half of the development time. A large reason for high rework costs is fault slippages from earlier phases where they are cheaper to find and remove. As an input to improvements, this article introduces a measure that can quantify this relationship. That is, a measure called faults-slip-through, which determines the faults that would have been more cost-effective to find in an earlier phase. The method presented in this article also determines the excessive costs of the faults that slipped through phases, i.e. the improvement potential. The method was validated through practical application in two software development projects at the telecom company Ericsson AB. The results of the case study determined that the implementation phase had the largest improvement potential in the two studied projects since it caused a large faults-slip-through to later phases, i.e. 85 and 86% of the total improvement potential of each project.
The paper concerns software process improvement in Very Small Enterprises (VSEs). It presents briefly a gradual methodology to initiate software process improvement in VSE through three steps approach and develops the first and most... more
The paper concerns software process improvement in Very Small Enterprises (VSEs). It presents briefly a gradual methodology to initiate software process improvement in VSE through three steps approach and develops the first and most original step. This first step is based on a light evaluation achieved by means of a dedicated Micro-Evaluation approach. It has been experimented during 7 years in 86 organizations from three countries. The experience with that utilization tends to show that such a light approach is practicable and promising, at least for the targeted enterprises.
In this article, we analyze current initiatives in multimodel software process improvement and identify criteria for multimodel solutions. With multimodel, we mean the simultaneous usage of more than one quality approach (e.g. standards,... more
In this article, we analyze current initiatives in multimodel software process improvement and identify criteria for multimodel solutions. With multimodel, we mean the simultaneous usage of more than one quality approach (e.g. standards, methods, techniques to improve software processes). This paper discusses first the current problems regarding the use of multiple software quality approaches. Subsequently, multimodel initiatives are categorized into three different groups, respectively: quality approach harmonization, quality approach integration, and quality approach mapping. Based on an analysis of the strengths and weaknesses of current multimodel initiatives in these three classes, we derive a set of criteria, which can provide a basis for multimodel software process improvement solutions.
Top-down process improvement approaches provide a high-level model of what the process of a software development organisation should be. Such models are based on the consensus of a designated working group on how software should be... more
Top-down process improvement approaches provide a high-level model of what the process of a software development organisation should be. Such models are based on the consensus of a designated working group on how software should be developed or maintained. They are very useful in that they provide general guidelines on where to start improving, and in which order, to people who do not know how to do it. However, the majority of models have only worked in scenarios within large companies. The authors aim to help small software development organisations adopt an iterative approach by providing a process improvement web-based tool. This study presents research into a proposal which states that a small organisation may use this tool to assess and improve their software process, identifying and implementing a set of agile project management practices that can be strengthened using the CMMI-DEV 1.2 model as reference.
This paper presents a case study of the installation and use of an electronic process guide (EPG) within a small-to-medium software development company. The purpose of the study is to better understand how software engineers use this... more
This paper presents a case study of the installation and use of an electronic process guide (EPG) within a small-to-medium software development company. The purpose of the study is to better understand how software engineers use this technology so that it can be improved and better used to support software process improvement. In the study the EPG was used to guide new processes in a software improvement programme. The use of the EPG was studied over a period of eight months with data collected through access logs, by questionnaires and by interviews. The results show that the improvement programme was successful in improving project documentation, project management and the company's relationship with its customers. The EPG contributed to the improvement programme by providing support for the creation of templates for key project documentation, assisting with project planning and estimation and providing a forum for discussion of process and work practices. The biggest improvements that could be made to the EPG would be to provide better navigation tools including a graphical overview of the process, provide tailoring facilities, include examples and experience and link to a project management tool.
In order to investigate practitioners' opinions of software process and software process improvement, we have collected a large volume of qualitative evidence from 13 companies. At the same time, other researchers have reported... more
In order to investigate practitioners' opinions of software process and software process improvement, we have collected a large volume of qualitative evidence from 13 companies. At the same time, other researchers have reported investigations of practitioners, and we are interested in how their reports may relate to our evidence. Thus, other research publications can also be treated as a form of qualitative data. In this paper, we review advice on a method, content analysis, that is used to analyse qualitative data. We use content analysis to describe and analyse discussions on software process and software process improvement. We report preliminary findings from an analysis of both the focus group evidence and four publications.