Martin Atherton, Computing
Application development remains undeniably important to organisations large and small. The need for software design, build and maintenance capability has not been killed off by packaged applications or nullified by the latest ideas, such as software-as-a-service (SaaS) and cloud computing.
The tools and processes used to deliver new software applications have changed considerably over the past 20 years. Scripting languages, rapid development frameworks and collaborative open-source projects have proliferated. Some of the traditional ways of doing things have been directly challenged.
One of the key practical characteristics of modern software development is componentisation. This has introduced previously impossible levels of delegation, adding equal amounts of choice and risk to the equation.
Looking back, early software development was about doing as much as possible with very limited resources. In the distributed computing era, commoditisation meant that in many ways, software development became synonymous with the exploitation of seemingly limitless resources.
The next generation of software applications, however, needs to be realised using the restraint required by a global economy: the fact is resources are not limitless.
So what are the vital ingredients for software development in the future? Simply put, future success will depend on a blend of back to basic principles and new approaches. While modern tools and environments allow developers to deliver creative front ends rapidly and flexibly, the need for sound analysis and design has not gone away.
Indeed, fundamentals such as fully understanding the user/business requirement, conducting good old-fashioned data analysis, and building the application on a solid, structured foundation tend to lead to more robust and maintainable systems.
Much of this might appear to be common sense, but given the freedom to rapidly undo, redo and adjust on the fly while developing – often under time and cost constraints – the discipline required to deliver against the initial brief is paramount.
The other vital ingredient is outsourcing. Its use in software development is already pretty widespread, nevertheless Freeform’s research suggests that getting the most from IT hinges not just on what organisations are outsourcing, but, moreover, why they are doing it.
A recent study of outsourcing perception we undertook was illuminating. It highlighted some significant differences between the degree of outsourcing carried out by organisations across their software development lifecycle, and the perception they have of the value of IT.
Those organisations that view IT as a source of competitive advantage in its own right do a lot more outsourcing across the development lifecycle, and significantly more in project management and towards the tail end.
It is interesting to note that as well as the more traditional outsourcing of software development activities, other areas, such as software-as-a-service (SaaS), are also more likely to be adopted by these progressive IT organisations. While these observations may appear counter-intuitive initially, it does suggest that when IT organisations act more strategically, they are better able to decide on what should be kept in-house, or otherwise.
The key to harnessing outside expertise stems from the IT department acting as a facilitator and orchestrator, which can happen when IT is genuinely embedded as a strategic and integral part of the business. For many organisations this alignment exists in certain places, such as industry regulation (albeit in very specific silos), but perhaps not across the board.
What else can we learn from the more progressive IT organisations?
From our research, we also know that architecture and integration are key elements of progressive IT and there is a strong propensity to adopt approaches such as service-oriented architecture (SOA). This is more than just a desire to adopt new working practices. Rather, it is an indicator of how joined-up approaches are key features of a more strategic treatment of IT.
The propensity, then, to combine alternate software models such as SaaS with in-house software functionality and development using both on-site and off-site equipment and expertise makes more sense when we know that the skills required to harness them – management and integration – are highly valued.
Ultimately, the goal is for IT to raise its game in the increasingly competitive business arena. A number of new and established approaches are going to have to work in harmony to deliver improved service to the business. Progressive IT departments are already mixing things up to benefit their business. It is important that everyone else seeks out their own perfect balance.