Accumulating cruft

Published on 5 June 2014.

In the final is TDD dead discussion, DHH said something that I interpreted to mean that all software projects accumulate cruft as they go, and at some point you need a reboot to clean up larger mistakes that can not be eliminated with a simple refactoring.

Then I thought about what projects I’m most motivated to work on: it’s the new ones where I try a new idea or a new framework. It feels fresh and exciting, but after a while I notice all the cruft. I start to think that maybe this new idea was not the silver bullet. Even though I thought so, I ended up with some cruft.

So perhaps I should learn how to reboot. Learn to notice what was good with an idea and try to eliminate the bad parts the next time I write something. Maybe it’s ok for some projects to just die if their main purpose was to try a new idea.

But what about a project I must keep working on? How can I reboot a project that is in production and needs a new feature? Is it possible to do in small steps? If I have the reboot mindset, I probably can.


Site proudly generated by Hakyll.