Software development teams are constantly under budget pressure regardless of their approach to building software systems. Saving money in areas that don’t impact project outcomes will free up funds that can be used on what really matters.
Despite all the attention to reducing costs in recent years, there are hidden budget busters in every technology department. If you can get these under control, you might free up enough money for that new server or software upgrade. Here are a few ideas.
Start by looking for shelfware. You may be paying for software licenses that are unused. At times, a software package is replaced yet the license keeps being renewed year after year until someone notices.
Another type of shelfware occurs when a license is purchased for a large number of users but only a fraction of them actually use it. Perhaps some people tried the application but decided to revert to whatever they did previously.
Shelfware can also manifest itself in the form a license that is too broad. You may have purchased the right to use all the modules in a software package when in fact only a few are needed.
Re-examine software purchase decisions yearly. As the business evolves, so will your needs.
Another way to drive down software licensing costs is to go open source. While not a magic bullet, you can achieve significant savings. Start with infrastructure components like Linux, Apache and PostgreSQL. Save the desktop components until you get comfortable with open source models.
Constrain Service Level Agreements
In a similar vein, examine service-level agreements across software, hardware and services. The no-brainer option is to pay for 24/7/365 support with 2-4 hour response time. This type of agreement makes life easy – and expensive.
In a perfect world, all our systems would provide us with 5-nines (99.999%) uptime. The world isn’t perfect. Do all of your systems have to provide such a high level of service?
Find out what the team really needs and structure your SLAs appropriately. Review the recent history of incidents. Troublesome systems may require a higher level of service although the vendor should be pressured to stabilize them.
Perhaps some service issues could be managed better and faster internally. Think about creating a system continuity plan. If a non-critical system malfunctions, what could you do internally? Is there a backup system, a cloud-based solution, or some other way to temporarily work around the problem?
Obviously, the cost of any internal approach needs to be balanced against the cost savings of a reduced SLA. The key point is to evaluate alternatives and not simply select the most convenient option.
Winnow the Project Portfolio
Lastly, take a hard look at that project portfolio. Many software development groups are working on too many projects with too few people and too little money. Prioritize. Focus on what really matters and table the rest for another day.
When you undertake a new project, pay attention. Establish frequent milestones and checkpoints. If a project has spent 50% of its allocated time and budget but is only 25% done, it’s in serious trouble.
You may be told that things will get better and lost time will be made up. In reality, projects that start off running behind, almost always continue to run farther and farther behind.
Don’t let any project turn into a money pit. Kill it. This will give you a chance to re-group, re-focus and re-prioritize. Start again – reuse as much of the killed project as you can. You will anger some folks but you will send a strong message about commitment and accountability.
Money is always tight. Cut the waste and spend more project dollars on what really matters.