"Development should be a creative activity, not a rote form of execution, and if that’s true, coding is an extension of design. During development, design decisions happen over and over and over. That’s not a failure of the designer forgetting to specify things; it’s a reality of dancing with the material, and it should be one of the most enjoyable parts of making. Instead, it commonly becomes a point of contention. It is in these real-time development decisions that a quality product is often lost. Developers who have little autonomy feel that they weren’t given all of the data to execute. Designers who don’t understand the material feel frustrated (both with themselves and with their development teams) when they see the results. The seams of the product become exposed, as these small details add up."