April 4, 2015 // By Larry Louisiana
Let's face it; defining ROI on technology investment can be tricky. Making the right decision to optimize return can have a major impact on your department’s budget in the next cycle. Here are 5 simple ways to improve ROI for your future budgets.
Just like remodeling your Bathroom, bringing your architecture up to date can add value to your company. Some companies are still running Windows XP which was released in 2001, 6 years before the first iPhone! Think of all of the advances in hardware and software since the first iPhone:
- Responsive web design - Gives your site greater access across devices
- Azure –Many possibilities, too many to enumerate here
- Grease the gears of growth
Plan on expanding? Have you talked with your IT department & developers about what this means for them and the Company? Recently, I was helping a company expand its user base internationally. This opened the company up to billions of new users, but the sales team had not discussed the consequences of handling foreign addresses with the IT department. The result was a mad scramble to rebuild core functionality, open a new data center, and rework integrations/dependencies before they were due to go live.
- Make the company nimble and responsive to change in the market.
- Maximize Bandwidth
Architecture really is the foundation of all that your company does in its software and by streamlining some aspects of the architecture you can actually make your existing staff more efficient and available to take on new work. This can be done in a number of ways, but since your IT staff is already busy maintaining the existing software you’ll need some short term help to make sure everything keeps functioning as is. Create more bandwidth by bringing in some outside talent for a month or two and clean out that backlog to give your development staff the opportunity to innovate.
- Make your employees more productive by reducing the number of deployments needed
- Reduce the bug backlog to make room in the week for new development
Lean / 6 Sigma, are terms geared at organizations as a whole, but they also apply to software, and in particular enterprise software/hardware architecture. I can recall numerous clients who had evolved their software to match their business and as both grew over time servers ended up in closets, system inter-dependencies tangled and ultimately it became costly for them to onboard new resources due to the upfront orientation. By sorting out dependencies and separating concerns you can apply what the business has learned about what makes you successful and get the most out of that aspect of your system. Also as times goes by code develops dead ends and code that can, or should, never be reached. Supporting a code base that has a lot of this orphaned code adds time to bug fixes, simple in that the developers need to sort it all out each time they go in and look at it. There is a simple fix have them remove it!
- Carefully scrutinizing what you think your business logic is can reveal opportunities.
- Reducing code can increase developer effectiveness
Just like anything that has not under gone regular maintenance enterprise software can go rotten. this can happen because nobody is around anymore that remembers what software x is really doing, or how it does it, or more commonly it was written in a language or style that in no longer relevant. Think of it like this; Romeo & Juliet is a timeless story, however Shakespeare’s wording makes it difficult to understand, without someone to explain. This is all the more relevant to software which evolves on top of hardware which is itself evolving. That doesn’t mean that the software doesn’t work, just that you may not be able to put it side by side with other software that you are currently developing. A client recently told me a story about a pc that hadn't been shut off in 5 years because its hardware was so unsound that they were concerned that if they did reboot it that they would lose the access database that was running their security system. These are the types of things that happen over time, due to budget, and drive to succeed and excel out weighing stability and reliability. It’s only human and we've all done it at one time or another, left the dish in the sink so we could watch the game, but eventually we need to go back and clean up the kitchen before we have guests over for the next big game.
- A fresh set of eyes can find issues of which you are not yet aware
- Explaining the why and how can be as beneficial for the audience as it is for the teacher