Software Development Tools

Three insights to make Agile development work for you

This is a contributed piece by Christina Lynch, Marketing Manager at Helastel

In a head-to-head test, Agile software development is almost always judged superior to the older and more traditional Waterfall framework. Instead of producing a product sequentially over a series of phases, the shiny future promised by Agile is – as the name suggests – significantly more responsive to change.

Instead of organising development over a long series of phases, Agile methods break development into an integrated series of chunks. Each team works from planning to testing an aspect of development in a short period of time before moving on to the next ‘chunk’. By rapidly moving between iterations, a project can remain adaptive to changes in requirements that would otherwise derail the entire endeavour.

A further consideration is the effect that Agile and Waterfall have on the people who use them.  Human beings enjoy working together, and even those who don’t have to admit that they get a lot more achieved when then do. Unlike Waterfall methods, Agile emphasises the importance of increasing efficiency through more collaboration, empowerment of developers and fostering a culture of continuous improvement.

Apply the following rules to ensure you can maximise the effectiveness of Agile approaches in your software development:

One: Be prepared to ‘Kill your Darlings’

The versatility and malleability of Agile systems that makes them so successful is at least partly down to the ability to axe any element of a project that isn’t beneficial or utterly essential, no matter the amount of effort that went into creating it.

Being ready to kill one’s darlings is, coincidentally, a piece of advice commonly given to budding fiction authors. Just as a writer may agonise over the perfect phrasing of a sentence that later does not fit into the plot, a software developer can frequently spend weeks at a time manufacturing programming solutions that later become obsolete as the requirements for the project change.  

By breaking up development into short streamlined chunks, Agile - by design - prevents the build up of these precious lines of code and instead, encourages developers to start again when necessary. Instead of working a project around the limitations of defunct software, Agile developers are able to create original solutions and thus, be more efficient.

Two: Adopt Agile to loosen formalities rather than create new rigid systems

Starting a new management method doesn’t need to be a carte blanche invitation to invoke new rules, conventions or multi-level bureaucracy.

One of the central tenets of Agile is to prioritise the development of working software over the limitations that excessive documentation and bureaucracy can present. Agile systems facilitate efficiency and inspire creativity by abolishing the need for members of the development team to meticulously follow regulations or produce documentation. There is no new rulebook, or exhaustive set of guidelines to replace the previous. It’s about introducing a new mindset.

One example is the case of Alistair Cockburn who worked as a consultant for IBM back in the early 1990s. He studied the most and least successful development teams to determine what factors were influencing their results. He found that the most successful teams favored team discussions about ideas, and working creatively as a team. The least successful were those obediently following formal company protocols and wondering why they were failing. His analysis led Cockburn to champion the use of ‘Crystal Methods’, an Agile method designed to replace tedious written documentation in favor of unrecorded face-to-face interactions.

It’s possible to implement change without requiring a new set of guidelines to be learned and adhered to.  Agile methods can often overhaul the organisation of software development with little more than a change in attitude.

Three: Transition to Agile from the ground up

Transitioning an entire company to Agile methods is not as simple as starting out that way. This is because converting to Agile is more than just implementing a new method of organising projects; it’s overturning your entire ethos of project management. Thus, for it to work, the Agile view must be accepted and represented by the organisation as a whole, rather than just those in management.

Take, for example, a development team accustomed to the Waterfall model. Their working ethos reflects ‘high stakes’: infrequent deadlines of a large volume of important work.  Throw this ethos into an Agile framework where they are required to meet deadlines more frequently and they may be left floundering.

However, by gradually transitioning the ex-Waterfall team to the Agile framework, you can encourage them to come up with their own solutions and systems that reflect the Agile ethos.  By the time the organisation has completed its move into Agile, members of the development team will have had time to grow accustomed to the expectations required of them and how to organise their work accordingly.  They will be more likely to uphold the values of Agile, inspiring cohesion by empowering the decisions and mindsets of their colleagues.

Finally: What can we learn?

The present rate of technology change is rapid and profound.  Agile is a valuable opportunity because it helps you capitalise on this, rather than fret about its consequences.  

The sheer agility of Agile equips the development process to keep up with constantly evolving technological landscapes, user preferences and market conditions. 

But Waterfall is no donkey, and shouldn’t be maligned as such. It’s wise to apply many different methodologies to software development, and there remain certain instances where use of the Waterfall approach could be considered optimum.   

By the same token, beware Agile never becomes a white elephant.  Agile is pure gold if you know how to meld and fashion it; if you know how to work it. It’s power, which is all in the mind. 


« The future for APIs - how management and security will have to come of age


This month in tech history: January 2009 - Genesis and launch of Bitcoin »
IDG Connect

IDG Connect tackles the tech stories that matter to you

  • Mail


Do you think your smartphone is making you a workaholic?