> Being aligned with teammates on what you're building is more important than building the right thing.
I would write this as:
Building the right thing wrong is more important than building the wrong thing right.
And I firmly believe that agreeing on _what_ you are builing is more important than _how_ you are building it. Mainly because it is easier to change the _how_ than it is to change the _what_.
> Building the right thing wrong is more important than building the wrong thing right.
I entirely agree with this, but don't think that's what the original point was getting at.
> And I firmly believe that agreeing on _what_ you are building is more important than _how_ you are building it. Mainly because it is easier to change the _how_ than it is to change the _what_.
This seems like it should be true. In practice, I've found that the _how_ is the part that gets embedded in the wet-ware of people/companies and is the hardest to change.
Given an application written in a language with some framework, some datastore, deployed to some cloud, it's actually exceedingly easy to make another that follows that pattern and does a completely different business function. Much more challenging would be to change those parts of an application and keep it doing the same thing.
"Build consensus before you start building any specific implementation".
... the idea being that it is better for a team to collaborate on a compromise solution than any given person pushing into their pet solution because they "know better".
I would write this as:
Building the right thing wrong is more important than building the wrong thing right.
And I firmly believe that agreeing on _what_ you are builing is more important than _how_ you are building it. Mainly because it is easier to change the _how_ than it is to change the _what_.