The Evolving Nature of Software Development

Software development is constantly evolving particularly within organisations.

The way software is created and consumed by organisations to manage the way they operate is changing. While many organisations still run internal IT projects to create solutions unique to them, over time the role of the IT department will change, and here’s why:

1. EASY ACCESS TO RELEVANT CONTENT HAS DEMOCRATISED HOW PEOPLE LEARN ABOUT SOFTWARE

Ten years ago, rolling out business software included teaching basic computer literacy skills to end-users. The internet and search engines have changed all that. The internet has provided a place for human knowledge and information to be encapsulated as web content, while search engines help us find the content we want quickly.

The speed of access to information has been transformative. I remember as a graduate student having a day trip to Edinburgh 80 km away, to read a chapter in a book which only a particular reference library held. Unfortunately the book wasn’t there and I had to return a week later. Those two days of travel have been replaced with a web search of under 3 seconds.

Anyone wanting to learn about coding can find any amount of material, vendor or community, which leaves software development open to anyone with any interest.

2. THE CLOUD HAS KILLED TRADITIONAL SOFTWARE DISTRIBUTION, CREATING A FRAGMENTED MARKET AND FORCING CHANGE ON INTERNAL IT

The Cloud benefits software developers and end-users. No longer does a software vendor worry about shipping software on CD’s or installing solutions at a client data centre. Anyone with an idea for a software product and the means to code can quickly launch a solution on the internet with their credit card. Ten years ago this simply wasn’t the case.

A bloom of new solutions has resulted, which solve traditional IT problems using a cloud approach. This is attractive to non-IT departments who can now procure and consume solutions without the need for IT policing. Offering short contract lengths or free trials makes it easy for anyone to test a solution for their department without huge financial commitment.

Many organisations are now working out the role of the IT department in a cloud world. Is it still the gatekeeper of all software and business data, or a supporting role to IT procurement across the organisation?

3. ABSTRACTION IS MOVING UP THE STACK

I heard Bjarne Stroustrup describe C++, the programming language he created, as “a tool for creating lightweight abstractions”. To a software developer, abstraction is a way of masking underlying complexity by working with concepts which reflect how humans naturally think – higher levels of abstraction in software are associated with increased developer productivity.

For a non-technical developer abstraction means accessing less technical, more configurable tools which can be used to create custom software without the need for developer support. An example might be the creation of business process automation for a customer process such as a complaint, an online e-commerce purchase or an application for a personal loan. In the past, these solutions would require developers to create software. Today these automations can be created by non-technical people who understand business processes inside the organisation, using simple cloud-based products.

WHERE IS ALL THIS HEADING?

In the organisation of the future, the responsibility for creating business software will be spread across the organisation. In the short to medium term, the IT department will still be responsible for core applications, data governance and overall security, while value added solutions will be procured, consumed and shared between departments seamlessly with minimal IT input.

In the long term, individual employees will be able to assemble their own personal solutions for particular problems such as analysing data or automating a business process, with IT playing a supportive role.