Using an agile software development methodology for a complex problem domain
R. Steven Wingo, Murat M. Tanik · 2015
Software development for complex problem domains is a difficult undertaking with challenges to successful outcomes. Complex problem domains exhibit volatility, interactions, and unpredictability that place high demands on the creation of a software solution. For this type of problem, the process used to create the software solution, in addition to meeting the goal of the solution, needs to produce a solution that can handle the effects of complexity in the problem domain. This paper examines forces that a complex problem domain places on the development of a software solution and how the software development process can affect the software product in relation to those forces. It focuses on how the practices of an agile software development methodology, in particular the Extreme Programming Methodology, embraces change and has practices that implicitly affect the design and implementation to meet the needs of software solutions for complex problem domains.