Agile development, a software development methodology based on performing numerous smaller tasks and iterations rather than going through the entire development process from start to finish and then reviewing it, is an idea that has been around for a while. But software developers are starting to pick up on its benefits and employ agile development more frequently. Jaime Palacios, manager at Softtek, recently shared some ideas on why this is the case.
Positive Results Drive Action
“Results the industry is observing are very positive,” said Palacios. “Not everything is successful, but success is pretty common. More and more (software development firms) are looking at pure agile development.”
According to Palacios, another benefit is the development of a positive customer relationship, since agile projects are more likely to be completed and also are more likely to offer some return to the client even if they are interrupted for some reason.
“With different methodologies, there are cases where the engagement might be broken in the middle of the project,” Palacios said. “The client gets no result other than spending their money. With agile development, at a minimum you know you’ll get some of the product being built delivered and at least gain something.”
Furthermore, Palacios said the agile methodology “reduces uncertainty” for developers, resulting in more accurate estimates, and its more fluid execution allows companies to focus more on development activities and less on distractions caused by uncertainties. This focus includes being able to spot defects and solve problems prior to releasing the software product.
One other major benefit of agile development is that the methodology places attention on the software product itself. “Other development methodologies put their emphasis on items along the way,” said Palacios. “With agile development, both the development team and other stakeholders put their attention into the product, rather than the outcome.”
Of course, no methodology is perfect, and agile development brings its own set of issues. One is the need for upper management support at the client level. “We’re starting an engagement with a firm that has a traditional project management environment using legacy systems built on legacy technology,” said Palacios. “The paradigm shift is a challenge.”
Internally, employees of a software developer trying to implement agile methods may not even understand what “agile” actually means. “People don’t understand that if they don’t do full agile development, they won’t receive the benefits,” said Palacios. He said Softtek uses matrices and indices to educate its own developer force about how to perform agile development and why it is important.
So is agile development the right methodology for your next software project? At the very least it is worth investigating, because soon enough it will be the right methodology for almost any project you have.