Towards Shaping the Software Lifecycle with Methods and Practices
As software projects are very diverse, each software development process must be adjusted to the needs of the project and the corresponding development team. Frequently, we find different methods and practices combined in a so-called hybrid development method. Research has shown that these hybrid methods evolve over time and are devised based on experience. However, when devising a hybrid method, the methods and practices used should cover the whole software project with its different phases including, among others, project management, requirements analysis, quality management, risk management, and implementation. In this paper, we analyze which methods and practices are used in which phase of a software project. Based on an initial survey with 27 practitioners, we provide a mapping of methods and practices to different project phases and vice versa. Despite the preliminary nature of our study and the small sample size, we observe three remarkable aspects: (1) there are discrepancies between the intended use of methods and practices according to literature and the real use in practice, (2) practices are used more consistently than methods, and (3) parts of the software lifecycle such as maintenance and evolution are hardly covered by widely distributed methods and practices. Consequently, when devising a development process, it is worth a thought whether all phases of the software lifecycle are addressed or not.
READ FULL TEXT