“We do not act rightly because we have virtue or excellence, but we rather have those because we have acted rightly.” — attributed to Aristotle
Respect is more than a feeling.
A NYT article, How to Build a Successful Team, rightly points out that feeling respected is a necessary condition for doing your best work. Your team’s values are defined by actions, not words. Respect may be a stated value, but it’s only a real part of the culture if you don’t see “people earning promotions even though their behavior runs directly counter to the stated rules of the road.”
So you’re building or leading a team: how do you foster mutual respect? The statement that we all need to be respectful of each other is almost empty. Mutual respect is like a plant, it needs soil to grow. The best soil for growing respect at work is a shared understanding of what it is to do good work.
In software engineering, we are lucky in that the definition of good work is a settled matter.
To build a successful team, start by fostering coding best practices (e.g., test driven development, removal of dead code, continuous refactoring), architectural best practices (e.g., modularization, well-defined interfaces), and with processes such as continuous integration and deployment. Ask your team to measure and report associated metrics like code coverage. At team meetings, talk openly about why these practices are important and encourage the team to brainstorm about how to get there if they aren’t already. Create a scrum team definition of done that requires each sprint deliverable to embody software “goodness”. It is really up to engineering leaders — managers, scrum masters, product managers, and testers — to value good work. With every sprint, don’t accept anything less.
Leaders also have a profound responsibility to clear the path: don’t accept wildly optimistic goals and timelines that interfere with good practices.
As a team, we know what good is, and we deliver it, respectfully.