Citizenship

I have recently read the book by Craig Larman and Bas Vodde: Large Scale Scrum: More with LeSS

The book is an excellent source for ideas and stories, however the idea that teams are empowered to rejected group decisions because a team has full autonomy should be examined. For example if two teams are working in a common area of code, and decide to use different tools for testing or version control, how does the principle of collective code ownership work? Some quotes from the book that encouraged me to write this are:

”On communities that produce agreements: Can communities make decisions that teams must adopt? No.”

“Communities cannot make decisions for the teams, but they can produce something that teams decide to adopt.”

In general I was thinking about the tradeoffs involved here. Now I agree with Craig, and indeed many others, that a team must have the ability to make its own decisions. This is core to the scrum framework, and we know that the principle of autonomy is a scrum core principle revealed through the self managing idea. But can teams truly make all of their own decisions about tools and methods? Craig’s book does say that related teams should have the same core to their definitions of done. How is this core agreed?

This idea that teams are not just autonomous but indeed fiercely independent was something I saw recently during an engagement. Some 10 teams were all coached for independence and they achieved it. The product showed the evidence of having a number of hands in its creation and teams found it difficult to help each other. There was no effective group planning and things were not seen externally as going all that well. The collective ownership of code was missing. So was the ability to tell a group story. Every team for themselves wasn’t really working, even though at the team level it felt good

While agreeing teams need to have this ability to be self managing, they also need to recognise that “The needs of the many outweigh the needs of the few” (Apologies). Otherwise we could be guilty of local optimisation and indeed arrogance. So what balances this? Personally I like the term citizenship. We are members of the larger company and have an obligation to work for them. They do pay us after all. How could this look?

For example if there is a community to identify the testing tools to use we have an obligation to participate. If this community decides tool X is the one, and we wanted Y, can we just go ahead with Y? A bigger question is “what is our obligation to the larger company?”. Recall one of the reasons for self management is that we believe that by making our own decisions we can contribute stronger while having a better working experience.

We are citizens of this larger company. It owes us things (our rights) and we owe it things (our responsibilities). Let look at this. What does the company owe us, meaning what are our rights? (Note this is an incomplete list)

  • Our salary
  • A safe place to work (physically and emotionally)
  • The tools to do our job
  • A vision
  • Respect
  • Honest Feedback
  • Growth Opportunities
  • A feeling of value for you as an individual
  • Communicate the corporate ethics

On the other hand our responsibilities as citizens of the company obliges us to:

  • Be involved
  • Consider the global good
  • Follow the corporate guidelines
  • Respect for all others
  • A feeling of value for others in our team and in the larger company
  • Remember the scouting rule: “Leave this world a little better than you found it
  • Help develop others while not neglecting your own growth
  • Ensure the corporate ethics align to your own ethics
  • Use your skills and enthusiasm in your daily work

The point of this discussion is that while you as a team and individual have the autonomy to make your decisions and act on them, you should ensure these decisions are in line with the fact you are a citizen of the company you work for. This means at times you will accept decision from other sources, but not without thought.

Participate in the various communities and when decisions in these communities are made your default position is to follow them. So if the tools group says  that tool X is to be used for automated unit testing, then use tool X. If you know of a strong reason why this is not the right decision, you should have socialised it in the community.

If you have anything you feel should be added to the list of rights and responsibilities please leave me a comment.


by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *