James Wire, ThoughtWorksJames Wire, ThoughtWorks


A flawed understanding of the concept ‘agile development’ is creating conflicting views in the industry.

According to a piece by , of Ovum, agile is considered part of the future of software development. However, said Azoff, at a recent event, Gus Power declared agile a “poisoned marketing term”.

Azoff said while this may be taking things too far, “Power’s message that certifications and rote-by-book are merely the start of learning agile, and that the key is its practice, was well meant”. He also said this is partly due to IT being such a young industry and still going through many learning curves. “There is no body of agreed practices that software engineers should learn and be accountable for,” he explained.

Prof , director of the Joburg Centre for Software Engineering (JCSE) at Wits University agrees with Power’s sentiment that agile is a “poisoned marketing term”. He says that one of the main reasons for this is that agile is often seen as the opposite of following a process.

“This is fundamentally a flawed understanding of what agile development is about. There are many people who see agile as anti-process and an excuse to work in an informal and ad hoc manner,” he explains. “While the actual objective of agile development is to follow an agile process and not eliminate process completely.”

He says there are unfortunately companies who operate in a chaotic manner and try giving this approach legitimacy by calling it agile. “On the other hand, there are companies which, using an agile methodology in the way it was intended, have seen great success,” he explains.

, CEO of Agilitude also believes agile is a poisoned marketing term. “Many companies are selling agile and other flavour-of-the-day frameworks or practices while having little understanding of the actual practice,” he explains. “It is sold as the silver bullet to resolve the problems customers experience with development, and it is clearly not one. In addition, development shops, with little to an agile journey and adopting mature practices will lead to agile being sold as a false hope to development problems. The journey can be painful and takes time and commitment. Without a proper understanding and commitment a development team will be undertaking a new set of activities but in most likelihood produce the same results,” he explains.

Agile is abused as a methodology, particularly in South Africa, where a culture of badly unplanned and managed software development is prevalent, according to Petr Havlik, MD of CyberPro Consulting. “We believe that a prudent approach to the software development lifecycle is somewhere between the old-school waterfall methodology and the current agile trend.

Anwar Shaik, CTO at Magic Software SA believes the assertion that agile is a “poisoned marketing term” may be a bit bold, but viewed from Power’s perspective it is true. “Agile is more than a pure rote-learnt methodology. When it is adopted as a pure business process-centric approach to software development, agile is a very strong mechanism to create structure and accountability – especially within such a young and evolving industry,” he explains.

Furthermore, Shaik believes agile is ever more important with the advancement of mobile application development. “Business is becoming more demanding and more involved in the IT space. As such, the IT department and developers need to be more flexible to working with business to ensure the process is placed in the foreground and properly architected to ensure success,” he says.

According to James Wire, office principal in Kampala for ThoughtWorks, agile is not yet a poisoned marketing term. His reasoning being, “For an idea to change the world, it has to come into contact with the world. There is always a risk that a noble idea like agile could be twisted by self-interest or ignorance. Developers must defend and renew agile software development’s message that building software effectively requires strong feedback and respect for individuals. In particular, we must resist the myth that agile can work without empowering teams or without affecting the whole organisation.”

“Abandoning the term ‘agile’ is tempting from an intellectual purity point of view, but doing so would be defeatist and would threaten the progress that has been made over the last ten years,” he explains.

CHALLENGES & BENEFITS

According to Wire, agile in SA is where open source was ten years ago. “There is a huge amount of goodwill, but developers still need to convince their companies and themselves that ideas from the agile movement can help them. As that happens, agile ideas will help the whole South African commercial sector - not just software development – to respond more effectively to change,” he explains.

Prof Barry Dwolatzky, JCSEProf Barry Dwolatzky, JCSE

Havlik believes agile is particularly suited to the South African environment because local businesses operate largely on an agile principle. “The expectation is that software development providers will keep up and not need to be told something twice. Agile supports this expectation, and South African IT projects have largely been done in an agile manner for many years,” he explains.

It is, however, key to apply a combination of agile methodology when it comes to the software development team, but a more classic approach with strong business analysis as a buffer between the business and the software team, Havlik says.

“It cannot be denied that an agile methodology reduces the risk of deliverables and the iterative approach allows stakeholders to have a continuous view on the project progress,” states Shaik. “In fact, many companies in SA have embraced agile purely for these reasons.”

He explains how this is especially prevalent in organisations with smaller teams. “An environment with a smaller team is conducive to agile methodologies as a more transparent approach is required and the lines of communication are much easier to manage. It is in this sector that agile will have continued growth.”

According to Pienaar, agile development is suited to environments that are fast-paced, often breaking new ground and learning new information.

LOCAL SOFTWARE DEVELOPMENT

The future of software development, especially of the local front, seems to be dominated by the mobile space.

According to Shaik, we are going to see a lot more mobile applications. “Many organisations are realising the benefit of mobile applications and the exposing of back-end systems on mobile devices. The capabilities of the devices that are available today are lending themselves to exciting new applications and software features which were previously unheard of.” Pienaar also believes we will continue to see increases in mobile and application development.

“A number of customers and design firms that have been developing mobile applications will start to find that a lack of engineering and infrastructure is creating problems. From simplistic on-device applications, businesses want to offer functions to customers and staff that serve a real business need and will need to scale, integrate and function in a stable manner,” he says. “As a result, there will be a greater requirement for actual software engineers / developers to develop mobile applications.”

According to Havlik, South African software development providers will continue to position themselves to be able to offer more rapid software solutions via the use of ‘off-the-shelf tools’ and server platforms rather than offering costly and sometimes tedious ‘from the ground’ up software solutions. “In addition, trends like offshoring are resulting in the local software development industry having to position itself one step above the commodity of software development and into the space of trusted advisors and business vertical specialists,” he concludes.