Sunday, 26 February 2012

Risks Associated With Agile Development

Agile software development is a necessary process. Nobody can know exactly how to design and implement a software project from the beginning. There are too many modules to take into account and people can and will make mistakes. This is why agile development is necessary. But there are certain risks that are implicit in an agile approach.
One of the first risks one might think of is the risk of changing a project too much after the design phase. An agile approach allows programmers to go back to previous stages and rethink what they are programming. But taken to an extreme, a programmer might conceivably write a program and realize half way through that there is a better design. The risk here is if the programmer redesigns the software completely and then starts implementing it again. Furthermore, there is no guarantee that the second time through won't shed light on an even better design for the program. Thus the software developer could be stuck in a cycle of redesigning.
A second risk is the strategy of "ready, fire, aim" that becomes tempting when using an agile model. A software developer may just begin coding with no design and then make a design based on what they have coded later. While this certainly could work for some people and in some situations, generally it is a smart idea to make at least a bit of a plan before coding (especially in large software projects).
A third risk of agile development is the lack of a clear authority in decision making. If there is a dispute in the team about how something should be designed, tested, or implemented, a lot of time could be wasted talking about what should be done instead of just doing it. This is contrary to a sturdy method where developers simply need to follow instructions from a central authority that tells them what to do and when.

No comments:

Post a Comment