Basketball player performing a slam dunk
Instead of long-term planning and massive amounts of documentation, agile focuses on delivering improvements in small, iterative stages

Agility brings results - innovation in software development

Companies are increasingly moving away from rigid programming methodologies and adopting more agile approaches that aim to deliver small gains in rapid succession

Written by Linda More

The biggest improvement came from reviving the idea that systems are built mainly to serve users

Keith Braithwaite programmer and agile business unit leader, Zuhlke

Software development is a mission-critical activity, providing many enterprises with a precious source of competitive advantage. It is an activity that has attracted some of the brightest stars in IT and the best are highly treasured.

At its heart, software development has always been a demanding environment, with new languages, platforms and methodologies appearing in a constantly changing market. Programmers routinely have a hard time, often working for customers who have only vague notions of what they want, but still need it yesterday.

The very first software development efforts were chaotic, based on the premise of “code and then fix”. Applications could develop without much of a plan, growing organically from short-term decisions and without a formal underlying structure. This methodology sufficed for one-off applications, with tightly prescribed functions that never needed to expand. Problems only arose when new features needed to be added or integration with other devices, platforms or applications was required.

This trial-and-error development method was prone to bugs, difficult to fix and complicated to test. More structured software development methodologies promised to make the process more disciplined, predictable and efficient.

But by emphasising planning, many companies found their software development process had become bureaucratic and their development cycles elongated. And still the accuracy of coding had not improved ­ – programmes still required extensive debugging, but now they came with a mass of documentation.

Over the past few years there has been a discernible shift towards automation, scripting and wiring up of components, says Keith Braithwaite, programmer and agile business unit leader at software developer Zuhlke.

“These techniques enhance programmers’ ability to write code by removing the overhead of too much housekeeping activity,” he says.

“However, the biggest improvement came from reviving the idea that systems are built mainly to serve their users and that therefore system builders need to collaborate closely with users and business sponsors rather than isolating them behind documentation.”

As a result, in the past few years there has been mounting interest in a new style of software development methodology, referred to as agile methods. Rather than being process driven, agile methodologies are people oriented, and designed to manage change within the process and the external environment. Agile methods are the antithesis of the over-engineered approach ­ – instead of long-term planning and massive amounts of documentation, agile focuses on delivering improvements in small, iterative stages.

While software development methods have changed, so too have the platforms and languages used by the developers. Remember the frantic search to bring Cobol programmers out of mothballs to deal with the millennium bug? Languages and programmers move on as technology changes and the focus of programming has shifted to the web.

Clive Howard, partner at internet consultancy Howard Baines, points to the growth of technologies and platforms over the past few years as contributing to the software developers’ dilemma. “Ten years ago there were very few technologies in web development and the only serious platform was the desktop browser,” he says.

Today there is a huge range of technologies to choose from ­ – .NET, PHP, Ruby on Rails and Java at the back end to front-end XHTML, JavaScript, Ajax and Silverlight. Together with the increasing variety of platforms, including browser and mobile gadgets, traditional desktop applications are becoming part of the web offering.

Better development tools are now delivering improved reliability and programmers are able to develop feature-rich, reliable, scalable applications that provide a great user experience quickly and easily.

“The learning curves are shortened and flattened out with new technologies often being very fast and easy to learn and implement,” says Howard. “For example, developers no longer need to write thousands of lines of cross-platform or browser-compliant code. By using Ajax they can simply drag and drop components into Visual Studio or Dreamweaver.”

Even with the introduction of componentised tools and vast programming libraries of routines and building blocks, software development is still no easy task. For some firms the overhead of managing a development team has become too much. Outsourcing is now commonplace. While this removes the need to engage expert coders, often the design and specification stages ­ – which can account for more than 50 per cent of the work ­ – remain within the firm. There is also the additional burden of managing an external supplier, whose objectives could contrast wildly with internal imperatives.

And while software development services are being offered globally, internal development shops will not disappear overnight, says Tony Baer, senior analyst at Ovum. “Outsourcing is more about managing the change in the division of labour. However, you get what you pay for and the lowest cost will not necessarily deliver the best results. The lower the cost of the coding skills base, the bigger the investment in management costs has to be made, which is why a proportion of development is coming back onshore and even back in-house,” he says.

Coding, however good, is always prone to error and never before has software testing been more important. Proof is in the way testing is treated ­ – no longer is it seen as a final activity, tacked on to the end of a development project if the budget allows it. Testing today is an integral part of the development process.

Some programming teams even design the testing procedures before embarking on the full specification. “The progression from testing to test early to test first to test driven is the most exciting movement in development I have seen in the past 10 years,” says Zuhlke’s Braithwaite. “Testers have become the users’ friend and developers are learning to love failing tests ­ – counting the test failures creates meaningful progress measures in the development process.”

reader comments

related articles

MicrosoftSoftware

Microsoft shows off new developer tools

Latest versions of .Net and Visual Studio previewed 29 Sep 2008

 

BA signs multimillion pound testing deal

Airline looks to cut costs as high fuel prices squeeze profits 25 Sep 2008

Paying by results can reduce costs

Businesses can reap substantial rewards from new approaches to fixed-price service 25 Sep 2008

related whitepapers

today's top stories

Lack of enterprise appeal takes shine off Chrome OS

Enterprise buyers unlikely to ditch Windows for Chrome OS in the near term, say experts 09 Jul 2009

How Satyam cleaned up its act

Chief executive CP Gurnani tells Angelica Mari why Tech Mahindra opted to keep the Satyam brand after it bought the scandal-hit services firm, and explains what the deal means for existing and prospective customers 09 Jul 2009

Open source bites back

Recession-hit companies are tired of vendors holding a gun to their heads over software licensing, says CEO of Ingres 09 Jul 2009

"We will ensure Britain remains at the forefront of the digital revolution"

As new trials of superfast broadband get under way, minister Pat McFadden explains the government’s digital vision 09 Jul 2009

Put social networks to work on your career

Increasing numbers of IT professionals using sites such as LinkedIn to grow contacts and find jobs 09 Jul 2009

Advertisement

Newsletter signup

Sign up for our range of FREE newsletters:

More available - click 'submit' to view

Existing User

Newsletter user login:

Advertisement

Jobs

Related jobs

Job of the week

Job alerts

Sign up here

Find your next job

IT Salary Checker

Check salary here

Advertisement

White papers

Search white papers

Top categories

VPN, Extranet and Intranet Solutions

WAN/ LAN Solutions

Network Security

Interoperability-Connectivity

Grid/ Utility Computing

Latest poll

Would you use social networking sites to look for a job?

Would you use social networking sites to look for a job?

Tell us what you think about job hunting through LinkedIn, Facebook, Twitter etc

View poll results

Latest audio and video articles

network cablesVideo

How to maximise the value of your IT networking investment

A panel of experts discuss networking strategies that deliver real value to business 03 Jul 2009

green footprintsVideo

How to manage enterprise energy use - and the role IT can play

A panel of experts explore how firms can get to grips with their carbon footprint and make smarter use of energy 01 Jul 2009

Latest in-depth articles

Google ChromeAnalysis

Lack of enterprise appeal takes shine off Chrome OS

Enterprise buyers unlikely to ditch Windows for Chrome OS in the near term, say experts 09 Jul 2009

Satyam CEO CP GurnaniNews

How Satyam cleaned up its act

Chief executive CP Gurnani tells Angelica Mari why Tech Mahindra opted to keep the Satyam brand after it bought the scandal-hit services firm, and explains what the deal means for existing and prospective customers 09 Jul 2009

Advertisement

Primary Navigation