Many large organisations are struggling to survive in the new electronic trading world. Successful e-commerce applications must be able to operate in a worldwide, unrestricted, fast-moving, and unpredictable environment.And while the complex requirements of e-business have imposed new constraints on IT infrastructures, a brand new paradigm has emerged for application building.
The management of software development has never been easy but the development of e-commerce applications is riddled with new challenges and the urgency for companies to launch themselves onto the web serves only to exacerbate the difficulties involved. But the pressure is on, and a new infrastructure must be put in place if companies are to succeed in e-commerce. According to recent research from Forrester, 80% of e-business revenues in Europe over the next four years will come from B2B products and services. “Taking action,” says Forrester, “requires a radical transformation of today’s organisations from the business model to trading partners and IT infrastructure.”
The heavy demands of the online business world are imposing a new rigour both on IT management and on application building. More specifically, corporate executives are now beginning to realise that meticulous testing must become a fundamental element in all stages of application planning and development. The idea is not new. As early as 1975 software development guru Frederick Brooks stipulated that at least 50% of development time should be devoted to testing. But e-commerce applications are bringing a new urgency to the development process, and with it, an understanding that prevention is preferable to correction. Tacking testing onto the end of the development life cycle has become unacceptable.
So we see the dawn of a new technological culture, a reassessment of software development practices and an emphasis on understanding risk.
The new paradigm has come easier to some organisations than others. There is huge pressure to deliver e-business applications quickly, and not all organisations feel that they have time to re-educate and re-structure their development teams. In an immature market, the sprint to establish oneself on the Internet can seem all-important, but a weak or outmoded IT strategy adds extra risk to an already hazardous environment.
This is the situation in which IT management consultants find themselves, attempting to re-define the IT infrastructure for success in the electronic marketplace. Expectations are sky high, and the pressure on consultants can be enormous as they attempt to build resources and refine the capabilities of technical teams to ensure that high quality solutions can be produced quickly and provide an evident return on business investment.
The culture change
Some of the new challenges faced by software development teams are in a sense inherent to any new technology. The e-commerce market is, after all, new for everyone – shifting and changing in patterns as yet unmonitored, moving faster than companies can possibly learn about them.
However there are other huge factors in e-commerce application development which are genuinely unique and make the development process on the one hand interesting, but on the other difficult. The first is the element of the unknown. The Internet is an utterly uncontrolled and uncontrollable network, and this makes security testing and performance testing hugely important.
Second is the way in which software now evolves. Installation and distribution methods are now so cheap and easy that upgrades occur more frequently and sometimes even automatically. Many software products upgrade themselves by simply scanning their home servers for updates. The speed of software evolution puts massive pressure on testing teams to keep up with documentation and new functionality.
There are also new development tools, browsers, languages, and protocols to keep track of, all changing so fast that incompatibilities between products can become widespread.
If e-commerce application development is to be successful then we must develop ways of coping with the speed of software evolution, as research firm Ovum points out in Delivering next generation e-commerce applications, April 2000. “The fast rate of change, combined with the emergence of different client types, places enormous pressure on the process of design and construction.This means changes to the tools that are used and the roles and processes that govern development.”
So, if organisations are to develop robust, reliable e-commerce applications they need to develop a different world view. There is no longer a controlled system within which all possible factors can be monitored. In the new world of e-commerce our computer systems must function in an environment of changing technology over which we have no control. For developers this means maintaining an evolving outline of the architecture of all Internet technologies relevant to them along with some estimation of the associated risk.
Successful e-commerce application deployment not only requires the ability to get the product out onto the Internet but also demands consistent site availability, and a sophisticated understanding of performance thresholds, scalability and load balancing.
Paul Gerrard at test consultancy Evolutif says one of the biggest changes in testing e-commerce software is that functionality testing is now only a small part of the process. “In all e-business projects, the issues of non-functional problems such as usability, browser configuration, performance, reliability, and security dominate people’s concerns. The number and variety of the risks of e-business projects forces us to take a new approach.”
Gerrard is promoting a risk-based approach: “Rather than worrying about long term test plans, it makes more sense to ask the question: what risks can we see today?” In the past testers have often taken the brunt of schedule slippage and then subsequently a huge amount of responsibility for unspotted application error. Because of the increased difficulties involved in e-commerce application building it must now be made clear, according to Gerrard, just exactly what the risks are and who is taking them. “Testers should not get upset if they are squeezed in the schedule. It’s the management who are taking the risk. The testers’ responsibility is to identify those risks and put that information in front of management so that they can make an informed decision.”
The high speed of software evolution puts huge pressure on development departments, and creates an almost impossible task for testers, and here automation tools can make a huge difference. Gerrard supports an automation-focused approach where design tests are created in automated form right from the start. This means that tests are created only once, never transferred into new forms and then re-used as regression tests. This tends to be carried out by recording users’ actions and playing them back against the system under test. Powerful machines are used as load generators to replicate the actions of a user at high volumes, simulating the behaviour of tens or hundreds of users. This depends on the concept of virtual users – usually very small web clients which are individual instances of a particular test script.
The number of virtual users is increased for rigorous stress testing and user “think times” are removed from the script so that the system can be taken to its breaking point. Load testing on the other hand tends to mimic real-world use by running different types of test scripts for their particular bias on an application. Typically these will be the kind of actions performed on a website during peak use and those considered mission critical. Such simulation techniques give clues as to where the weak spots reside in Internet applications and the results can often be quite unexpected.
But one thing which we must remember is that the Internet itself is a communications medium. Software can be beta tested on the Internet with functionality built in which is capable of reporting back live quality information to development and testing teams. The detailed statistics which can be gained from this kind of exercise are absolutely invaluable as they provide detailed figures on which parts of an application fail the most, which parts are used the most and so on. The reproduction of faults which require the repetition of an awkward sequence of events can be performed without the usual diagnosis problems.
IT and business have always been closely entwined, but since the emergence of electronic commerce they have become virtually indistinguishable. We have found ourselves in a new kind of trading world – a world where e-business has become a mission critical component of today’s global enterprise.
While maintaining its traditional role of increasing organisational efficiency, IT is now required to lead businesses into new markets.
With the rapid evolution of Internet technology, non-e-business organisations will face increasing pressures. In order to compete, companies must be able to react quickly to the changing environment – implementing IT infrastructures which are flexible enough to absorb new technologies and adaptable enough to the environment that they can quickly change the scope or functionality of applications to support changes in the business model. Organisations that succeed will be those who are willing to implement changes to their development practices and realise the importance of combining business strategy, process improvement and information technology.
Ian Davison, KPMG
Two years ago KPMG was not involved in any systems development. Ian Davison, principal consultant at KPMG, says: “18 months ago, we realised that to survive we had to get involved in e-business development, and we formed a new e-integration practice.” He says large companies are now taking a more pragmatic view of their e-business strategies. “We have moved on now from the big dotcom scare of 18 months ago where all big companies thought they were finished. Now they’re looking more at their business to business strategies.” According to Davison, e-business software involves two key elements; integration and the bespoke development of front ends. He says integration is the crucial and the more difficult part of the equation. “It’s different to client/server because you’re extending the system outside of the organisational structure. Unless you extend beyond the company boundary, you are not involved in true e-business.”
He cites two fundamental changes which need to be understood before successful e-business applications can be built. “The first is time to market. It used to be two years, and now it’s three to six months. The second is end-to-end capability without which you cannot survive.” If organisations are to rapidly produce accurate e-business solutions they need also to move towards component software, he adds. “We need to use well defined, tried and tested and reusable components. This way we can selectively customise applications.”
Keith Cunningham, Oracle
Keith Cunningham, director of practices at Oracle Consulting, believes that large companies are now beginning to adjust to the fast moving pace of e-business application building. “It’s moving more successfully now than it was 18 months ago,” he says.
However, according to Cunningham, the ability to deal with the electronic marketplace varies between large and small companies. “Small startups are able to react quickly to the market but we have to persuade them of the benefits of quality disciplines. Large companies, however, already have the quality disciplines but are not used to moving quickly.”
He believes that some major changes need to take place in the management mindset of large companies if e-commerce software projects are to be successful.
“Rather than thinking in terms of a three-year strategy, large corporations need to think in terms of what they can do in three months,” he says.
Cunningham is keen to emphasise the point that if e-commerce projects are to come to fruition in these short time scales, then much of the traditional development process needs to be simplified. Applications must be produced rapidly and cannot be too complex.
“I think that the major change in mindset is in trying not to customise thinking in terms of using off-the-shelf applications.” This cuts out a huge amount risk from the development process, concludes Cunningham.
Eleanor Turton-Hill is a freelance journalist