By Dan Berthiaume
Agile development is an increasingly popular methodology (among nearshore providers and others) of delivering software to clients that divides work into numerous small projects which are executed simultaneously, rather than the traditional “waterfall” approach that has a large team develop software in a series of sequential steps. While agile development can provide benefits to both software companies and their clients, such as faster time to market and lower costs, it is not always easy to pull off, especially for smaller software developers and service providers.
Nearshore Americas recently spoke with two representatives of small nearshore software firms – Alexander Gomez, CIO of aPlicativa and Pablo Ruiz, Cofounder/COO of InfinixSoft – to get their perspectives on how smaller players in the nearshore software development market are utilizing agile development and what unique benefits and challenges it poses them.
A Small Success Story
As a result of successful implementations among small software developers and service providers, both Gomez and Ruiz agree that agile development is becoming more common in this space. “In our case, we have been using agile development since the beginning of the company (in 2009),” he said. “Two to three years ago, agile development was not common among small companies but now people are getting certified as Scrum masters (Scrum is an agile framework supported by the Scrum Alliance industry body) and seeing the benefits.”
In addition, Ruiz said agile development is especially popular with small software firms that specialize in mobile app development. “Mobile apps have the characteristic of having short development cycles compared to traditional desktop apps, and agile development proves to be a good way to work under these conditions,” he stated.
Roll With the Changes
Ruiz also said agile development enables small firms to react to changes quickly and respond to them in a timely fashion, avoiding potential problems that might otherwise go undetected. “The iterative approach allows us to spot potential problems and get prepared,” he explained. “Since we do at least six iterations in an average project, the client and end-users are involved in testing early on, which helps increase the apps’ quality and mitigate potential risks.”
According to Gomez, the time and money saved by agile development are “very important” to small companies with limited budgets such as aPlicativa, as are improved client communications and project documentation. “It’s easy to take changes to project scope into account with one to two week iterations,” he said. “Quality is also improved – under the old methodology developers didn’t give deliverables till the end of the project.”
Adaptation & Management
In assessing the challenges agile development can pose small companies, Ruiz and Gomez both cited the need for internal staff to adapt to the new methodology and the complexities of managing continual project iterations and client interactions.
“I believe that most of the challenges of implementing agile in any business have to do with adapting the team to it,” said Ruiz. “You need to have at least one team member coordinating the efforts and pushing hard so the rest of the team follows.”
“You have to sell agile development internally,” agreed Gomez. “There is a training process and the team needs to understand the benefits, which is an additional cost to consider.”
“When working with agile methodologies, developers are required to report their work on a daily basis, so other people know how long tasks took and if it took them longer than it should they might feel judged,” Ruiz said in commenting on managing the continuous flow of agile projects. “Especially if their skills are lacking.”
“At least one member of the team must be a senior resource to manage communication with the customer,” said Gomez.
Similarly, Ruiz said that “agile assumes that developers should be in touch with clients directly and discuss specific features. This can be a problem for many developers.”
Agile Is Here to Stay
Despite these potential hurdles, both Ruiz and Gomez were emphatic about agile development continuing to gain popularity with small software firms. “Agile development will grow in popularity with the rise of mobile apps,” said Ruiz. “These apps require short development cycles, quick reaction to problems, the ability to react to changes, a lot of testing as early as possible – especially if the concept has yet to be proven – and all of that is just what agile provides.”
“The short answer is yes,” concluded Gomez. “It’s an ideal methodology for software development, and not just for smaller companies.”