logoalt Hacker News

bob1029today at 6:35 AM0 repliesview on HN

The ability to endure some degree of suffering seems essential for building high quality products. Getting in front of the customer as often as possible and proving things end to end is very painful. But it provides the most feedback and gets you aligned quickly.

If you want an example of the polar opposite, the TDD idea seems to be a good fit. Unit tests are a perfect little universe that you can always control. All side effects and scary possibilities can be handwaved away under mocks. The psychological power of having control over everything is what draws so many toward the idea. A deterministic guarantee that the little circles will turn green when you press play every time is painless.

Failing tests are the most informative and you can only develop those by meaningful interaction with the customer's requirements. If you aren't constantly fighting a wave of red in your testing suite, it's likely you are too isolated from reality.