TL;DR: This research aims to develop aSDLC which has a foundation of a plan driven SDLC which incorporates agile practices which can be followed when developing regulatory compliant software.
Abstract: Through the use of semi structured interviews with medical device software organizations it emerged that medical device software organizations are experiencing difficulties when following plan driven Software Development Life Cycles (SDLC), particularly in the area of requirements management. To attempt to resolve these issues an examination of the non-regulated industry was performed to determine if lessons learned there could be applied to the development of medical device software. This examination revealed that agile methods are being widely adopted in the non-regulated software industry. To learn if agile methods could be adopted when developing medical device software a mapping study was performed which looked for instances of where agile methods have been used in regulated industries and where they have been adopted, to what success. This mapping study revealed that incorporating agile practices with the existing plan driven SDLC is the most favourable choice for medical device software organizations. This research aims to develop a SDLC which has a foundation of a plan driven SDLC which incorporates agile practices which can be followed when developing regulatory compliant software.
TL;DR: Right selection of SDLC-Methodology using a decision support tool can and will help successful completion of business critical software development projects and realization of business objectives for which the projects were undertaken.
Abstract: Software Development Projects can vary considerably in difficulty, size and type. This has led to evolution and development of many associated project management methodologies and standard SDLC-Models. This paper acknowledges the risks associated with wrong selection of SDLC-models on business critical software projects and offers a pragmatic solution by proposing a handy selection matrix for choosing best-fit SDLC models on different types of Software Development Projects, covering both traditional and agile methodologies. This paper is the result of an study carried out to evaluate the methods & practices of Project Life Cycle Model Selection actually used and practiced on the projects selected for this study (from businesses and IT-industry in India), with overall objective of proposing better methods and prescriptive guidance for decision making process for right selection of SDLC-Model on business critical software development projects. Right selection of SDLC-Methodology using a decision support tool can and will help successful completion of business critical software development projects and realization of business objectives for which the projects were undertaken.
TL;DR: This research proposes a context-aware task allocation decision support system that balances the considerations for quality and timeliness to improve the overall utility derived from an agile software development project.
Abstract: The philosophy of Agile software development advocates the spirit of open discussion and coordination among team members to adapt to incremental changes encountered during the process. Based on our observations from 20 agile student development teams over an 8-week study in Beihang University, China, we found that the task allocation strategy as a result of following the Agile process heavily depends on the experience of the users, and cannot be guaranteed to result in efficient utilization of team resources. In this research, we propose a context-aware task allocation decision support system that balances the considerations for quality and timeliness to improve the overall utility derived from an agile software development project. We formulate the agile process as a distributed constraint optimization problem, and propose a technology framework that assesses individual developers' situations based on data collected from a Scrum-based agile process, and helps individual developers make situation-aware decisions on which tasks from the backlog to select in real-time. Preliminary analysis and simulation results show that it can achieve close to optimally efficient utilization of the developers' collective capacity. We plan to build the framework into a computer-supported collaborative development platform and refine the method through more realistic projects.
TL;DR: This work surveys literature to elicit recommendations for SDLC selection, and formalized the findings to present a rule based recommendation system that can be helpful to software developers in selecting the most appropriate SDLC model to be used for the development of a software product.
Abstract: The selection of a software development life cycle (SDLC) model for a software project is highly dependent upon the characteristics of the software product to be developed. We classified software products according to characteristics that matter for SDLC selection. We surveyed literature to elicit recommendations for SDLC selection. We formalized our findings to present a rule based recommendation system that can be helpful to software developers in selecting the most appropriate SDLC model to be used for the development of a software product. We conducted an initial evaluation of our system. We believe our SDLC recommendation system provides useful hints for selecting an SDLC, and provides a base for validating and refining SDLC recommendation rules.
TL;DR: The Agile Methods Quality-Integrated Customisation framework (AM-QuICk) that relies on measurements and aims to continuously assist agile methodologists throughout the agile adoption and customisation process, i.e., during the initial organisation adoption, the method design and throughout the working development process is described.
Abstract: Software development practitioners are increasingly interested in adopting agile methods and generally recommend customisation so that the adopted method can fit the organisational reality. Many studies from the literature report agile adoption and customisation experiences but most of them are hardly generalisable and few are metric-based. They therefore cannot provide quantitative evidence of the suitability of the customised agile method, neither assess the organisation readability to adopt it, nor help in decision-making concerning the organisation transformation strategy. In this paper, we first describe the Agile Methods Quality-Integrated Customisation framework (AM-QuICk) that relies on measurements and aims to continuously assist agile methodologists throughout the agile adoption and customisation process, i.e., during the initial organisation adoption, the method design and throughout the working development process. Then, we present a case study using AM-QuICk within an organisation. With this study, we aim to analyse the current development process and its level of agility and identify the initial risk factors. The data were collected using preliminary interviews with the different team members and two questionnaires. The results reveal that though most respondents are enthusiastic towards agile principles, a progressive transformation strategy would be beneficial.
TL;DR: This research paper compares all four models on the basis of some key points which will be helpful to develop a successful software project and with the help of comparison any one can select his/Her own type of model for his/her project development.
Abstract: Software development methodology (SDLC) in software engineering is a framework that is used to structure plan and control the process of developing an important system. Choosing the right SDLC methodology for your project is as important to the success of the project. Today all live in the era of computer technology. This paper also identity the basic problems in the spiral, waterfall, and iterative models. These models has own advantages and disadvantages. This research paper compare all four models on the basis of some key points which will be helpful to develop a successful software project with the help of comparison any one can select his/her own type of model for his/her project development.
TL;DR: The main innovation provided by the QRP platform is the automation of the CMMI level assessment using evidences collected during day-to-day project development, facilitating the appraisal of CMMI to a great extent.
TL;DR: The agile principles and values have emphasized the importance of collaboration and interaction in the software development and, by other hand, creative work commonly involves collaboration in some form and it can be understood as an interaction between an individual and a sociocultural context.
Abstract: A software engineering project depends significantly on team performance, software is created by people for people involving human cooperation. In the last years, the tradicional software development approaches are changing and agile methods have received considerable appreciation. Among other attributes, the agilists claim that knowledge sharing is one of the keys to response to common problems and challenges of software development today. The agile principles and values have emphasized the importance of collaboration and interaction in the software development and, by other hand, creative work commonly involves collaboration in some form and it can be understood as an interaction between an individual and a sociocultural context. Agile methods had attained worldwide fame for its ability to increase the productivity of software teams by several magnitudes through empowering individuals, fostering a team-oriented environment, and focusing on project transparency and results. Particularly relevant are the team structure (creative and agile roles) and its functioning (creative techniques used).
TL;DR: The results showed that CMMI and agile are compatible in several process areas, however, there are serious incompatibilities in the others.
Abstract: Agile software development methods by focusing on the different values, have established a new approach for software development compare to the traditional methods. While traditional methods emphasizes on the following disciplined processes and rigid practices, agile methods focused on individuals and their collaborations. Previously, CMMI was introduced as process improvement model in the traditional methods and now it is known as symbol of those methods. Nevertheless, compatibility of these two different approaches has been a serious question and there are several conflicting reports about their compatibility. The main purpose of this study was scrutinizing this issue. Generic practices and specific practices in CMMI were selected as criteria for checking compatibility of CMMI and agile methods. The results showed that CMMI and agile are compatible in several process areas. However, there are serious incompatibilities in the others. In level 3 and level 4 of CMMI, two and one incompatible process areas have been seen respectively. Also, agile does not support most of the generic practices in CMMI level 4 and 5. The results also showed that these incompatibilities return to the notion of organization and its role in software development.
TL;DR: A refined, deconstructed framework for investigating control practices, and the concept of chains of control as a useful tool for examining control practices in software development are offered.
Abstract: Although extant literature on control in software development provides interesting and rich insights, it also indicates existing constructs are, in some ways, inadequate as intellectual means to support investigation of control practices. Most importantly, current theorizing distinguishes between two types of formal controls (outcome and behavior) and two types of informal controls (clan and self), making it impossible to investigate informal outcome and behavior controls and formal clan and selfcontrols. We therefore introduce a deconstructed framework for describing management controls and apply it to a holistic examination of controls in a case study of a multi-site agile software development organization. The empirical examination revealed consequent controls across a process and multiple representations of control across hierarchical levels of analysis. As a result, we offer a refined, deconstructed framework for investigating control practices, and the concept of chains of control as a useful tool for examining control practices in software development.
TL;DR: The i* framework is developed, allowing to model in an i* fashion using CASE-tools meant for RUP/UML and proposing an interface for forward engineering the produced model in a classical UML requirements model.
Abstract: [Context and Motivation] Business modeling is nowadays a common approach in huge enterprise software developments. It notably allows to align business processes and supporting IT solutions at best, to produce a documentation of the company's "savoir-faire" and to look for possible optimizations. The business modeling discipline of the Rational Unified Process (RUP) has enriched the semantic of the Unified Modeling Language's (UML) use case diagrams for the special purpose of representing the organization's processes with accurate elements. [Question/Problem] RUP/UML business use case scemantics are nevetheless only intended to further stereotype use case models and not to be used for reasoning. In parallel and in line with artificial intelligence concepts, researchers have developed the i* framework enabling the evaluation and decomposition of multiple design opportunities. RUP/UML business use case scemantics could be used more efficiently to integrate the latter benefits. [Principal ideas/results] Through a systematic mapping of elements from i* on the one side and of the RUP/UML business use case model on the other, we have set up a RUP/UML graphical notation for i* elements. Applicability has been shown on an illustrative example. [Contribution] The main contribution of the framework is allowing to model in an i* fashion using CASE-tools meant for RUP/UML and proposing an interface for forward engineering the produced model in a classical UML requirements model. Future work is required to fully validate the proposal, notably to measure the method's efficacy.
TL;DR: The mappings between the CMMI Maturity Levels 2 and 3 process areas and the RUP activities, tasks, artifacts and roles are presented and the assessment of the effectiveness of RUP support to the elaboration of the project proposals is presented.
Abstract: To improve quality, organizations are widely using Software Process Improvement (SPI) models and in particular CMMI. Nevertheless, Small and Medium Enterprises (SMEs) are reluctant in adopting CMMI since the complexity and size of the framework discourage its adoption. RUP is presented as a disciplined approach for assigning tasks and responsibilities within a software organization, with the aim of ensuring the production of software meeting the users’ needs and in strict compliance with a predictable timetable and budget. CMMI and RUP can be used together since CMMI defines “what to do” and RUP defines “how to do”. In this paper, we present the mappings between the CMMI Maturity Levels 2 and 3 process areas and the RUP activities, tasks, artifacts and roles. Our main contribution relates to the alignment of CMMI and RUP when adopted in the preliminary stage of every project: the elaboration of the project proposal. This paper also presents the assessment of the effectiveness of RUP support to the elaboration of the project proposals.
TL;DR: By implementing the proposed framework, organizations can improve their maturity and capability level and agile can be suitable for Pakistani organization by implementing some process area at level 2 and level 3.
Abstract: The proposed framework shows the customized approach that improves the software development process by using the Agile techniques. The proposed research work blends the CMMI practices according to Agile methods of development (specially Scrum, because Scrum is extremely used by Pakistani firms) CMMI is a model for the process improvement within organization, but it is too expensive to implement all practices of CMMI for each level. So for small size organizations, at level 2, 3 there are some practices which are helpful in managing and defining their software development process. By implementing the proposed framework, organizations can improve their maturity and capability level. There are several problems while working on Agile, many management areas can be neglected. In SCXTREME there are eight process area selected from CMMI and fit them according to Agile, so agile can be suitable for Pakistani organization by implementing some process area at level 2 and level 3.
TL;DR: This paper introduces Software Process Improvement (SPI) and Quality Function Deployment (QFD) and for combining also the staged model and the continuous model in CMMI.
Abstract: In the rapid technological innovation and changes era, the key to the survival company is the continuous improvement of its process. In this paper, we introduce Software Process Improvement (SPI) and Quality Function Deployment (QFD); and for combining also the staged model and the continuous model in CMMI, the Software Process Improvement framework with CMMI has two parts: 1) Software Process Improvement framework with CMMI staged model based on QFD and 2) SPI framework for CMMI based on QFD continuous model. Finally, we also draw conclusions.
TL;DR: The procedure used to determine the measures is to apply the Goal Questions Metrics (GQM) approach to the three specific goals and its fourteen specific practices of Project PlanningProcess Area in CMMI.
Abstract: Computer information project planning is one of the most important activities in the modern software development process. Without an objective and realistic plan of software project, the development of software process cannot be managed effectively.This research will identify general measures for the specific goals and its specific practices of Project PlanningProcess Area in Capability Maturity Model Integration (CMMI). CMMI is developedin USA by Software Engineering Institute (SEI) inCarnegie Mellon University. CMMI is a framework for assessment and improvement of computer information systems. The procedure we used to determine the measures is to apply the Goal Questions Metrics (GQM) approach to the three specific goals and its fourteen specific pra ctices of Project PlanningProcess Area in CMMI.
TL;DR: UML now has become one of the important tools in software system modeling and implementation and it is an excellent language for architects and designers as well.
Abstract: UML now has become one of the important tools in software system modeling and implementation. Database is generally an interim part of most system. UML is every aspect of software engineering can be modeled. This covers requirement management, project analysis, database design, deployment phase and maintenance. It Provides standard for software development. Reducing of costs to develop diagrams of UML using supporting tools. UML is a language that has a number of potential industry applications. In addition to those who work in the software development field, UML is also beneficial to engineers. It is an excellent language for architects and designers as well.
TL;DR: The main concern in this research is to represent the mentioned models of software development and make comparison between them to show the features and defects of each model.
Abstract: Two of the leading software engineering processes are Rational Unified Process (RUP) and waterfall models. RUP is a unified model planning form for large business applications that provides a language for describing method content and processes. The waterfall model is a classical model of software engineering. This model is used in governmental projects as well as many major companies associated with software engineering. The main concern in this research is to represent the mentioned models of software development and make comparison between them to show the features and defects of each model.
TL;DR: This paper as all survey papers attempt to summarize and organizes research results in the field of software engineering, precisely for the topic of agile methods related to software quality.
Abstract: Agile software processes, such as extreme programming (XP), Scrum, Lean, etc., rely on best practices that are considered to improve software development quality. It can be said that best practices aim to induce software quality assurance (SQA) into the project at hand. Some researchers of agile methods claim that because of the very nature of such methods, quality in agile software projects should be a natural outcome of the applied method. As a consequence, agile quality is expected to be more or less embedded in the agile software processes. Many reports support and evangelize the advantages of agile methods with respect to quality assurance, Is it so ? An ambitious goal of this paper is to present work done to understand how quality is or should be handled. This paper as all survey papers attempt to summarize and organizes research results in the field of software engineering, precisely for the topic of agile methods related to software quality.
TL;DR: The combined framework that emerges from the integration process provides a better description of the project management processes, but also of the technical and support processes which are proper of the software development endeavor.
Abstract: This paper focuses on the integration of two software development frameworks: Blue WATCH y SCRUM. SCRUM is a well known agile framework for software development; meanwhile, Blue WATCH is a balanced (agile + disciplined) methodological framework for enterprise application development. The first one is combined with concepts derived from the second one. The emphasis of the paper is on the process of integration and its result: the integrated framework. The combined framework that emerges from the integration process provides a better description, not only of the project management processes, but also of the technical and support processes which are proper of the software development endeavor. The proposed framework is expected to provide a better guidance to software development teams, since it mixes managerial and technical processes into a unique framework.
TL;DR: The paper presents a process for applying the Derived Property Based Traceability Framework consisting of three parts: process for adapting Derived property based Traceability solution for development method or Domain Specific Language; process for applied the solution in a development process, and process for automating the maintenance of traceability relations.
Abstract: For implementing the idea of applying derived properties for tracing project artifacts, the Derived Property Based Traceability Framework was created that consists of Model-Driven Domain Specific Language (DSL) engine for extending UML with derived property specifications, traceability schemas, and traceability analysis means. Traceability schemas may be generic, suitable for every purpose, but they often are characteristic to a development method, modeling language or a particular project. The paper presents a process for applying the Derived Property Based Traceability Framework consisting of three parts: process for adapting Derived Property Based Traceability solution for development method or Domain Specific Language; process for applying the solution in a development process, and process for automating the maintenance of traceability relations. Process is illustrated with examples from several case studies.
TL;DR: A multi-layered model is presented, in which the upper layer is used to describe the CMMI organization level process and the lower layer is described the project level process model, which brings the flexibility that the lower layered model (the project process) can change its activities on the premise that obeying the constraints of upper layered model.
Abstract: CMMI(Capability Maturity Model Integration) is a process framework which is organized by goals, practice and process area. The Maturity Level 3 stressed that the project level process must be tailored from the organization level process, that is to say, no matter how the project level process changes, it must satisfy the constraints of the organization level process. However, companies usually prefer to choose detailed and operational single-layered process models for applying CMMI. If some activities in process have been changed, the process model must be totally redesigned, this reduces the flexibility and increases the cost of adopting CMMI. In order to solve the above problems, this paper presents a multi-layered model, in which the upper layer is used to describe the CMMI organization level process (i.e., the software development lifecycle) and the lower layer is used to describe the project level process model (i.e., the procedure of each development group). At the same time, we provide delegation relationship in multi-layered process model to build the constraints between the upper layer and the lower layer process model, it brings the flexibility that the lower layered model (the project process) can change its activities on the premise that obeying the constraints of upper layered model (the organization process). Finally, in order to validate the practical effectiveness of this model, a CMMI case from GUODIAN Nanjing Automation Cd., LTD is provided.
TL;DR: This thesis introduces a new framework for modelling requirements and traceability using the unified Modelling Language (UML) and shows how this framework successfully can beused for modelling ...
Abstract: This thesis introduces a new framework for modelling requirements and traceability using theUnified Modelling Language (UML). It also shows how this framework successfully can beused for modelling ...
TL;DR: In this article, the authors identify and make the development model for manufacturing system software using capability maturity model integrated (CMMI) process, which can help to evaluate the development processes of manufacturing systems according to qualitative and quantitative development progress when the system developer or engineer design and develop their system.
Abstract: Capability Maturity Model Integrated (CMMI) can be help to evaluate the development processes of manufacturing system software according to qualitative and quantitative development progress when the system developer or engineer design and develop their system. As well known, the development progress for manufacturing system is very complex. In this paper, we identify and make the development model for manufacturing system software. In order to make the efficient the model, we use CMMI process.
TL;DR: This study concentrated on developing a project management tool as a service to provide solutions to organizations especially in selecting the suitable SDLC because of its necessity in meeting software development project objectives and closing it successfully.
Abstract: This document Any software development processes have to follow a specific system development life cycle SDLC. There are many SDLC proposed and assigned as a guide lines for developing software. Many conditions force software development team to follow specific SDLC model depending on development strategy and the nature of organization. Many decisions generated through development process which required a highly skilled project leader. This study concentrated on developing a project management tool as a service, to provide solutions to organizations especially in selecting the suitable SDLC because of its necessity in meeting software development project objectives and closing it successfully. In this paper, the author is proposing a new model for managing information technology projects starting from selecting SDLC till closing project phases. For this, it was important to study many techniques used for comparing between SDLC models and provide the suitable model for the requested software project. The proposed system will increase concentration on project requirements and the changes occurred during development phases.
TL;DR: The method is to propose a model based solution by integrating a new front end interface with Subversion (SVN) in the back end which preserves stringent access restriction ultimately resulting in CM work products as per Capability Maturity Model Integrated (CMMI) guidelines.
Abstract: crucial aspect in this area to avoid such problems. So, the aim is to formulate a new model and to implement the proposed model as a single CM tool solution for preventing the problems as mentioned above. The method is to propose a model based solution by integrating a new front end interface with Subversion (SVN) in the back end which preserves stringent access restriction ultimately resulting in CM work products as per Capability Maturity Model Integrated (CMMI) guidelines. In this new concept, employees other than CM specialists no longer need to toil exclusively with the CM tool and its standards but can reap the benefits of collaboration with automated CMMI process areas instead.
TL;DR: The comparative study of agile p rocesses and benefits over the different model used in SDLC and the advantages and disadvantages of the agile process are discussed.
Abstract: As we know that till now software development life cycle is the best way that gives assurance of the q uality in the project. But as agile comes in to picture, t he productivity of the product may increase to the large extent. SDLC and agile both are different in many ways. This paper deals with the comparative study of agile p rocesses and benefits over the different model used in SDLC. The paper will serve as guide to other software develo pment process models. Agile processes have important appl ications in the areas of software project managemen t, software schedule management, etc. In particular the aim of agile processes is to satisfy the customer, faster development times with lower defects rate. In this paper we wil l also discuss the advantages and disadvantages of the agile process.