During this year's Socrates Conference¹ I attended a session that questioned the importantance of techology² for the overall success of projects—and I agree. Technology is just a tool, that can be replaced easily and has usually mo major influence in the project success. If your tech stack is built with robustness and modern software development principles in mind (S.O.L.I.D.³, Domain Driven Design⁴, Tell don't ask⁵, Hypermedia System Architecture⁶) you'll end up with software whose implementation can in part or in total easily be replaced by any other technology. It is therefore the people in your project that are vital for the long-term success. They cannot be replaced because changing only one team member will change the entire team⁷. But keeping your team intact and everyone committed to doing exceptional work requires the establishment of two things:
- a vision that is well understood and provides clear guidelines for measuring the success in achieving it
- a shared set of values with clear examples of how these values affect the daily work.
Only if these two things are given, a team can act truly agile, meaning that each team member can assess if their actions are contributing towards the vision and ensure that the way they solve their current task will be acceptable in the project's scope.
The process of defining a good vision and especially of finding common values is hard but in my opionen should be undertaken immidiately when you start your project—or startup—and re-evaluated everytime the the team changes.
What is a good vision?
Embracing agile principles means that you want your team members to be able to push forward and decide on their own which part of the project needs their contribution. They should think like an entrepreneur and this needs their understanding of the overall goal. This is where a vision works as a guide because it can answer this simple question:
If I do this, will it take us closer to reaching our vision?
A good vision inherently provides an answer to this question because it describes what goal should be reached, by which action and how to know when the goal is achieved. It is important to stress that the vision needs to be clear and well understood amongst your team members. Otherwise it will create confusion and in the worst case confliction actions will be taken.
Just compare these two real-world examples from two companies I know:
We develop digital solutions, which suit people’s needs and thus help make their lives easier.⁸
Developers use our service to easily build, deploy, and manage their containerized services as well as collaborate on and share their architecture templates.⁹
Where the first example is just a hollow promise to deliver everything the customer asks for the second example provides a much more detailed explanation of what the core business is and tells about the deciding factors when measuring their success.
What are values?
Having a vision is important not only because it provides guidance for your team members every day but also provides identity which helps to attract new talent and give new hires a clear scope for their work. It is equally important to provide and answers this question:
Is it ok to do it this way?
Where the vision provides guidance for the What do we do? values provide guidance for the How do we do it? which has even more potential for conflict. In an environment where failure is part of the process it is critical for all parties to understand why something is a failure. If your team has misalinged values it might be seen as failure by one person to rush out a software release without proper testing (better safe than sorry) where the other person might think of this as taking an acceptable risk (speed over safety). Both can be totally acceptably behaviours on their own but are conflicting in the same context.
What are good values?
If you don't provide values as well, you create room for frustration. Like a good vision good values not only are easily understandable but also provide clear guidance for acceptable behaviour. They are much more individual to the team and should be established by the whole team. There are some exceptional good examples to get you started, like The 10 Buffer Values¹⁰, Zappos Core Values¹¹.
Having a vision and a set of values will empower your team and remove a lot of potential for misunderstandings from your day to day interaction within your team. This helps them to focus on their work instead of arguing about it and build momentum because it removes uncertainties about what should be done. This invest is something you should consider making.