Cost modeling and estimation in agile software development environments using influence diagrams - Papatheocharous, Efi; Trikomitou, Despoina; Andreou, Andreas S.; Yiasemis, Pantelis (My University, 2011)
Software development according to agile principles seeks to promote adaptive processes, teamwork and collaboration throughout the life-cycle of a project. In contrast, traditional software development focuses on the various phases and activities of the life-cycle while seeking for repeatable, predictable processes to maximize productivity and quality. Additionally, project management in conventional development processes aims to plan and predict the future, whereas in agile development environments, aims to adapt according to any future change. In this paper we investigate, through modeling with Influence Diagrams, the benefit of switching from traditional software development to agile in terms of productivity, expected value and cost. Additionally, we examine how software costs might differentiate if traditional or agile development methodologies are followed. We explore the factors that contribute in successful software development and draw our main conclusions through hypothetical and real case scenarios recorded in agile surveys on Information Technology practices. One of our main conclusions includes verification of the need for a skillful manager and small development team to lead to successful agile projects.
Keywords: Adaptive process; Agile development environments; Agile development methodologies; Agile software development; Cost modeling; Development process; Development teams; Expected values; Influence diagram; Software cost; Empowerment of personnel; Information systems; Life cycle; Managers; Productivity; Project management; Software design