Technical trends: Success depends on more than technology
By Ben van Niekerk
Governance as critical as effective development tools…
As the use of IT within organisations matures, for many non-technical executives, application development still seems a very hit-and-miss affair. There is a frustratingly high incidence of IT project failures, where projects are either abandoned or delivered way over budget and without the required functionality.
It’s rarely the technology that is to blame for this failure. IT managers are often at a loss as to how to improve things when the best available tools are already in use. There is great pressure to buy new technologies to help developers become more productive, and yet coding only takes up 20% of the entire application development lifecycle. Productivity improvements may have little effect other than getting to failure faster if they are not combined with improvements in the process of development.
Research from the Butler Group indicates that the answer lies in the introduction of a formal, documented application development strategy such as model driven architecture (MDA). MDA for the first time brings the concept of governance into the application development paradigm – and governance must be an essential component of any application development process.
Corporate responsibility for applications means that failure is a potentially greater problem than ever before. The United Kingdom’s 1999 Turnbull Report on corporate governance stresses that companies will be liable if they do not consider the internal and external risks to their systems. Directors could be held personally accountable if the potential risks of large-scale application development projects have not been properly assessed, and this provides a clear mandate for formalizing the application development strategy.
The business reality typically faced by application development teams is that the whole IT environment is highly complex, pressures are considerable as business demands delivery within specific time frames, and the gap between technical skill and business acumen persists. In this context, formal methodologies are often seen as a burden on the development process. However, a methodology is an encapsulation of successful development, and therefore can provide a guideline to repeat the success in future.
But methodologies still don’t solve the problem outright. With application development, no two programs are the same, and any method has shortcomings in one or another scenario. This demands that application development teams apply methodologies within an environment of flexibility and compromise to cater for the potential idiosyncrasies of specific projects.
Many of the issues surrounding the development of successful applications relate as much to the people and the process as to the technology that is used to develop and write code. Organisations need to encourage better project management skills in order to control projects more tightly.
Butler Group also stresses that business management and executive sponsorship is an essential contributor to success of almost any project, whether it is the implementation of a packaged application or the development of a new system. However, organisations still devolve much responsibility for IT projects to the IT department; while the actual development requires skilled practitioners, the success of the project is more dependent on clearly conveyed requirements, and executive enthusiasm and contribution.
Application development within the enterprise is complex and requires a dynamic approach that combines available technology with proven methodologies, committed teams comprised of technical and business-savvy members, and a willingness to innovate within the definitions of project guidelines. It’s not an easy combination, but it is one that will greatly mitigate the chances of project failure.
Ben van Niekerk is product manager at Compuware Corporation, a provider of software and technology services. You can contact the South African subsidiary on +27 11 516-2900