I decided to write about one of my core values in business tonight. I’ve lead different teams in the course of my career and I try to live off the following motto: “People on the team need to be doing the right things for the right reasons?”. I’ve explained this principle a few times to different people over the years and it’s always a challenge for me to explain it clearly.

So here I go, what does this mean? Here are some examples:

  • Have you ever participated in regular weekly team meetings where only two or three people out of the twenty people in the room talk for an hour? Do they almost seem to be having a private meeting with all the rest of the team there? How much does this meeting cost in salary? Wouldn’t it make more sense for those managers to have weekly meetings with those people instead and have a fifteen minute weekly meeting instead for general team updates?
  • Better yet, were those same weekly meeting either cancelled or started with the manager arriving late? What message does this give to the team? What level of commitment is there in the meeting?
  • Have you ever been in a death march project with customer features you knew you would not be able to deliver, but everyone still acted as if those features were still in plan and everything was going great in the project? Until the end of the project when the ugly truth starts coming out and everyone realizes how badly it’s been going all along?

Doing the right things for the right reasons is about looking at why you are doing what you are doing and questioning yourself on why you are doing it. And if you are not doing the right thing, you need to bring it up and tell someone about it.

When you are a manager or a team leader, you need to expand this peripheral vision to your entire team. “Why is the team working on Feature A instead of Feature B which is a critical deliverable of the release?” I’ve simplified the question here for the sake of the example, but if Feature A is just a prototype, custom built for a single customer that will never put this in production and Feature B is a huge new feature benefiting your entire customer base, the same question takes on a whole new meaning doesn’t it. Especially if you need the same critical resources for both features.

I’ve been in the software development arena for the last fifteen years. I’ve seen people make bad decisions for many reasons. The most popular one seems to be: “We made a commitment, we can’t change it”. Experience has taught me that commitments can be changed. Customer may not be happy you are not delivering something, but they can understand your situation if you manage their expectations and are truthful with them. The important thing is to keep your word moving forward, don’t go back to the well a second and third time. So making the right commitment is important here.

Doing the wrong things for the wrong reasons has consequences. Some team members may end up working long hours on a feature that will not even make the release or even worse, they will spread themselves thin working on multiple features. They may deliver those features but at what cost? For the product, the answer is usually that the quality of the product suffers. For the team members working late nights and weekends, the cost is in their quality of life. Another one of the consequences is loss of credibility of the team amongst it’s peers or the credibility of team leads or managers from their teams.

Now look around you and think about it for a bit. Are you doing the right things for the right reasons? Or do you always seem to be stumbling along because of bad decisions? Tell me about it.