5 Comments

I tend to disagree on duct tape programming. I think the extremes are bad, duct tape and as well, overengineering.

> In high tech you’re usually shipping a new product. Here, speed matters. The customer interface matters. But nothing else does.

In my experience, most of your work will not be building new features from scratch, but extending the existing ones, fixing issues on existing ones, etc. A software system is group of small peaces that are couple and work together. When taken to the extreme, duct tape programming makes these peaces so tightly coupled that a minimal change in one of them can brings the whole system down.

Expand full comment

Doesn't duct tape programming add unnecessary debugging effort before the product is ready to ship, though? Unit testing, which Joel states that duct tape programmers refuse to do, was created for anticipating and speeding up the final stages of the software development process. How do you explain this inconsistency between wanting to deliver fast and refusing to use rapid development methods?

Expand full comment