Business-aligned IT: A more collaborative approach between IT and the business is required towards software development, in order to align IT systems with business needs.
Charles Dickens might have been talking about social upheaval, but his opening paragraph for A Tale of Two Cities, "It was the best of times, it was the worst of times", can just as well be applied to today's software development process.
It is the best of times because of the potential created by software applications, more advanced software architectures, advances in communication networks, wider bandwidth, proliferation and sophistication of mobile devices, and the convergence of collaborative experiences, technologies and tools.
It is the worst of times because of software complexity, project failures, the need for governance of both regulatory and corporate goals, better visibility, control, quality and the need to be agile enough to change software "on demand".
Over the next few years, IT departments will be bombarded with new ways of writing and delivering software. Service-orientated architecture and rich interactive applications are just two of these, and each will require a lot of care and attention before it can be deployed.
However challenging technology might be, IT will not be able to meet that challenge on its own. It needs the support and insight of the business. Unfortunately, business and IT have not traditionally seen eye to eye.
Business executives would like IT to behave like an impeccable butler, but many see IT more as a wilful child. Both sides are responsible for the failure of IT to meet expectations, which has led many chief executives to turn to outsourcing.
The business side of an organisation expects IT systems to allow the business to operate more effectively. But business executives focus mostly on immediacy and fast responses to market changes. They often ignore the need for forward planning or discussions with IT about what will be needed over the next five years.
On the other hand, IT teams are often easily distracted by technology for technology's sake, rather than concentrating on what needs to be delivered. Many fail to create products that can be maintained and adapted to changing requirements.
IT is also operating under increasingly constrained budgets, so when faced with demands for immediate action, it often lacks the resources to deliver.
So how do you break this cycle of mutual failure? Combining existing IT practices with a more collaborative approach and enforcing engineering principles would be a good start. This means bringing together business and IT to ensure that each understands the other.
This is more than just another "team-building" exercise where both parties are sent out into the woods until they can work together. The goal is to create a viable process by which IT planning and business needs can be aligned.
For this to be an effective process, everyone from the board down must buy into it. While there has rightly been a lot of attention paid to the role of the board in security and compliance, there has not been the same focus when it comes to the overall IT strategy. Many companies still lack a committed IT champion at board level and this must change if IT's success rate is to be improved.
There is a perception that the IT industry, when challenged, will always "invent" a new approach. This deflects criticism, can be hailed as the next best thing, and is often an excuse to not "fix" what is clearly broken. New approaches are often counter-productive and expensive.
Instead of starting anew, a more collaborative approach is needed. Software development - no matter where it is done - is central to the business process, not something that is added later.
When the business is looking to where it wants to be in five years' time, it must ensure that the IT systems required to deliver that vision are part of the IT planning process, not an afterthought. This does not mean changing the way the business works or buying into yet another set of IT tools and methodologies.
Build on what you have instead. "Effective use" based on increased collaboration between business and IT people rather than "rip and replace" is the key to success.
Software providers have already begun to react to the need for collaboration. Microsoft, Borland, IBM/Rational and others are building collaboration into the core of their new products with role-based tools built on a single repository and a consistent view of data. This has meant that every team member remains in sync with the rest of the team, preventing misunderstandings that cause money, time and effort to be wasted and lead to end products that satisfy no one.
That said, the new generation of collaborative tools are expensive and need to improve in many aspects. Suppliers have put them together through a mix of home-grown and acquired technologies which may, or may not, be well integrated with one another.
Collaboration is, unfortunately, still limited to within the IT department (and then not always effectively). Application lifecycle management products rediscovered the importance of architects, and devised new ways to get them fully involved in the development process alongside developers and testers in a move to service-oriented architectures. However, collaboration needs to happen at more levels and between more roles for a successfully aligned development process.
For example, roles that are typically responsible for the access and integration elements of an application need to be more clearly defined and involved.
Collaboration also needs to reach out beyond IT users to business people. Business users either get very simplified tools that do not integrate well or have to use the same tools as the IT experts. When they exist, collaborative processes and tools only deal with governance issues (a good start).
Enterprises need tools that move beyond collaboration around governance to enable better and wider collaboration in other parts of the development process. Delivering software code will always be the preserve of the software development team, whether it is developed internally or managed externally. However, business users need a new generation of business user-specific tools to be involved in the definition of enterprise models, process and business rules. They also need better requirement management tools.
Requirements management, for example, is an area that is crying out for more effective products that will deliver improved interactions and collaboration with business.
With a collaborative approach underpinning the entire IT cycle, it should be possible to choose the right approach and delivery mechanism for each project. Forward planning should ensure that the underlying hardware is capable of delivering the software.
None of this will happen without a framework that is focused on aligning IT and the business. We should not kid ourselves about the depth of the current problem. Money is being wasted in far too many companies. The gap between IT and the business is, at best, being maintained; at worst it is growing into a chasm and if nothing is done to change that, everyone will have failed the business.
Bola Rotibi is a senior analyst at Ovum