Design v.s. implementation failures

Failures happen when building features and architecture. Failing fast and moving away from our failures is a great thing. However, it's easy to simply give up everything as a bad job and start over.

Instead, it may be worth asking: is this a design failure or an implementation failure? You may be doing yourself a disservice by abandoning a valid architectural design or code pattern precisely at the moment you know the most about it.

Example design failures

Example implementation failures

Implementations may need to be scrapped or heavily reworked, but design failures will always need to go. Of course, your team may just be frustrated with a salvageable failure and want a fresh start. And sometimes, that's okay. But be careful not to discount ideas without thinking through this question.