What happens in all the companies where there are more than one software project ? normally what happens is that each project is made in its own way, for different reasons, just because the developer learn new way to do things, because the company don’t have time to reuse, or the developers changes between projects, or anything.
But each time I arrived to a company where I have to develop any software I can see the same problem, there is not real shared code between projects. Is something really, really simple, as simple as made a project which is a library and try to maintain it, but nobody takes care of this, and each time we have to do something from scratch we probably does the same as our neighbor has done some time ago, but as there is not real care of this small pieces of reusable software nobody finally reuses it. Doesn’t matter if we have tools to manage dependencies (like maven, or simply eclipse), doesn’t matter if we can have a real improvement of time, finally we have the same problems in dozens of places and we have to fix it dozens of times, just because we don’t have real shared code.
What I am feeling is that we should try to not hurry always and give some time to the quality of the projects, always is money between them, but otherwise the work that we made is half productive as it can be.