The world of software is still one of sharp contrasts. Drop into a development centre in India or the Czech Republic, or the City of London for that matter, and sitting not far from programmers maintaining ‘waterfall’ code written in Mantis, Cobol and DL/I (often with the help of manuals older than themselves), are developers crafting cutting-edge, service-oriented applications using combinations of Ruby on Rails, Java, Eclipse, .Net, NetBeans or WebSphere.
While such a situation underscores the difficulty of retiring old code, it also emphasises the fact that software development has gone through several metamorphoses over the past decade to take on a much more evolved state.
That modern environment for building what analysts at Gartner call the new generation of application styles based on service-oriented architecture, event-driven architecture and business process management technology typically comprises a web services-based, integrated development environment, an integration middleware platform and an underlying architecture capable of supporting composite applications and significant reuse.
But to achieve the desired results it appears that organisations feel the need to make a significant commitment to a particular stack of software. That is evident in the Effective IT Survey results. Over 40% of those questioned said that they had standardised on a single application development/server platform. By this time next year, that adoption profile should have hit 52%, based on buying intentions.
Of those who have adopted a single platform, the overwhelming majority of respondents (78%) are positive about its effectiveness.
New production methods
But a successful software outcome is not just about choosing the right tools. In recent years, organisations have tried to apply new methods of software production. Chief among them is agile development.
According to proponents, agile methods are everything that traditional waterfall methods are not. They do not encourage programmers to respect routine and administrative diligence above creativity and spontaneity, nor do they, as traditional methods do, isolate developers from the people who are expected to use what they build. Best of all, agile methods encourage an iterative approach to functional delivery that is rarely late, virtually immune to expensive requirements bloat and almost guaranteed to produce something that is fit for purpose.
Given that, surely everyone is going agile? Well, not yet. According to the Effective IT data, only 11% have adopted agile programming methods, although the same number expects to embrace the approach in 2008.
As that highlights, software development is well down the evolutionary path from a black art practised at a distance from the business to a professional production system that is adaptive and quality-managed through its lifecycle – during creation, deployment and enhancement.
Further reading
Back to the Effective IT 2008 Report contents page
Agility applied at Standard Life Standard Life’s adoption of agile IT techniques has helped it emerge as one of the stars of the pensions sector.
Find more stories in the SOA & Development Briefing Room.