a pretty tiring exercise of getting feedback from a client and a somehow in-depth discussion on what has transpired over the recent months has led to one conlusion. i am actually working on a waterfall-flavored agile development!
waterfall software development essentially means that:
- requirements are defined.
- come up with a design that will be used as a guide for implementation of the requirements.
- implement your design.
- test the implementation to check if it conforms with the defined requirements.
- release!
one of the more glaring issues found with waterfall is that development can drag and there is always the distinct possibility of ending up with a product that is outdated simply because things have changed since the requirements definition phase. markets, user habits change after all.
to combat this seemingly overwhelming defect, different project methodologies were born. and one of these was agile.
i usually sum up agile as getting feedback earlier and thus being able to work on the feedback. this requires getting features out there as soon as possible. worry about addressing feedback when you do get it. thus, the target is produce something reasonably functioning and meant to answer a specific goal. work on what comes back to make things even better.
so how did i come up with my earth-shattering conclusion then with this a good-case-study-for-agile-project? 2 mere points really.
for one, iterations were meant to produce a clean and functional feature with little or no intent of improving on them. that meant it was pretty and no bugs whatsoever. and this was expected with the design phase simply a matter of discussing what feature was wanted. it seems that the goal was to get the feature out and not touch it after a year or two. sounds like a waterfall output right?
one other characteristic noted was that demo day more often than not was just another session of getting more “features” into the feature. that’s the feedback for agile processes at work it seems.
as to how this enagement ends, remains to be seen. but it is pretty clear that in the end, it is always ends up how to better manage client expectations. tempers and all withstanding.