Adaptive Software Development

Adaptive Software Development

Introduction

Abstract the concept of agile process models has attained great popularity in software (SW) development community in the last few years. Agile models promote fast development. Fast development has certain drawbacks, such as weak documentation and performance for medium and large development projects. Fast development also promotes the use of agile process models in small-scale projects. This paper modifies and evaluates Extreme Programming (XP) process model and proposes a novel process model based on these modifications. Keywords: XP, software development, SDLC, CBD

Agile process models stress on agility for software development. Agility signifies responding to changes quickly and efficiently. Possible changes required in software projects are in budget, schedule, resources, technology, requirements, and team. These are “reacting” changes on which agile models stress. They are called agile golden principles that are defined in the agile alliance meeting conducted in 2001.

The aim of agile principles is to have adaptive software development only for simple and small size software projects. There is no indication to adapt process models according to the nature of the projects. The analyst has to select traditional software process models if the software is average or complex in nature, such as Spiral and Rational Unified Process (RUP).

Related Work

Agile teams are supposed to monitor team performance and SW development procedures continuously to perform better and efficient. Both qualitative and quantitative techniques are used to estimate and analyze. The framework uses a feedback loop to permit the agile team and procedures to get better. The teams are typically agile and have management support to employ the XP process model.

An Improved XP Process Model for Agile Development

The adaptive process model is a modified approach of the XP model, which is the most widely practiced model among agile models. The main phases of the XP model are planning, design, coding, and testing. The main phases of the adaptive model are Project Planning, Analysis and Risk Management, Design & Development and Testing

The focus of the proposed process model is the implementation of medium and large scale projects which keep on evolving due to changes in customer requirements. Project specification or proposal document is prepared during the ‘Project Planning’ phase by communicating to the customer. Project specification or proposal document is composed of a feasibility report that is created to prepare a cost-benefit analysis (CBA) sheet. The feasibility report is composed of economic, technical and operational feasibilities. Organizational feasibility is also prepared based on client request or if project demands. CBA sheet helps to estimate whether SW project is feasible for the customer or not. Project team members are also selected during the planning phase. Project team size depends on the size and schedule of the project. ‘Analysis & Risk Management’ phase is only started if a customer approves the proposal. Analysis phase improves the quality of software through proper documentation.

This is the phase in which an analyst gathers detailed requirements. Software requirement specification (SRS) document is produced at the end of the analysis phase. Main contents of SRS are a summary of requirements, requirements modeling, and data modeling and risk management plan. Requirements could either be structured or object-oriented (OO). Entity relationship diagram (ERD) is drawn in case of structured development and object diagram is created in case of object-oriented development. Design and development phases of the XP model are merged to incorporate agility in the proposed process model. The improved XP process model uses the prototype approach to verify the design and requirements. The software is developed incrementally as customer approves prototypes. Test cases are prepared for each increment at the start of the testing phase. Each module is tested on a unit basis. Integration test is then performed to check integration among modules.

?System test is the next phase to validate the whole increment as one unit. Acceptance testing is the last test to verify increment from the customer. The tested increment is maintained and deployed. The proposed process model is cyclic and evolutionary till whole software is developed.

  • Main Features of Improved XP Model

Main features of the Improved XP process model are as follows.

  • A new framework in the software engineering field.
  • It is multidimensional in nature. Improved XP model is equally suitable for incremental and parallel development according to the nature of the project.
  • Analysis and Risk Management’ phase in the new framework has many benefits e.g., initial risk management plan to cater to the potential risks regarding the failure of the project.
  • Design and Development’ phase helps to keep the new framework agile in nature.

The new framework provides:

  • Support for component-based development.
  • Support for distributed development environment.
  • Support to have a large team size.
  • Support for subcontracting.
  • Better documentation helping to software engineering team during and after development (e.g., Risk Management).

Analysis phase results in more comprehensive user requirements, modeling, and documentation. SRS is the end product of the analysis phase. Comprehensive analysis always gives better design which results in high-quality software. Risk management plan at the analysis phase is another strong feature of the improved XP model as compared to the XP model. Design and development phases of the XP process model have been merged in the improved XP model. The objective is to achieve agility in the proposed model. Prototype approach helps to verify the design and requirements. Merging of design and development also improves the efficiency of the software.

The main purpose of the improved XP process model is to eliminate prominent limitations of agile process models and particularly of XP. The improved XP process model is proposed to support CBD, large teams, complex and safety-critical project development. The addition of proper analysis phase also helps an analyst to consider the factor of reuse during modeling a system.

Reusability is an important advantage of developing SW applications using CBD. CBD helps to reuse components frequently in similar applications that result in time and cost savings. Analysis phase also results in efficient process design. Documentation and quality are significantly improved because of the incorporation of these changes. Removal of one limitation eliminates all since all of these limitations are interlinked. The analyst can adapt to the improved XP model according to the nature of software projects. The proposed model can be implemented for agile, medium and large projects.

Conclusion

This supports the practice of agile software development by proposing a process model which is adapted according to the requirements of the software project.

The improved XP process model is better than XP because it eliminates the limitations of development of reusable components, large development teams, and documentation, medium and large. Audients helps you and your team to adapt to the Agile methodolody. See the upcoming schedule for your private team training.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了