TL;DR: This comparative summarizes the steps an organization would have to go through in order to make the best possible choice when selecting the right software development life cycle (SDLC).
Abstract: Organizations that are developing software solution are faced with the difficult choice of picking the right software development life cycle (SDLC). The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The V-model represents a software development process which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape Agile Modeling is a practice-based methodology for modelling and documentation of software-based systems. It is intended to be a collection of values, principles, and practices for modelling software that can be applied on a software development project in a more flexible manner than traditional Modelling methods. This comparative summarizes the steps an organization would have to go through in order to make the best possible choice.
TL;DR: This paper reviews the modern SDLC which are traditional methods and agile methods and explains the advantages and disadvantages of both methodologies and suggests improvements for current agile development so this lightweight SDLC could be adopted more in practice for organizational project management.
Abstract: Software development life cycle is the most important element in software development. It depicts the necessary phases in software development. This paper reviews the modern SDLC which are traditional methods and agile methods and explains the advantages and disadvantages of both methodologies. It also suggests improvements for current agile development so that this lightweight SDLC could be adopted more in practice for organizational project management.
TL;DR: The essence of this paper is to analyse some methodologies that could result in successful comparison of the SDLC models to extract most simple, easy and highly understandable method for comparingSDLC models.
Abstract: There are various SDLC models widely accepted and employed for developing software. SDLC models give a theoretical guide line regarding development of the software. Employing proper SDLC allows the managers to regulate whole development strategy of the software. Each SDLC has its advantages and disadvantages making it suitable for use under specific condition and constraints for specified type of software only. We need to understand which SDLC would generate most successful result when employed for software development. For this we need some method to compare SDLC models. Various methods have been suggested which allows comparing SDLC models. Comparing SLDC models is a complex task as there is no mathematical theorem or physical device available. The essence of this paper is to analyse some methodologies that could result in successful comparison of the SDLC models. For this we have studied various available tools, techniques and methodologies and have tried to extract most simple, easy and highly understandable method for comparing SDLC models.
TL;DR: This paper presents and justifies a complete set of mapping rules between RUP roles and one possible configuration for small software development teams, and describes a Rational Unified Process (RUP) tailoring to simplify the number of Rup roles.
Abstract: In the last decades the complexity of software development projects had a significant increase. This complexity emerges from the higher degree of sophistication in the contexts they aim to serve and from the evolution of the functionalities implemented by the applications However, many software corporations have a reduced dimension (micro, small or medium) which imposes a considerable constraint to the number of individuals that might be involved in each project. This limitation has obvious consequences to the individual’s efficiency and effectiveness. In this paper we describe a Rational Unified Process (RUP) tailoring to simplify the number of RUP roles. With this tailoring we obtain one set of RUP roles that, without neglecting any critical role of the software development process, may easily be adopted by a small or medium software development team. In this paper, we present and justify a complete set of mapping rules between RUP roles and one possible configuration for small software development teams.
TL;DR: This work is a case study of the challenges faced by a growing tax preparation software company during its attempt to achieve CMMI certification at maturity level two, while simultaneously implementing agile development practices in the form of Scrum.
Abstract: CMMI certification is a major accomplishment for a software organization, and is often required for an organization to stay competitive. This work is a case study of the challenges faced by a growing tax preparation software company during its attempt to achieve CMMI certification at maturity level two, while simultaneously implementing agile development practices in the form of Scrum. For legal reasons, the company's actual name (and those of its products) is withheld, the company is hereafter referred to by the hypothetical name of The Tax Company, Inc. The Tax Company, Inc. began its journey toward CMMI certification at maturity level two, and becoming an agile software company in late 2008, that journey continues today. A few key challenges are documented here so that other organizations can learn from our company's experiences. As of October 14, 2011, The Tax Company, Inc. passed its SCAMPI 'A' appraisal, and achieved CMMI certification at level two. While CMMI maturity level three may be considered, management has not indicated that this will be pursued in the near future.
TL;DR: In this paper, the authors identify general measures for the specific goal and its specific practices of Risk Management Process Area (PA) in Capability Maturity Model Integration (CMMI), which is a framework for improvement and assessment of computer information systems.
Abstract: Risk management is a continuous process that could endanger the objectives of a project or application. Risks are handled to reduce and avoid threats effects on the objectives of the project. The sources of risk are both internal and external to the project. This research will identify general measures for the specific goal and its specific practices of Risk Management Process Area (PA) in Capability Maturity Model Integration (CMMI). CMMI is developed by Software Engineering Institute (SEI) in Carnegie Mellon University in USA. CMMI is a framework for improvement and assessment of computer information systems. The method we used to define the measures is to apply the Goal Questions Metrics (GQM) paradigm to the specific goals and its specific practices of Risk Management Process Area in CMMI.
TL;DR: The main aim of the paper is to analyse the effect of integrating the CMMI maturity level-3(process area -RSKM) with the traditional software development process.
Abstract: CMMI defines the practices that are specially implemented by software development businesses to achieve success. Practices includes topics that direct about eliciting and managing requirements, decision making, measuring performance, planning work, handling risks, and more. In this paper we will discuss Capability Maturity Model Integration (CMMI) software process improvement maturity model and the process areas at various levels of CMMI in brief. The main emphasis of the paper is to discuss about the Risk Management (RSKM) which is one of process area at CMMI level-3. The purpose of Risk Management (RSKM) processes is to identify potential problems before they occur so that risk-handling activities can be planned and invoked as needed across the life of the product or project to mitigate adverse impacts on achieving objectives. The main aim of the paper is to analyse the effect of integrating the CMMI maturity level-3(process area -RSKM) with the traditional software development process. It represents an attempt to organize the sources of software development risk around the principal aspects of the software development cycle.
TL;DR: The index system and measurement model in measuring the quality of software developing process were built and the barrier of CMMI model could only be used in enterprise CMMI certification was broken down.
Abstract: Based on the specific elements in terms of process area, project, practice and relevant methodologies, which were adopted from Capability Maturity Model Integration(CMMI), this paper studied feasible appraisal program that combined the CMMI implementation cycle model into entire software process, therefore, the index system and measurement model in measuring the quality of software developing process were built and the barrier of CMMI model could only be used in enterprise CMMI certification was broken down.
TL;DR: This work has investigated, identified, enlisted and analyzed the different parameters of SDLC process models, and the outcome may be used to design and develop metrics for SDLC characterization.
Abstract: There exist several Software Development Lifecycle (SDLC) Models, but they are rarely followed by organizations for the real project implementations as they lack suitability On the way to investigate the reasons for non suitability of these models, it is exposed that there are insufficient parameters and metric for judging the characteristics of any SDLC model In this paper, we have investigated, identified, enlisted and analyzed the different parameters of SDLC process models The result of this work is of great significance as these results i) may help while developing any new SDLC model ii) may even help the development team to choose the best suitable model among the alternatives for any project and iii) the outcome of this work may further be used to design and develop metrics for SDLC characterization
TL;DR: The paper researched and analyzed the characteristics, deficiencies and reasons of a management system of a software enterprise project to design a software project management system based on CMMI 1.2, thus helping the enterprise to improve development and management efficiency of software project and reduce the risks and costs on project development.
Abstract: The paper researched and analyzed the characteristics, deficiencies and reasons of a management system of a software enterprise project to design a software project management system based on CMMI 1.2, thus helping the enterprise to improve development and management efficiency of software project and reduce the risks and costs on project development. It studied CMMI model version 1.3 which is recently released by SEI, analyzed its characteristics and told the difference between version 1.2 and version 1.3. In addition, an improvement proposal and a solution of the software project management system were given from multiple perspectives.
TL;DR: The right process-level of RUP to be applied to the systems integration project in a real world business scenario is investigated and the suitability of the Rational Unified Process for this project's context is evaluated.
Abstract: This paper presents a customization of the Rational Unified Process (RUP) in a systems integration scenario in a large telecommunication company. The purpose of congregating existing systems is to leverage greater benefits from the company'scomputer systems. RUP has been chosen as the software development process due to its strong focus on promoting the fulfillment of the needs of end-users, while all along increasing chances that the process be delivered within an estimated schedule and budget. However, despite the undisputed interest in RUP, there is a gap in the total amount of empirical studies on the adoption and introduction of RUP in the context of specific project types. Moreover, there is little research in investigating and adopting RUP in system integration scenarios. In this paper we investigate the right process-level of RUP to be applied to the systems integration project in a real world business scenario. In addition we evaluate the suitability of RUP for this project'scontext. Evaluation results present advantages and disadvantages of using RUP in projects of the type described here while areas of future work are identified and presented.
TL;DR: The framework to get a method that suitable for large organization and provide convenience to developers by combining IXP practice and RUP is proposed.
Abstract: Extreme Programming (XP) is a widely used method for software development. This method is used to improve the quality of software. However, the use of XP is limited to small and medium organization. Therefore, Industrial Extreme Programming (IXP) is developed to meet the needs of larger organization as an evolution of XP. However, IXP is not accompanied by complete procedures and tools needed by developer. Rational Unified Process (RUP) comes as a software development process that is flexible to other framework to be applied in. RUP provides clear steps and responsibilities in the development of software. We propose the framework to get a method that suitable for large organization and provide convenience to developers by combining IXP practice and RUP.
TL;DR: A set of problems and difficulties that organisations willing to implement CMMI should be aware of and a set of recommendations to help avoid them are identified and based on an extensive bibliographic research are provided.
Abstract: CMMI® has proven benefits in software process improvement. Typically, organisations that achieve a CMMI level rating improve their performance. However, CMMI implementation is not trivial, in particular for high maturity levels, and not all organisations achieve the expected results. Certain CMMI implementation problems may remain undetected by SCAMPISM since only a sample of the organisation is analysed during the appraisal and assessing the quality of implementation of some practices may be difficult. In this paper we present the case of three CMMI level 5 organisations. From the lessons learnt and based on an extensive bibliographic research, we identify a set of problems and difficulties that organisations willing to implement CMMI should be aware of and provide a set of recommendations to help avoid them. As future research we will develop a framework to help to evaluate the quality of implementation of CMMI practices.
TL;DR: This article provides an overview of agile techniques and how they can fit with the Capability Maturity Model Integration (CMMI) methodology.
Abstract: This article provides an overview of agile techniques and how they can fit with the Capability Maturity Model Integration (CMMI) methodology.
TL;DR: The aim of this research is to design the Light-Weight Project Management (LWPM) approach to implement CMMI by mapping between CMMI goals and Agile-Scrum based on defined artifacts and to indicate the differences in applying LWPM and the traditional Waterfall model.
Abstract: CMMI is one of the well-known and accepted maturity models that many software organizations have implemented for its quality processes which are expected to bring a good quality for their software products. However, traditional software process models become too heavy-weight to be deployed. The aim of this research is to design the Light-Weight Project Management (LWPM) approach to implement CMMI by mapping between CMMI goals and Agile-Scrum based on defined artifacts and to indicate the differences in applying LWPM and the traditional Waterfall model. Our approach focuses on the Project Management category which composes Project Planning (PP), Project Monitoring and Control (PMC) and Integrated Project Management (IPM). In order to compare both models we collected relevant data by using questionnaire and also the dedicated tool SPIALS (Software Process Improvement Adaptive Learning System).
TL;DR: When to implement agile models using CMMI to reduce the failure of software projects Index Terms—PM, CMMI, KPA is defined.
Abstract: The Software Engineering Institute (SEI) has conducted extensive research on improving the quality of software development process. Project management (PM) is an important part in software development organizations. Without proper software project management, it can lead to the failure of software projects. Many software projects are failed to implement the required functionality within schedule and budget. Agile process models emphasize on rapid development. These models have gained great popularity in software development community. One area, often under estimated but crucial, for every software development project, is its management. The major problem with the characteristics of Capability Maturity Model Integration (CMMI) is that it does not make any contribution to the productivity of individual engineers. This paper defines when to implement agile models using CMMI to reduce the failure of software projects Index Terms—PM, CMMI, KPA.
TL;DR: In this paper, a comparison approach of SDLC process is introduced, which is based on project characteristic categories and then categories are classified, which helps to choose the right software methodology for a project.
Abstract: Choosing the right SDLC (Software Development Lifecycle) methodology for your project is as important to the success of the project as the implementation of any project management best practices. Choose the wrong software methodology and you will add time to the development cycle. Adding extra time to the development cycle will increase your budget and very likely prevent you from delivering the project on time. I realize that not every project manager can choose the software methodology they will use on every project. Your organization may have invested heavily in the software methodology and supporting tools used to develop their software. In this paper, a comparison approach of SDLC process is introduced, which is based on project characteristic categories and then categories are classified. Paper described about comparison tables of SDLC models, and better selection process of SDLC models.
TL;DR: In this paper, the authors select a number of important elements in CMMI text, add software process areas and practices according to the advanced CMMI architecture concept, and apply CMMI to improve enterprise software development product quality.
Abstract: The paper selects a number of important elements in CMMI text, adds software process areas and practices according to the advanced CMMI architecture concept. Via software development’s requirements analysis, system design, coding, testing, system implementation in various stages, it applies CMMI to improve enterprise software development product quality. Streszczenie. Artykul przedstawia mozliwości system umozliwiającego poprawe jakości opracowanego oprogramowania znanego jako CMMI (Capability Maturity Model Integration). Analizowano wymagania, projekt, kodowanie, testowania na roznych etapach projektu produktu. (Badania modelowania oprogramowania dostosowanego do systemu CMMI)
TL;DR: The methodology of software development (MSF, Microsoft Solution Framework) is presented as a tool applied to small businesses, along with its effects within an organization.
Abstract: Software engineering is an area of technology, grounded on providing services with high quality standards, in order to fulfill a client’s corporate goals. This is why, focus is made in software life cycle, allowing the software engineer to increase his/her ability to analyze problems according to his/her context. This paper presents the methodology of software development (MSF, Microsoft Solution Framework) as a tool applied to small businesses, along with its effects within an organization. Direct or indirect, and positive or negative impacts in ongoing process improvement and standardization —according to a given need from a manager user or end user— are shown.
TL;DR: A project in which how RUP is tailored is shown is shown, in which all the team members evaluate the project being developed and project’s flip side is also discussed.
Abstract: For developing a project the framework which is widely used is Rational Unified Process (RUP). RUP is used widely due to its core principles i.e. architecture centric, uses use case model for user documentation and is an iterative and incremental process model. RUP defines many artifacts and roles which are very useful during software development. But RUP does not fit for all software’s to be developed as there are many different type of software with different requirements. Therefore RUP as defined cannot be used in some projects. Therefore it has to be tailored. In this case study we are representing a project in which how RUP is tailored is shown. Research method used in this case study is action research and for data collection postmortem analysis is done. In which all the team members evaluate the project being developed and project’s flip side is also discussed.
TL;DR: A new set of clear and proper CMMI model system is described briefly by the example of process and measurement models involved in software requirement.
Abstract: Based on the characteristic and dedicated field of an enterprise and feature of its internal projects, a new set of clear and proper CMMI model system is described briefly by the example of process and measurement models involved in software requirement.
TL;DR: A CMMI (Capability Maturity Model Integration) based Multi-Agent dynamic software process control and improved model is presented in this paper to address the issue of non-formalized software process models.
Abstract: Traditional software process models are mostly linear, non-formalized, static, mechanical and passive. A CMMI (Capability Maturity Model Integration) based Multi-Agent dynamic software process control and improved model is presented in this paper to address this issue. The software process elements (e.g. process areas, activities, resources, roles, process area products, etc.) and their relationship are described by the formalized multi-agent. The agent’s reasoning and adaptive mechanisms are applied to deal with the changes in the software process. Specific practices, generic practices, subpractices, task planning, resource allocation, product management and process collaborative are organized as self-adaptive process model. Based on this model, on one hand, a CMMI based software measurement process can be tailored for the process goals. On the other hand, the subpractice for software process improvement will be exported based on the software process measure results.
TL;DR: Based on the advanced CMMI architecture concept, this paper extracts formation process character of the specified type project products using CMMI software development in software management process.
Abstract: Using CMMI architecture can bring scientific management to project management However, at present how to use CMMI software development in software management process Based on the advanced CMMI architecture concept, this paper extracts formation process character of the specified type project products It establishes software models, initiates standardized project It research, develop, inspect, audit and implement relevant content of the procedure It decomposes the actual project problem and translates into software implementation process Ultimately it achieves centralized management to multiple projects Streszczenie W artykule zaprezentowano zastosowanie architektury CMMI (Capability Maturity Model Integration) do oprogramowania problemow projektowych (Zastosowanie architektury CMMI do oprogramowania problemow projektowych)
TL;DR: A simulation model for the Waterfall development process is proposed using the Simphony.NET simulation tool whose role is to assist project managers in determining how to achieve the maximum productivity with the minimum number of expenses, workers, and hours.
Abstract: Software development life cycle or SDLC for short is a methodology for designing, building, and maintaining information and industrial systems. So far, there exist many SDLC models, one of which is the Waterfall model which comprises five phases to be completed sequentially in order to develop a software solution. However, SDLC of software systems has always encountered problems and limitations that resulted in significant budget overruns, late or suspended deliveries, and dissatisfied clients. The major reason for these deficiencies is that project directors are not wisely assigning the required number of workers and resources on the various activities of the SDLC. Consequently, some SDLC phases with insufficient resources may be delayed; while, others with excess resources may be idled, leading to a bottleneck between the arrival and delivery of projects and to a failure in delivering an operational product on time and within budget. This paper proposes a simulation model for the Waterfall development process using the Simphony.NET simulation tool whose role is to assist project managers in determining how to achieve the maximum productivity with the minimum number of expenses, workers, and hours. It helps maximizing the utilization of development processes by keeping all employees and resources busy all the time to keep pace with the arrival of projects and to decrease waste and idle time. As future work, other SDLC models such as spiral and incremental are to be simulated, giving project executives the choice to use a diversity of software development methodologies.