Okay so let's look at the first one. Well I
don't think that the fact of keeping developers busy is really
one of the highlights or the main benefits of iterative
approaches. Developers are really busy without any need for additional help.
So I will just not mark this one. The second
one conversely is definitely one of the advantages of iterative approaches.
So the fact that iterative approaches give the developers a early
feedback, is a great advantage which has in turn additional advantages.
For example, it increases the project tempo, so it gives the developers
not busy but more focused. It's easier to be focused when you
have a short term deadline, or a short term goal
rather than a release that is planned in six months or even
later. Another advantage of this early feedback is the fact that developers
are rewarded for their efforts so, there is sort of an immediate
rewards because you can see the results of your effort instead of
having to wait a long time to see such results. And last,
but not least the fact of getting early feedback also minimizes
the risks of developing the wrong system. So why is that?
Well because getting early feedback will also allow us to find
out whether we're going in the wrong direction early in the development process
rather than at the end. And therefore, will minimize this risk.
Going back to the previous question, yeah, I don't think that, you
know, doing the same thing over and over is a great
advantage. And in fact, iterative approaches do not do the same thing
over and over. So they keep iterating, but they keep
augmenting the amount of functionality in the system. They don't
just repeat the same thing. As for improving planning, actually
improving planning is not really a strength of these approaches,
because sometimes the number of iterations is hard to predict,
so it's hard to do a natural planning when you
are using an iterative approach. So finally, are iterative approaches
good for accomodating evolving requirements?
Most definitely. First, iterative approaches, and
in particular, the one that we're discussing consider requirements
incrementally, so they can better incorporate your requirements. So if
there are new requirements, it's easier to accommodate them using
an iterative approach. Second, these approaches realize a few requirements
at a time. Something from the most risky ones, as
we said. So any problem with those risky requirements will
be discovered early, and suitable course corrections could be taken.
So in case you still have doubts about iterative approaches,
it might be worth it to go back to
mini course number one, lesson number two to discuss the
life cycle models. Because we talk about iterative approaches
and their advantages and their characteristics there in some detail.