Natural desire of rewriting software
The decision of rewriting the code of a significant part of a system is usually taken by an experienced developer, by itself, because "the code sucks". And usually without any real business consideration.The consequences of such rewrites are often disasters, making the company loose time and money, and even worse, breaking teams.
The more interesting and surprising thing is that this behavior is more often observed with talented developers (skilled, experienced, seniors ones) than with others less experienced developers.
The way I understand it is:

- They see as an evidence how to code software in a better way.
- They like simple, brilliant, but "simple to use", software. (I do too). And as a result, they tend to less tolerate complex, not easy to use code, and easily feel that the code developed by other people sucks. Plus, they don't want to rely on other people code, especially if it's "hard" to integrate or will make them write some "ugly" code.
- They are more subject to the NIH (Not Invented Here) syndrome. In some way, they would like all the software be written by themselves, if they had time to.
- They see what to do in a global and precise view, and then underestimate the time needed to achieve their development (and test it, and document it, and QA it, and deploy it, and debug it, ...).
If you are a good developer, and willing to re-write any significant code by yourself, please refrain your nature desire. And ask yourself: what benefit for the company? For the business? Does your action will reduce the time to market of the product? Does the company will earn more money? Could you be more useful by doing some other more urgent stuff?Maybe the code you want to replace is not perfect (even yours will be found perfectible by other people). But maybe it fits the company needs. At least for now. Maybe there's more urgent stuff to focus on. Maybe you will make the company loose time and money while you rewrite this code.
I have experienced this more than once on different projects. What I can say is that the more complex a project is (technically speaking) and is involving experienced developers, and the more I have been facing this NIH (Not Invented Here) syndrome that makes people reject the code written by others, and rewrite applications.More than that, I've been facing talented and respectable developers that refuse to have a look to systems written by their colleagues, and don't admit they need their features, and only want to code everything by themselves - they will then recode a large part of the system without having noticing it.
Worse than anything else, I've seen teams replacing teams in order to rewrite everything from scratch as a remedy to a malady... and finally fail, making the company loose time, money and talented people.If these words are ringing a bell in your head, please comment :)
Note: these words are not directly related to any project I may talk about in this blog.


1 Comments:
The vicious circle of reaching Perfection...
And the risks of "autism", asocial attitudes
By
Elvire, at 7:15 PM
Post a Comment
Links to this post:
Create a Link
<< Home