Agile software development isn’t something that the everyday man would be aware of, but many companies make use of the software practice to promote planning, development and improvement in their current software systems.
Kicking off the Fak’ugesi Digital Africa Festival, Agile Africa 2014 posed the question in the form of a panel discussion if agile software development in South Africa has delivered on its promise. From the start it was clear that nobody really knew what the promises were in the first place. There seems to be a collective thought of “it’s difficult to answer.”
Agile software is software that has been developed with scalability in mind, and evolves through requirements and solutions managed by cross-functional teams. In essence, the software is adapted, moulded and tweaked to suit the needs of a company, hence the term ‘agile’.
Software engineering coach Martin Cronje is of the opinion that agile software can work in smaller companies as they are more successful with their agile adoptions, but success of the practice can also be seen in companies that are 60 workers or more.
He cautioned that people shouldn’t fall into the hype trap when it comes to agile software, and need to look at faster development time to turn things around. “Hype is when companies simple hire for the process. If you have a process and an environment that doesn’t flex, then that isn’t agile. We need to focus on the goal of faster development.”
Cronje approached the subject with some restraint, explained that from his experience, companies are too quick to implement new software tools to fix a problem, and then use another tool to fix the original issue.
“In our industry there is a tool syndrome and people think it can solve the problem. All that happens is that it becomes a Frankenstein process (of tools). People forget why software development teams exist, and they sometimes forget why they exist. You have to see what works for you – use the tools that help you move forward, and use the software development teams for their correct purpose.”
During the panel discussion it became clear that a lot of companies are failing at using agile software, but Cronje has a simple explanation. “Teams that are successful are the ones that hold themselves accountable.”
Developer coach for driven software Mark Pearl somewhat agreed with Cronje, adding that the software development teams that are in charge of the agile software won’t always be the same – and for that the system needs to be flexible as well.
“Your processes today is not going to be your same processes tomorrow. The health of the team is constantly changing as people leave or are added to it. So for that, processes need to be able to change themselves.”
But Pearl was quick to add that mistakes are definitely being made when it comes to implementing agile software in the work place.
Mistakes are being made when people get hired because of their job titles. A contributing factor to failure the failure of agile software is an over-emphasis on the software side of development. But you can’t do that, as it’s clearly failing. There has to be balance in everything.
Whether agile software development in South Africa is failing, exiting the hype cycle or if it’s just getting started, it’s pretty clear from the experts that no-one is really sure who to plot the path forward or how to convince companies to make the right choices.
“What are you trying to solve? Once you know that, then we can talk,” concluded independent consultant Danie Roux.
//Updated 6th Oct. The original article claimed that Martin Cronje believes Agile doesn’t work in smaller companies, when in fact he said it works best in those environments.