All IT changes seem to be prohibitively expensive, particularly when it comes to software development. Generally there are two types of changes business are faced with, those that are a necessity, such as upgrading office PCs, operating systems, security software and so on, and the exciting, innovative changes that grow business and drive efficiencies.
Businesses, perhaps reluctantly, budget for the necessities, but where they want to see their money really work for them is for business development, where there can be a real return on investment to drive growth, productivity, and to stand out from, or recover ground on their competitors.
As there is a dependency on change, sometimes just to stand still, businesses can find themselves in a helpless situation and just have to say “yes” to get a job done and, consequently, suppliers can take advantage.
All companies should see themselves as software companies first and foremost, whatever products and services they sell.
The above headline may seem a bold statement. This doesn’t mean every company must have the skills to develop its own software, especially those that increasingly rely on off-the-shelf packages, many of which are now in the cloud. Nor does it mean allowing IT departments to run the show. What it does mean is that most companies depend on software to run most, if not all, of their business processes, and in this context, IT change is essential.
Businesses should strive for a model of continuous software change.
Change and especially innovation are good, and should happen continuously, but, by pricing development too high, businesses can only afford to make changes from time to time. Change then becomes a disruptive, risky process which requires far more testing, training and adjustment.
So, how can you get the fair value for the money you invest in innovation and adopt a model of continuous change? Here are five things to think about.
Five ways to reduce development costs
1. Understand where the money is spent with suppliers
Do you know where your money is going? What is the ratio of your investment to the roles of the implementing team? Challenge the status quo of multiple layers of management and ask what are they providing for you as the customer. Ideally, money is spent on the product and not on superfluous roles. Yes, software is complex and paying for the expertise should be where the money goes.
2. Start with a design that you know will work
If in doubt, stop and rethink. In software development, the later in the development lifecycle that defects are found, the more expensive they are to fix. This starts with the design - it is far cheaper to fix defects at the design stage than once a change is in the wild. Have a mindset to “test everything”, especially the design. There is an assumption that only code can have defects. This is not true. If a design does not seem to work, fix the design before going any further.
Test automation and release automation are concepts which can be applied to small software changes as well as large enterprise systems. Both reduce time and reduce risk to software changes. Don’t be held to ransom over costs in this space, as the idea is to effectively write once and run many times. The tools in this space are maturing, and these processes are becoming more commonplace. Release processes should not be overtly costly, resource-heavy or slow.
4. Establish a design that can be delivered in small chunks
This is the essence of agile, but it is surprising to see how often this is not implemented. Having a change programme that can be delivered through an established change pipeline enables companies to see a return on their investment more quickly. Any change that opens new sales lines or improves productivity will have a positive effect on the company balance sheet the sooner it is available.
Working in partnership with suppliers depends on communication. Both parties need to understand exactly what is required and how to get the job done. Clarity, openness and honesty are qualities to have from the outset and will increase the chances of success and make failures and defects less likely. Along with these qualities is proximity. So much more can be achieved and understood at a faster pace when working closely together.
Find out how Innovensa can deliver effective custom software innovation for you.