ImaginativeThinking.ca


A developers blog

What the Heck is a Team Charter

By: Brad

Hey Brad I just migrated to a different project and as such am joining a new team. This new project has already been started before I joined and I’ve noticed that this team does things differently then my old team; Which is causing some loop backs because I’m not aware of what this team does differently until I do something the way my old team did it and someone on this team tells me I have to do it again the right way. I brought this up with my manager and he suggested I tell the team about something called a Team Charter.

document-agreement-documents-sign-48148

What the heck is a Team Charter?

Well a Team Charter is just a document, don’t let the term “charter” fool you into thinking its anything more formal then that. It describes what the team has agreed to be the process and rules of conduct that the team will use to govern itself. It also spells out the nature of the work the team has been commissioned to do and the expectations for the results at the end of the project.

There isn’t any real format needed, it could be a pretty document or a simple bullet point list; It could be digital or analog. Whatever form the charter takes it should be clear, concise, and accessible to all members of the team (pigs and chickens). It should also be dynamic, it should grow with the team; changing as the team becomes more mature.

What is the Purpose of the Charter?

The purpose of the Team Charter is to have all the agreed upon rules and processes in one spot so that team members can refer to it as needed. It also serves the purpose of helping new team members get up to speed by giving them a guide to how the team functions without relaying on a brain dump during their welcome to the team meeting which is prone to forgetting to pass on critical info, not asking the right questions, and information overload. It also helps to remind the team why they exist in the first place since it defines the goal of the project and what the team is expected to produce.

In short its purpose is to be a record so team members new and old can refer to what has been agreed upon and what the companies exception for the team is.

Who is the Team Charter For?

The key word in the name of the charter is Team. The Team Charter is made by the team for the team.

When I first started telling people about Team Charters I was a little worried that some one would take that idea and turn it into a group wide doctrine; Thou shall do this because it says so in the group charter regardless if it applies to your project/team. I mean I’m all for cross project consistencies but different teams have different dynamics and goals. How the team operates should be allowed to adapt to the team vs. having the team adapt to a rigid process.

So to that a Team Charter should be created by the team for the team. When the project is over and the team disbanded the charter is thrown out as its no longer needed. When a new project comes along and a new team formed a new Team Charter should be drafted.

When is the Team Charter written and who creates it?

The Team Charter should be created at the start of a project during the project kick off meeting. It should be one of the first things the newly formed team collaborates on. Not only is it good to have all the rules and expectations set right off the bat but it allows the team members to get to know each other by having them sit down together and collectively define rules, processes, and goals before the official start of the project. The team leader or a selected scribe would physical write down the charter but it should be created by the entire team (pigs and chickens). A Team Charter should be enforced by the team but not imposed on the team. That is the rules and processes should come from the self-organized team and not from the Team Manager or Team Sponsor.

When is the Team Charter updated?

The Team Charter should not be carved in stone, teams grow during the course of a project and as such what once worked at the start of the project might no longer work mid way through. What the fledgling team choose as goals and processes might no longer suite the project and need to be amended. The Team Charter should be allowed to be amended as needed at any point during the project. To allow for this ensure your charter can support change, if analog (ink and paper) make sure to leave room for amendments and if digital make sure not to lock it down (I’ve used a Wiki page before since Wiki’s are easy to update and some support revision control so amendments can be reviewed later on).

If your using an iterative process like SCRUM the sprint retrospective is an excellent place to open up the Team Charter and make amendments as needed (again why a Wiki page is a good format as you can quickly update it while in the meeting).

What goes into a Team Charter?

The type of information that can go into the team’s charter are but not limited to:

  • How the team members roles and responsibilities are defined.
  • How the teams work relates to the organizations goals.
  • When the work is expected to be finished.
  • What it is the team will deliver.
  • How the team will measure success.
  • How the project will benefit the company.
  • Which resources will be available to the team.
  • What kind of decisions the team will have the authority to make (RACI).
  • What are the major milestones.
  • What are the risks and how they will be addressed.
  • Definition of common terms.
  • A description of the different meetings the team will use during the project. Here you would explain how the stand up meetings will work or specify who will attend and how often bug scrub meetings are held.
  • Explain things like how the team will do code reviews if at all and detail out the bring donuts for breaking a build rule if your team is so incline.
  • Most importantly the team should list out their own goals for the project. The team can have their own goals that they can rally behind other then just meeting the dead line. These could be things like achieving X% code coverage, deliver a working prototype in time for a given trade show, or getting all the legacy code under test.

Example

Here is an example of a team charter:


So that’s what the heck a Team Charter is; a written document that the team can use as reference to what the purpose of the team is, what the team sponsor is expecting at the end of the project, and what the team agreed on in regards to conduct and process.

Until next time think imaginatively and design creatively

Brad

My interest in computer programming started back in high school and Software Development has remained a hobby of mine ever since. I graduated as a Computer Engineering Technologist and have been working as a Software Developer for many years. I believe that software is crafted; understanding that how it is done is as important as getting it done. I enjoy the aesthetics in crafting elegant solutions to complex problems and revel in the knowledge that my code is maintainable and thus, will have longevity. I hold the designation Certified Technician (C.Tech.) with the Ontario Association of Computer Engineering Technicians and Technologists (OACETT), have been certified as a Professional Scrum Master level 1 (PSM I) and as a Professional Scrum Developer level 1 (PSD I) by Scrum.org as well as designated as an Officially Certified Qt Developer by the Qt Company. For more on my story check out the about page here

Feel free to write a reply or comment.