Investigation into the Creation and Application of a Composite Application Software Development Process Framework (CASDPF)
Authors: Mohammed Al-Maharmeh; B. Unhelkar
Year: 2008

This paper presents the arguments for creation and validation of a composite process framework (CASDPF) that would enable formal modeling and management of the application software development & integration. The arguments for this research are based on the practical understanding of the authors that no single 'type' of process appears to be suitable for software development projects. Increasingly, there appears to be a need to use high-ceremony 'waterfall' type approaches at the programme and project management level, whereas at individual level, 'agile' aspects of a process seem to help. A composite process framework has the potential for accepting this responsibility of balancing the modeling with software projects, as is argued in this paper. The development of software application systems, and management of the corresponding systems development life cycle is considered complex, time consuming and costly. This is so because, as argued by Unhelkar [5], the nature, type and size of software projects are different and so they result in differing requirements, development and implementation procedures.. Marks [3] indicates that the Waterfall model does not provide good project planning control and risk management. According to Marks [3], the iterative process has many strengths such as rapid feedback from users based on the actual system prototype, flexibility to address system evolving requirements, the rapid discovery of design flaws, and ease of deploying new functionality. An iterative project might run the risk of never ending process, due to its ability to react to continuous changes of business needs, and incomplete system documentation due to the fact that there is no scheduled period for documentation. The agile methods are suitable for projects with requirements that are rapidly changing and not very suitable for systems that have high criticality, reliability and safety requirements [2]. Agile methods are evaluated based on project criticality, size and requirements. Boehm [1] Spiral life-cycle model that combines features of the prototyping and Waterfall model [4] is favored for large, expensive, and complicated projects. The following model as shown in (Figure 1). Shows that the Waterfall approach is best for project management as it gives the project manager full control over the project life-cycle. The iterative approach is the best during the analysis, design and implementation phases since it gives the project team more flexibility to address evolving system requirements and to iterate within these phases to ensure a comprehensive analysis and design has been done. The Agile approach is best during the implementation and testing phases since it helps produce incremental small software releases within a short iterative development cycles. The Composite approach will split the project into a set of increments; each increment will consist of a set of the project life-cycle phases. For each increment, it will bring the best aspects of available software development processes (Waterfall, Iterative and Agile) together that can be used to develop and manage application software development.