In this roundtable discussion, three proponents of Agile methods discuss their strengths, respond to common criticisms and concerns, and set some misconceptions straight.
Agile software development is a framework for software engineering that promotes development iterations throughout the lifecycle of the project. The concept behind Agile is to minimize risk by developing software in a short amount of time with the goal of having an available release (without bugs) at the end of each iteration.
Agile has gained a lot of cache among senior developers drawn to a less-restrictive approach to code development. But critics charge that Agile methods (there’s more than one) are inherently flawed. They say Agile’s pared-down specifications don’t address the core value of developing to meet business needs, and that there is too much margin for error in the absence of hardcore planning methods.
Here, three Agile proponents — James Kovacs, an independent architect, developer and trainer specializing in the .NET framework, security and enterprise application development; Strangeloop chief technology officer Kent Alstad; and Imaginet co-founder/Microsoft regional director Joel Semeniuk — share their thoughts on Agile.