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