The Duct Tape programmer?
I read this blog by Joel Spolsky on the "Duct Tape Programmer", where he praises dropping any libraries or testing or proper coding in favor of getting something out there:
"He is the guy you want on your team building go-carts, because he has two favorite tools: duct tape and WD-40. And he will wield them elegantly even as your go-cart is careening down the hill at a mile a minute. This will happen while other programmers are still at the starting line arguing over whether to use titanium or some kind of space-age composite material that Boeing is using in the 787 Dreamliner."
While I suspect the main reason Jo wrote the blog a little provocatively is to promote the book mentioned there (Hey, it worked, I am writing on that..), I guess some people will take this at face value so I'll respond anyway.
Let's start with the good stuff
- Focus on shipping software – Tools, pretty code, fancy frameworks, patterns etc. are no excuse for not shipping your product. 100% agree
- Overengineering is bad for your (project's) health – We've been through that before – complex frameworks , big up front design, are bad all bad
- Don't use a technology/framework just because it is there – if you don't have a real problem then KISS (keep it simple stupid)
- Simple design is, well, less complex than complex design – so it is usually preferable
In a similar fashion to Joel's post, I wrote that even the "Big Ball of Mud" which is an architectural nightmare can be considered a pattern for a pragmatic approach to building working software.
However, I also added an important caveat which is missing from Joel's post:
"This is probably not acceptable in the long term - but it can be a good option for short term if you are aware that that's what you are doing and willing to treat what you get as "Throwaway code"."
If you can't afford to throwaway the code (or not sure you will be able to) it is still ok to cut some corners in order to get things done. However you should keep in mind something Uncle bob said a few days ago : "A Mess is not a Technical Debt."
Oh, and by the way, duct tape isn't a good analogy anyway :) – in the first gulf war, the government in Israel recommended people to prepare their houses for Sadaam's future missile attacks by duct-taping the windows and other openings. The only reason it actually did work was that there were hardly any missiles shot. So yeah duct tape may seem to be working and everything but you better not put that into a real test

