15 Oct 2008
Software development has come a long way since the days when Cobol and Pascal were the languages of choice for a whole generation of programmers coding for mainframes and single-processor servers. Today, development teams can be dispersed across the globe, use radically different development tools and frameworks, and can even architect applications in contrasting ways.
This transformation has been mirrored by a major change in the way enterprises think about applications, what they are for, what they support and how they should be built. The way software is conceptualised has undergone a step change.
Further reading
Today, service-oriented architecture (SOA) has become the de facto standard for constructing applications. SOA describes the building or rebuilding of applications and software modules as re-usable components or web services that can interact with each other over internal and external networks, irrespective of the programming languages or communications protocols upon which they are based.
It is an approach to development that has been enthusiastically espoused by many of today’s leading enterprise software vendors, such as Oracle and SAP, according to David Bradshaw, research manager for software and services at analyst IDC. That, he adds, has important ramifications for in-house developers.
“In terms of building anything new nowadays, SOA is a given. Developers have to do it that way or customers will not buy in and in-house software development will either not take place or be much slower and cost more in the future,” he says.
Business-responsive applications have become the watchword for today’s developers and SOA promises to provide a framework for flexible applications, while potentially providing cost savings from the re-use of modules. And because SOA is predicated on the use of open interfaces to communicate between different modules, integrating different applications can be easier.
The cornerstones of SOA development have become Microsoft’s .Net framework and Java-based alternatives, says IDC’s Bradshaw. Typically, .Net has gained traction among mid-sized organisations, where access to Java skills is limited, he adds.
Microsoft has done much to combat some developers’ negative perception of its
programming tools. The software giant has even made some of them, or at least
parts of them, available for free to compete with open-source alternatives.
Version 3.5 of Microsoft’s .Net development
platform does not require an initial licence fee for example, while the
licensing for Visual Web Developer has been altered to give programmers greater
flexibility of use, even if the source code is available only for reference
rather than alteration.
New approaches to development
Alongside SOA, other ways of thinking about how applications support the
enterprise such as business process management (BPM) and event-driven
architecture (EDA) are starting to gain a foothold. BPM echoes SOA in dividing
software development projects into separate processes that could be outsourced
to third parties. EDA, meanwhile, is an approach to application building where
events trigger a set of predefined responses from the software a capability
that is particularly useful in retail transactions, for example.
These new approaches to software development have been shadowed by changes to the actual tools that are used to construct applications. Different companies have always favoured different programming languages, according to their particular requirements, budget and the programming skills at their disposal. That will persist. But increasingly, open-source development is offering IT leaders ways to tap into a global talent pool that was hitherto unattainable.
IDC's Bradshaw says he expects to see open-source development tools gaining ever more traction, given growing support from vendors such as IBM and Sun. But there are cost and complexity issues involved in open-source development that IT leaders must be cautious about, he warns.
“There are hidden costs in any software development project, but with open source people tend to think they are not there,” he says. Traditionally, support costs have been factored into application budgets, but with open source there can be a misleading assumption that the community will provide the necessary support for nothing.
Clive Howard, consulting and founding partner at web design and development agency Howard Baines, believes many organisations routinely underestimate the costs associated with open-source developments.
“People say open-source development platforms are cheaper because they are free tools, and startups in particular are very keen on that,” he says. “But beyond that is the overall cost impact of the project and the time spent supporting and maintaining applications.”
The impact of open-source development frameworks can be most clearly seen in the field of web development, where frameworks such as Ruby on Rails have become hugely popular.
In early 2008, online bookseller Scholastic built a new web site for its online children’s book club using Ruby on Rails. Peter Mankhe, Scholastic web project director, was particularly keen to minimise the time it took his four-man development team to create the site and add new functions and applications to coincide with print publishing deadlines.
Using the Ruby on Rails development platform and so-called agile software engineering methods, Scholastic was able to break down web project cycles into a series of small components and functions that could be developed within two weeks, shortening the development cycle by about 20 per cent, says Mankhe.
“It really makes it easier and more dependable to make sure we get critical things done on time and still have a completely usable site,” he says.
Agile programming
The process of breaking down development lifecycles into small chunks, which are
delivered to the organisation in rapid succession, lies at the heart of agile
development methodologies of which there are many. But it is an approach that
tends to be used in younger, more dynamic programming environments, supporting
the creation of web-based applications.
“Agile methods are not for everyone. A significant number of staff members in any large organisation experience tells us up to 60 per cent will be incapable of working well on agile efforts,” said Gartner analyst Matthew Hotle in a recent research note. “The tight collaboration and constant back-and-forth that happens on an agile team is not something that all staff members are capable of accepting. Some teams simply want their assignments on their desktop; and when they finish one assignment, they want to move to another.”
The act of breaking down application development into small chunks can also encourage IT chiefs to evaluate whether certain chunks are suitable for outsourcing.
Offshore development and testing
Software development has historically been one of the main focuses of offshore
outsourcing, but even here seismic changes are happening. India’s dominance as
the offshore location of choice is being challenged by Russia and other eastern
European locations, which are closer and sometimes cheaper, while China and
Brazil are also gaining ground.
“The pay rates in India keep rising and some companies have a high staff turnover, so it is not the panacea that people think,” says Bradshaw. “In the vast majority of cases the savings are such that it makes the trouble of managing remote staff worthwhile, but there are alternative sources in eastern Europe where you can talk to people in normal hours and which are easier to visit.”
As any programmer will tell you, building the application itself is only one part of the process thousands of man hours are spent on testing the code to make sure it does what it is supposed to. According to a recent survey from software testing specialist SQS, 62 per cent of companies still do all their software testing in-house, though the company suggests savings can be made by offshoring this element of the development process to third parties as well.
Bradshaw believes that many other changes will force themselves into software developers’ thinking over the next few years. These might include the need to embed virtualisation support specific to different system architectures, and to make better use of IT portfolio management tools, which help developers manage the application lifecycle on behalf of their customers more efficiently.
And that much-abused concept, software usability, may even make a belated appearance in developers’ list of priorities.
“It’s a hoary old chestnut and old habits die hard I know, but Salesforce.com has taken a large chunk out of the CRM market simply by being a lot more usable than what was out there before,” says Bradshaw. “I’m not sure better usability can be put into development tools themselves, but there is much that can be done during application acceptance tests and design work to alter the way the interface interacts with the user.”
It's true that "software development has come a long way" since the first days of COBOL. However, it should also be pointed out that, despite the advent of various new technologies, standards and languages, COBOL has also changed and has truly stood the test of time. It continues to be the most pervasive language in the world today, with over 200 billion lines of code in existence and over 200 times more COBOL transactions taking place daily than searches on Google.
The majority of global businesses still run their core systems on COBOL. These enterprise systems have been enhanced, extended and improved over many years - they are robust, easy to maintain and modernise and continually deliver business value. The temptation to replace such systems with newer technologies can be dangerous, due to the cost and risk involved - we have seen numerous "replacement disaster stories" . If these companies lost even a fraction of the information amassed over the years, it would be catastrophic. Newer developments as the world of technology evolves should certainly be welcomed. However, we should also acknowledge the language that has evolved over its first 50 years in existence and continues to deliver vital information on a daily basis.
Posted by: Peter Anderton, Micro Focus 16 Oct 2008
"Software development has come a long way since the days when Cobol and Pascal were the languages of choice..."
Pascal?! It was never a widely adopted language. Perhaps the author is thinking of Fortran -- a language which is still very much alive in the scientific computing community.
Posted by: David Hamill 14 Oct 2008
Have your say on this article
Newsletters
Latest stories from Applications
You may also like
Applications jobs
Technology Patent Wars
Case studies from large organisations across all sectors
... And rich media, and flexible working, and peaks in traffic ...
Upcoming Events
Join us for this Computing web seminar, in which the Head of BI at the Co-operative Group Nick Colebourn will be explaining just how he reigned in the Group’s sprawling database estate and how significant savings were realised and data quality improved as a result.
Date: 31 May 2012
Time: 11:00 AM
Live June 13th 11:00am: Register now. During this web seminar we will be looking at the sorts of incidents that can bring data centres grinding to a halt and what can be done about them.
Date: 13 Jun 2012
Time: 11:00 am
Receive the latest jobs direct to your inbox
Are you being paid what you are worth?