How to reduce IT assets cost?

D Melnik
3 min readSep 3, 2019

Our company OptimaJet creates products which help companies build efficient business applications. Our products emerged from real experience, sleepless nights and thousands of fixed bugs. As a CEO, I focus mainly on solving my clients’ problems and pay special attention to post-sale support.

Steve McConnell in his book Code Complete says that industry average errors statistics is about 15–50 errors per 1000 lines of delivered code. For example, in our Workflow Engine we’ve got approximately 36 000 lines of code, and according to Mr McConnell, we must have from 540 to 1800 errors. Actually, it’s close to the truth. I think we’ve spent a couple of man-years to fix all these bugs. Looks like every single line of code contains errors. But what can be done about it? How do we reduce code length?

Well, it’s kind of obvious. To avoid code errors, use ready-made software, with all the bugs already fixed. And if you have already found your perfect solution — congratulations, jackpot! But in case you haven’t, I suggest you read my article further.

Let’s take a typical system as an example. Imagine a company which was developing a contract management system for 10 years. There were 6 people in the development team, and it took them 3 years to build the system. Their business customer was expecting to get an efficient low-cost product, but was very disappointed when during the next 7 years the dev team were providing technical support and constantly adding new functions upon users’ requests, which turned out to be rather expensive. Besides that, it was taking more and more time to complete ordinary tasks. For example, it took 35 business days to add a new field into the form. The customer hired new developers, but it only made matters worse, as the new team had no sacred knowledge of how to deal with the system. It became clear, that this problem had nothing to do with developers’ qualifications.

Project metrics :

Now, let’s analyze the system development structure and its time and expense outlay:

· UI (forms) — 35%(152000 lines of code)

· Workflow — 32% (137 000 lines of code)

· Data processing — 16% (69 000 lines of code)

· Business logic — 12% (51 000 lines of code)

· Other — 5% (21 000 lines of code)

According to this distribution, the dev team did not use any special components for building business processes and UI. As a result the system expanded greatly and became difficult to support and change.

It will be necessary to perform code refactoring of system parts to improve this situation. Usually code refactoring process takes from 3 to 12 months. During this time developers re-write legacy modules or replace them with ready-made components. But if you want to reach maximum effect, you’ll need to perform UI and workflow refactoring.

My company is offering the following two approaches to improve systems like that:

· integration of Form Builder and Workflow Engine components

· migration to DWKit, which includes UI and workflow.

As a result of code refactoring with using our products, code length could be reduced up at 40% from 430 000 to 258 000 lines of code, and code distribution would be more optimal and balanced.

It could look like this:

· UI(forms) — 26% (68 000 lines of code) instead of 35% (152 000 сlines of code)

· Workflow — 19% (49 000 lines of code) instead of 32% (137 000 lines of code)

· Data processing — 27% (69 000 lines of code) instead of 16%

· Business logic — 20% (51 000 lines of code) instead of 12%

· Other — 8% (21 000 lines of code) instead of 5%

Conclusion

Source code length management allows us keep our solution flexible and cut development and support costs. You can reduce certain modules volume by using effective components. Ignoring this aspect will lead to business losses and even management replacement. Remember, software is an asset. Do not let it become a liability.

--

--