Working Agreement 3.0
Introduction
This document outlines the principles and behaviors that guide our interactions and collaborations. It serves as a guide for our team to ensure we are working together effectively and efficiently.
Agile
- We always start project with a kickoff meeting, where we provide clarity around business needs, bigger picture, domain, roles and responsibilities of each team member and document them in outline.ππ
- We make sure that all team member of project are getting first hand knowledge directly from client.π¨π»βπ»
- We keep our tickets (Story, Task, Status) up to date, at any given time any external or internal stakeholder should be able to discern whole picture by looking at board.π
- We create stories with clear acceptance criteria so it clarifies the expected outcome(s) of a user story in a concrete manner.π¬
- We determine story points by considering the level of effort needed, the time required, and the complexity of the task at hand. β°
- We adhere to Agile rituals such as backlog grooming, sprint planning, daily scrum meetings, and retrospective meetings. π€π»
-
We hold internal demos a day prior to the client presentation to ensure our readiness and to minimize any unexpected developments during the actual client meeting.π€
Behaviors
- We care about business outcomes. We care about business outcomes. We care about business outcomes. π€π€π€
- We show all team members equal respect.πͺ
- We care about work life balance and if we have to work overtime to meet deadlines then we realize that something has gone horribly wrong. βοΈβ
- We work as one team and strive towards clear inputs (Scope, Acceptance criteria, DOD etc) and plan rigorously before accepting or starting new work.π€
- We go out of our way to explicitly communicate any risks or blockers and make sure all internal and external stakeholder are aware of them.β’οΈ
- We strive for effective communication general queries are addressed on the same day unless a person is specifically addressed in this case it should be under an hour.π’π£οΈ
- We log any decisions in teams channel.π
- We always celebrate our wins by giving specific feedback around the
actionsbehaviors and always celebrate project completion with a team dinner. π½οΈπΊ - We believe in the culture of continuous improvement. We own our mistakes and never sweep anything under the rug, every shortcoming is discussed in retrospective with the team.π§ββοΈ
Engineering
- We make conscious engineering decisions to maximize business outcomes.
- There are subset of people who can take design decisions but every engineer in the team is expected to pick any item in the backlog. (unless explicitly stated in kickoff).
- Readability, correctness and resilience are prioritized over performance unless explicitly stated.
- We follow the git flow branch naming convention for branches and identify the task number e.g.
feature/123-add-working-agreement
- Commit history is consistent and commit messages are informative (what, why).
- Main branch is always shippable.
- Application faults and errors are logged in production.
- Team is clear about deployment logistics before starting the project.
- The team submits feedback on business and technical blockers that prevent project success.
- Prevent βFoot-Gunsβ if a person makes a mistake, donβt ask: βhow could somebody possibly do that?β, do ask: βhow can we prevent this from happening in the future?β
Measurements
-
Team Velocity
-
Number of Bugs
-
Iocane Doses