It is absolutely normal to invest time & money into cleaning service, so working desks, floors or toilets are clean and tidy. Working in messy environment is not easy and productive. Find a pen on table covered by tons of papers, gadgets and books can take few minutes instead of 1 second when it is just there. This makes sense for everybody.
But when we talking about cleaning & tidying = refactoring of source code it is not so obvious and some managers suddenly needs SWOT analyses, meetings and arguments to understand why we should invest into it.
The reason is very simple: what is business value of refactoring? Product management do not see any new feature (it was working before) but only risk of regressions. Also they have feeling that we did tons of shortcuts & dirty hacks till now so one more cannot hurts.
Let's ask another way: what is business value of cleaning of working desk? Mainly: better, faster & comfortable work. Is is not directly linked with business, except situation when customer visits your office and could see that you work at nice environment.
It is similar with source code, it is not visible directly, except situation when you publish your API or database schema to your partners/customers.
It seems that solution could be visualization of source code quality (or level of mess) by static code analyse tools and present it on demo meetings to all stakeholders. If they could see amount of technical debt, number of critical code issues or level of test coverage before and after refactoring, they could better understand value of it and it's impact on business, productivity and happiness.
But when we talking about cleaning & tidying = refactoring of source code it is not so obvious and some managers suddenly needs SWOT analyses, meetings and arguments to understand why we should invest into it.
The reason is very simple: what is business value of refactoring? Product management do not see any new feature (it was working before) but only risk of regressions. Also they have feeling that we did tons of shortcuts & dirty hacks till now so one more cannot hurts.
Let's ask another way: what is business value of cleaning of working desk? Mainly: better, faster & comfortable work. Is is not directly linked with business, except situation when customer visits your office and could see that you work at nice environment.
It is similar with source code, it is not visible directly, except situation when you publish your API or database schema to your partners/customers.
It seems that solution could be visualization of source code quality (or level of mess) by static code analyse tools and present it on demo meetings to all stakeholders. If they could see amount of technical debt, number of critical code issues or level of test coverage before and after refactoring, they could better understand value of it and it's impact on business, productivity and happiness.
Comments
Post a Comment