Recently i’ve been involved in a few Agile Development type projects and companies that have used this approach. I have mixed reviews on the matter and believe it can work, but only in certain situations.
The situations I have seen agile development work is when there is a clear idea of where the end product should be and can be iterated through over time. The agile model is fantastic in this approach because it gives the end client or user a chance to watch the product move through stages. Also, the development team and client have an idea of where the product will end up. Also, I have seen agile development work in the situation where clients or management have no real definition of where the end product should be and need an iterative approach to get to that end product. Note, that this only works out the best when they are understanding that it could be a VERY major process and take quite a long time.
Now, I have seen agile development purely tank and not work at all in another situation. That situation is when there is no clearly understood end product in mind from the get go. Once again, we must note that in these situations, there is a probability that this approach could go over well. But, when you have driving forces, such as management and budgets, it is clearly, in my mind, impossible. Agile projects require iteration and although they require this, there STILL must be some architecture and planning involved from the begin stages, even if it is minimal at best.
In closing, I do not want this article to seem like I am bashing the agile development model, because, truth be told, I loved managing the MyTripz project and it was one of the best experiences thus far. But, I believe that the agile method was used in a way that the customer was made clear of the approach and was very open and understanding the end product features and deliverables. So, all in all, for those of you out there using the agile development method, GOOD LUCK to you and Good Day! =D