> "...deliver something, anything...", no need to make it good, "teams make things better," anyway.
No, no, and no. If you want to scale a team you have to deliver quality code.
The cowboy coder spews out code, screams "see it works!", and then moves on to produce more diarrhea for "the team" behind him to clean up, "make better"...
When one realizes they do not yet have a skill (such as producing quality code), it is tempting to scream "quality/perfection is a heresy" because this is much, much easier to say than the labor it takes to develop the skill.
> It’s hard to see more than a week out because anything that takes more than a week to build involves R&D.
Wrong, wrong, and wrong. MOST of what we do as practitioners (for those that have been doing it for at least some time) is NOT novel. Estimation is a skill. Estimates can be extremely accurate for those of us that have developed that skill.
It is much easier to say "estimation is worthless" when it is a skill that you have not yet developed. Because it is only developed through (often frustrating) practice.
Record the time it takes to do your work. Notice the patterns of problems that you face and how often they repeat themselves.
---
Perfection per se has its hazards but in no way should that truth get us off the hook from developing ourselves and doing our work well.
This post is nothing but dangerous to the nascent programmer-practitioner as it attempts to lull them away from what is possible and the work it takes to get there.
Perfection is not attainable, but if we chase perfection we can catch excellence. -- Vince Lombardi