Dead code adds time and frustration for engineering teams as they try to develop new product features. If you’re a partner who provides Java software developer services, you need to consider the full scope of code maintenance. Your customers often can’t afford to remove unused code, and they leave the maintenance in a state of limbo. Azul Code Inventory offers a solution to the problem of dead and unused code that you can leverage to help your customers.
Is code anxiety keeping your customers awake at night? Java developers who are working on a customer project or are knee deep in a client project trying to address low application performance, there’s a good chance they are losing sleep over their lack of productivity.
In fact, according to a research paper presented at the 2022 ACM International Conference in Technical Debt, resolving issues in low quality code takes on average 124% more time in development.
Where do the problems lie?
As any developer knows, a lot of the problems with low-quality code lie with dead code, which exists in your codebase but is never executed in a running program. The bigger question is, where is this code and how can you identify it?
“The majority of time spent in software development is on maintaining existing code,” says Bert Jan Schrijver, CTO at OpenValue. “Having dead code in a codebase is a complete waste of time.”
What does this mean to the services you provide to your customers?
If you’re a provider of Java software developer services, including license and project advisories, you base your statement of work, advisory time, and materials on the full scope of code maintenance. With the extra time developers often spend working around dead code, your customers can’t afford the cost and leave the maintenance in a state of limbo. The dead code builds and never gets removed, and the problem just gets worse. Your resourcing effort needs to be more cost effective for the customer.
Where does code maintenance feature in the services you deliver?
A services portfolio in code maintenance has a particular life cycle, displayed in this chart. Follow the steps below.
- Code scan: Find your customer’s Java code and determine what state it’s in. That’s where code scans come in. Unfortunately, the tools to do this are simple and limited.
- Code quality: Understand the quality and scale of the code. You’d think this is pretty straightforward; but if you can’t find all the code, how can you determine scale?
- Code review: Execute an improvement exercise to determine what your engineers can remove or rationalize, and how they can test to ensure they leave your customer’s app in a better state than when they started.
- Code maintenance: Finally, as we all want repeat business from our customers, determine how you can deliver a repeatable process that adds continuous value to your customer.
Without the right tools, the above process can take anywhere from a couple weeks of consultant time to several months just to understand where an application’s Java code resides – without delivering any ROI to the customer.
“Removing existing code can be scary. How do you know if a piece of code is actually used in production or not?” Schrijver says. “For developers, knowing which pieces of code are actually used in production (and which pieces are not) can be of immense value, because it provides confidence when removing unused code.”
There IS a better way
Now there’s a solution from experts in the Java field that can help drive customer success and allow you to execute your services with great ROI for repeat business. Azul Code Inventory identifies all the dead code in production, which your customers’ teams can review and remove quickly and easily. Then you can deliver your partner services more efficiently, and customers can save real developer time and money.
Code Inventory is a feature of Azul Vulnerability Detection and is an agentless cloud service. It uses information inside the Java Virtual Machine (JVM) to provide a comprehensive view of what code runs in production with no performance penalty. It truly lowers the burden of maintaining and testing dead code.
Create a code maintenance advisory or improve your existing code review services to your customers
What if you could deliver a service to your customers that provides 50-100% ROI by using Azul’s Code Inventory service? Imagine that this service then leads to an annual Java code maintenance advisory that complements your existing Java license advisories. Finally think about the impact of this type of application code tuning on the footprint of your Java applications in cloud storage and cloud compute. Even more customers savings from your FinOps practices. If you’re not convinced, reach out to the Azul partner organization at [email protected]. They are ready and willing to help all types of partners build an extended portfolio of Java advisory services.