How can we do this? By understanding and buying into what we are creating and how we see it experienced. We can create a mission, vision and values to clarify and create distinction.
The mission statement is all about purpose. Its about the problem you are trying to solve, the information you are trying to share and/or the service you are trying to provide. Its about the long term goals.
On the other side, the vision statement is an abstraction of the experience. It can include words like fun, simple, quality, quickly, stable, reliable, responsive, etc. It does not include ideas like color schemes, mechanics, technology specifics or other implementation details.
Time can also be spent on value statements (users own their information, we strive to directly connect with and respond to user feedback, all user feedback is valid, etc)
Continue drilling down into these ideas until everyone knows what they are doing, are excited to work towards the goals and know in their hearts they are working on an effort they accept fully.
For new teams, taking time to manifest an understanding of team dynamics, quality and creativity with as much openness and honesty as possible can help ensure the best “good-enough” software gets created in a way that is enjoyable, sustainable and collaborative.
Finally, read these statements every morning. When discussions become long, unclear or hostile, refer back to them. Use them as a method to stay detached to what is no longer serving and focused on the underlying issues.
[Well said!]