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.
Technology itself is rarely to blame for this failure, with a few notable exceptions, and IT managers are often at a loss as to how to improve things. There is great pressure to buy new tools to help developers become more productive, and yet coding only takes up 20% of the entire Application Development lifecycle. Improvements in productivity may have little effect other than getting to failure faster if they are not combined with improvements in the process of development. Butler Group believes that a formal, documented, Application Development Strategy is an essential part of the overall process of IT Governance.
Whilst technology may not necessarily be to blame, the whole IT environment is undoubtedly highly complex, making IT skills in demand, yet there is a shortage of many of the key skills that organisations are seeking.
Formal methodologies are often seen as a burden on the whole development process. However, a methodology is simply an encapsulation of a way that development has been successful, and can help to repeat the success in future.
Business Issues
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.
There is still a wide gap between business and IT, with technical staff understanding too little about the requirements of the organisation, and the business users finding most technical issues too complex. Advances in technology to date seem to have made this worse rather than better.
A topic that Butler Group repeatedly revisits is 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. Of course, the actual development still requires skilled practitioners, but unless the requirements are clearly conveyed in the first place, and executives are enthusiastic about the project, success is far less likely. This is an area where visual tools and the 'story' concept of some development methodologies may have a significant contribution in helping the organisation to understand its own requirements more clearly.
The application requirements of organisations are changing. Types of application, such as Web self-service, attempt to automate a large amount of a business process. Consequently, the type of application needed by users within the organisation tend to be much more complex, and aimed at problem solving.
Technology Issues
Any organisation developing applications today has concerns about the underlying platform used, and about the standards in use. Heterogeneity is a fact for many organisations, which have both Microsoft and Java applications in-house, and programmers skilled in a variety of languages and a blend of systems that have been accumulated over many years. In terms of enterprise-level, deployed applications, we believe that J2EE is still the most common infrastructure, and will remain so for the next few years, due to its relative maturity.
The concept of creating a Service Oriented Architecture (SOA), where services are provided and used as required, is rapidly gaining traction. The majority of organisations have not yet begun to take advantage of this, but it is an area that should be considered as new applications are developed. SOAs will have a significant effect on styles of development, with increased use of modelling and the application of patterns, and less emphasis on pure coding. It will also promote the use of Web services as the standard model of communication between application components.
Microsoft established an early lead in Web service development, with its Visual Studio .NET product, but Java-based tools have now narrowed this gap, and both platforms are actively used for developing Web services-based applications.
One of the key findings of this Report is the concept of Model Driven Architecture (MDA) within Application Development Strategies, where a design model can be developed that is independent of the platform on which the final application will be deployed. This can then automatically be used to generate a model that is specific to the relevant platform, thus much of the necessary code is automatically generated. It is our belief that this concept will revolutionise Application Development, particularly at the enterprise level. Problems will arise in the level of modelling skills available - lead developers may need to become modelling specialists to take full advantage. Even so, 100% code generation is not a realistic aim, and the objective of MDA is not to de-skill developers, but to improve productivity.
Market Issues
Microsoft, IBM, Oracle, and Borland between them have the lion's share of the market, but it is a market where there are still a large number of players. Many vendors provide solutions that cover the whole application lifecycle, and many more focus more tightly on the actual development environment. There has been considerable consolidation of the market, with major vendors acquiring more tools to provide full support for the application lifecycle.
Open source tools for building applications are becoming increasingly popular, with many large vendors investing significant amounts of time in these initiatives, but the absence of support to the levels demanded by enterprise users has meant that open source-based development has not had the expected impact on the market. An open source offering can provide a basic toolset for development for small- and medium-sized organisations, with added functionality provided by tools that plug into an open source framework such as Eclipse.
In terms of the ongoing infrastructure debate - the J2EE versus .NET 'battle' - Butler Group continues to believe that both platforms will coexist within the majority of enterprises, and this makes it particularly important that model-driven architectures, and Web services-based development are used to successfully incorporate both into an overall enterprise architecture.
Microsoft has set its sights on the enterprise market with its .NET strategy, but as yet we do not believe that it has delivered on its promise, and the lack of a current MDA capability is a serious drawback, although there are clear indications that this gap will be plugged in the future. As a contrast, Compuware's active support for the MDA concept is starting to pay off, and the company has a winning strategy.