How to measure technical debt: Useful tips and expert opinions | 2018
When you start your new project, you are ready for hard work and you definitely want the result to be achieved. However, sometimes even interesting and useful project work can turn into a nightmare with excessive hours and costs, schedule overruns and, finally, customer losses.
In this article we have prepared the useful step-by-step guide, where you can learn how to avoid all these problems and make your great work with a correct measuring technical debt.
We believe that these tips come in handy for project managers, team leaders, developers and other people working in IT sphere.
Step 1. Project data collection and analysis
To start with, let’s imagine ourselves at the customer’s place. We have an idea, money, time frame and want it to become a good working project.
An ordinary customer wants the accurate measurement of project time and costs, demanding its unquestioning compliance in future. Also he wants a developer team to be flexible and available to respond to changes in working conditions or project tasks without problem.
As it can be seen, the above customer’s requirements can cause uncomfortable moments in developer team’s work. Moreover, a customer usually wants to get all the calculations, figures and promises in a rather short time.
Well, we agree that time is money but anyway, the first thing to do is qualified negotiations.
Take our kindly advice:
- Plan and spend at least 4 meetings with your customer with duration about three or four hours per one. That is the optimal time for discussing all the necessary details of the project.
- Discuss the terms of reference and be sure to test all these requirements – this action will give you an accurate idea of whether the customer’s wishes are realistic in practice.
- Secure your agreements by a contract, where all possible deviations from the schedule and work costs will be indicated. It will help not only the customer to keep in mind the unpredictability of the whole work process, but also will not force you to work at a loss in order to fulfill all the requirements of the project.
Step 2. Project developing
Certainly, this is a key stage in the entire process of the collaboration between the contractor and the customer. A team of developers and other team members do their magic to turn some data and information into something alive and functional.
Development process has its two main parts with visible and invisible work. Visible work consists of routine and obvious tasks to make up the project. But if we speak about an invisible work, it can contain some actions like additional and repetitive tests that can be ignored or even forgotten by developers.
It is important to do every part of the development work. Yes, it can take a lot of time and efforts, and even a really professional team needs to have a precise plan of the whole developing part for making a good technical debt measurement.
Take our kindly advice:
- Writing a detailed requirements list is not enough. After the creation of the terms of references and project solution architecture, you should create also a test plan and test it all. Try to spare no time, and you will avoid big problems and critical errors in your future work.
- Involve all the team members in the subject area of the project. Of course, the distribution of tasks and other planning are necessary, but do not forget to learn new with every single project. Try to think and live your project during the development, it definitely makes sense.
- Follow the code quality. Have you written a code that works? Delete it and write it again, making it purer, cleaner and more functional. Code review and refactoring is a golden rule and programming good style, and that simple practice will help your work team to have a fair name.
Recommended percentage of additional time for risks: 10% of the whole project time.
Step 3. Product demo & customer side testing
In every project, sooner or later, there comes a crucial moment of the demonstration of the project in a certain working and functioning state. And it seems that all work is nearing completion: all the tests are going well and the goals are being achieved. What can happen? We can tell you these three exciting words – customer side testing. Boo!
Usually the most strange and obscure problems arise exactly during the testing phase of the product on the side of the customer. It can be connected with a variety of reasons, beginning from some different environments or software requirements and finishing with technical equipment. Fortunately, these problems do not always happen and not all at once, but it is important to know about this part of the work and be prepared for everything.
Take our kindly advice:
- Additional meetings and negotiations with the customer will not be unwanted. Try to find out all necessary information about the technical and system capabilities on the customer’s side. The failure of the demonstration and further implementation can become a big disappointment and will significantly increase the time of your work on the project.
- Keep in mind that customer side tests can pass less than half of the total amount, and it is not bad. It is an usual work-related issue, because you already took care in advance and included the percentage of time to improve and finalize the project after its demonstration.
- Usually the writing of operating instructions takes place after the completion of the project. However, we recommend to prepare basic manual rules for the demo version so that the customer can see the real functionality of the product and can test it independently.
To sum up
In the article conclusion we would like to add some approximate figures of each project development step. Please note that every this data is an average indicator, because each project is unique and is performed on its own special conditions.
Project data collection and analysis: 40+ hours
Project developing: 400+ hours
Product demo & customer side testing: 200+ hours
Product implementation and management: 200+ hours (it can be no-limit in a support mode)
Recommended number of developing team: 7+ persons (3 developers, 1 team leader, 1 project manager, 1 designer, 1 business analyst, etc.).
If you are looking for a good custom software development company with high-qualified professional skills and a great working experience, we will be glad to help you with your dream project!
Personal contact info – firstname.lastname@example.org
Permanent Address :- Montville, NJ
CEO and co-founder at Cloudsmallbusinessservice.com