There’s a lot of talk in the XP community about code smells, where code is hinting that something might have gone wrong.
I’d like to propose that there are also development environment smells that are as bad, if not worse than code smells. What ? Yup, even tho’ many of the code smells can lead to unmaintainable code (sometimes very quickly) and merciless refactoring is nearly always a good idea, a screwed up development environment causes current, immediate, certain decline in productivity.
When I talk about a development environment, I’m really focussed on the tools, hardware, network used to create the software. While Incompetent Management is a serious impact on projects, I’m trying to look at things that I can control.
So, in no particular order, here are my main development environment smells:
- No command line build. This is pure evil. No excuses, ever.
- Build environment tied to a particular IDE. I can’t believe that people do this. But they do, sigh.
- No specific development test environment. You need to practice deployment
- Development environment depends on externally managed resources. Database goes down, team stops work. Dumb.
- A development environment that mandates a “reusable framework”. Reuse is dead. Build a bridge, get over it.
Maybe it’s just my psychotic enthusiasm but being forced to work with tools that hinder rather than help just seems broken, evil and wrong.
Tell me your stories of development environment smells.