28 Kasım 2013 Perşembe

What are the major differences between grand design and agile software development processes?

One of the most important differences between grand design and agile software development processes is that in grand design the full requirements are decided before design starts. Because of this, too much time is spent on the requirements analysis. This is one of the most important reasons of failure in software. In grand design, developers spent too much time and effort to the analysis in the early development processes. The requirements change and even become no more required in time. The constant of software development is change itself. The requirements are not constant, thus trying to define them cause failure in software projects. The natural consequence of trying to define the requirements at the early stages is the high software maintenance costs as this kind of software require major changes afterward. 
On the contrary, agile software processes are iterative. More time is spent for requirements analysis and validation as well as coding and development in each iteration. Each iteration can also be thought as small scale projects. This makes goals more achievable. These approaches provide some advantages which grand design doesn’t such as:
·                    Early identification and migration of risks,
·                    Early visible progress
·                    Early user engagement and feedback
·                    Managed complexity and avoid “analysis paralysis”
·                    Each iteration is part of learning process

Hiç yorum yok:

Yorum Gönder