Builder.com columnist Tom Mochal receives dozens of e-mails each week from members with questions about project management problems. He shares his tips on reducing developer tool costs in this Q&A format.
Question: How can I save on tool costs?
I’m a new development manager, and I have a number of project teams reporting to me. I was very surprised to see the yearly charges our company pays for development tools. We seem to have tools that do everything, but I’m not sure how many of them are ever used. It doesn’t make sense to spend thousands of dollars a year on tools that are used infrequently. Plus, my development teams say they need new tools to handle some of the newer technology they are dealing with. Where does this all end? What are some ways to cut costs in this area?
If you’re a senior developer, team leader, or development manager, you probably have a sense of the yearly fees and maintenance costs your company pays for development tools. However, those costs would surprise most developers. When buying tools, you must balance the need and expected benefit against the tool’s cost, including licensing and maintenance fees.
The purpose of development tools
The tools that support the development life cycle serve two main purposes. First, they help automate development processes that would be almost impossible to control manually, like a complex application with hundreds of requirements. There’s a tool to help you keep track of everything, including all the dependencies. If your business applications must undergo maniacal testing for bugs and compatibility with prior versions, you’ll need automated testing tools with regression testing capabilities.
The second benefit of development tools is that they help establish and maintain consistent development processes across the organization. For instance, source code management software enforces a consistent library structure as well as naming conventions, check in/check out processes, and program integrity. If your developers are using different methods in different departments or projects, common tools and processes will help standardize the environment.
Large development shops need more tools
Since development tools help manage higher levels of complexity and enforce standard processes, it should be no surprise that the larger your development organization, the more tools it needs. I worked for a large company that had dozens of development tools, some utilized in all areas and others that were only used on a small number of projects with specific characteristics. I’ve also worked for a smaller company that didn't have many tools other than those for programming and debugging. That company didn’t perform heavy development and so had no need for sophisticated analysis and design tools.
When we looked at some development tools, it was most important to consider a tool in terms of licensing and usage cost as well as what it would cost to do the job manually. In a large organization, these tools are vital. In a smaller company, it’s not always so clear. The high cost of these tools can make them prohibitively expensive for smaller shops.
Cutting the cost of development tools
It sounds like you’re already asking good questions that can reduce the cost of development tools.
Reduce tool overlap
Make sure each tool is needed from an architectural perspective. Each one must solve one or more development requirements, and you should have only one tool in every functional space. With acquisitions and mergers, or a lack of internal control, it’s possible that some of your development tools overlap. For instance, if you have two tools for data modeling that perform substantially the same function, standardize one of them to simplify the environment and reduce costs.
Perform a cost-benefit analysis
Make sure that the tools you pay for are actually being used. If your group has a lot of development tools, you may find that some tools are used all the time and some are hardly used at all. They may save time when they're used, but the need may be so infrequent that you'd actually save more money by getting rid of the tool—and its licensing and maintenance costs—and doing the job manually or with a different tool.
Look for enhanced capabilities
Many tools are enhanced over time and end up having capabilities that didn't exist when they were first purchased. You may find that the enhanced features and functions of one tool eliminate the need for another. This simplifies the environment and reduces costs.
Check on the number of seats you are buying
Do this as part of your cost-benefit analysis. If fewer people are using a tool today than five years ago when you bought it, you might qualify for a reduced maintenance fee.
Renegotiate maintenance agreements
Typically you can negotiate the list price of original software licenses down substantially, but you might feel that maintenance is something you're stuck with. After all, you signed a license, right? Well, maybe you can renegotiate the maintenance as well. Your negotiating power comes from your willingness to walk away from the vendor or to give the vendor new business. If you're prepared to walk and uninstall the product, you may find that the vendor is very willing to work with you. Or if you're looking for new tools from one of your current vendors, you may be able to renegotiate the maintenance on older tools as part of the new deal.
Look for savings in your toolbox
The larger and more complex the development organization, the more tools it needs, but it shouldn't have more than it needs. Your organization may be paying the licensing and maintenance fees for tools you don't need anymore, or tools that have duplicate or redundant functions. It's important to know what tools you have, their cost, how up to date they are, and whether they're being fully utilized. If fewer developers actually use a tool, see if you can reduce your fees. Use your leverage to renegotiate maintenance agreements when you can. If two or more tools overlap, standardize one. This will simplify the environment and yield more consistent processes at a reduced cost to the organization.
Question for Tom
Do you have a project management question for Tom? Send Tom your questions.