When you join a team, how should you behave? How should you expect others to behave?
What are your rights and responsibilities?
I used to talk about the rights and
responsibilities of stakeholders, a concept that
I adopted from Karl Wiegers excellent book
Software Requirements.
I've decided to reword the rights and
responsibilities from the point of view of everyone on
the team, not just the stakeholders.
The rights of everyone:
- To be treated with respect.
- To produce and receive quality work at all times based on agreed to standards and principles.
- To estimate the activities you are actively involved with, and to have those estimates respected by others.
- To be provided adequate resources (time, money, and so on) to do the job that's been asked of you.
- To determine how your resources will be invested. For people funding the team how the funds will be spent and for people working on the team (e.g. investing time) what tasks they choose to work on.
- To be given the opportunity to gain the knowledge pertinent to making the initiative a success. Business people will likely need to learn about the underlying technologies/techniques and technical staff to learn about the business.
- To have decisions made in a timely manner.
- To be provided good-faith information in a timely manner. Sometimes this is just the "best guess" at the time, and that's perfectly all right. This includes but is not limited to business information such as prioritized requirements and detailed domain concepts as well as technical information such as designs and detailed technical concepts.
- To own your way of working (WoW), following and actively improving this WoW when needed.
The responsibilities of everyone:
- To produce something that best meets your needs within the resources that you are willing to invest in it.
- To be willing to work with others, particularly those outside your chosen specialties.
- To share all information, including "work in progress".
- To actively expand your knowledge and skillset.