Every project has a set of roles. We list these roles clearly in the project's Planning Ticket. Those roles are:
- Driver -- the project manager
- Decision-Maker -- the business owner
- Design Lead (if needed) -- makes sure design work gets done
- Development Lead (if needed) -- makes sure engineer work gets done
- Quality Verifier -- ensures QA happens and that its good enough to ship
Clearly defined roles make projects run smoothly. In particular:
-
- Make sure every project has a Driver. The driver is like the project manager. They're the task-master and glue. They ensure that meetings happen, that individual tasks are clear and well documented, and that the work gets done on time.
-
- Be clear about the difference between the "Driver" and "Decision-Maker". This can be confusing. The Driver steers the car; the Decision-Maker decides where to go. The Decision-Maker doesn't need to be involved in the minutiae of every single task (that's the Driver's job.) But they set the overall goal, and decide whether the work meets that goal.
-
- Take quality seriously. Every project has a Quality Verifier. We don't just finish work and chuck it out the door; we take the time to ensure it's done right and that our users will love it. That's the Quality Verifier's job.
The project Driver is the co-ordinator or project manager. They:
- schedule and run kickoff meetings and daily stands
- update the planning ticket with the results of each meeting
- worry about the schedule within a heartbeat
- keep an eye on project risk, dependencies, etc.
- ensure that the "Decision-Maker" makes decisions and sticks to them
- ensures the team is communicating well
- raises a flag if a project feels like it's going off-track and needs a rethink, rescope, or changes in resourcing
No one should end up being the Driver for more than three projects per Heartbeat. It's too hard to well -- and this is a crucial role to get right.
The Decision-Maker is usually the person who represents the "client" of the team working on a project. They are the final decision-maker for the duration of the project. Their primary role is to avoid indecision and deadlock, and to make sure the team has access to a domain expert, so that the thing built is what is needed.
They're the primary design resource on the project. They will refer to our style guides, consult with other designers, and get feedback. They're the one the Driver will look to for everything from UX to UI.
Similarly, the lead dev is the primary technical point of contact for the project. Many developers may end up contributing to the project, but the lead dev has the responsibility to look broadly at the problem. Are there aspects of the scope that need to be considered that maybe missed discussion at the kickoff meeting? Security considerations? Privacy or data handling concerns? Are tests being written? The dev lead is encouraged to seek feedback, check with colleagues, managers, and others, and is on the hook for ensuring the engineering work gets completed during the heartbeat.
The Quality Lead may not be deeply involved in the day-to-day of the initiative, but will cast a critical eye on the quality of the work, ideally getting involved at three phases:
- early on in the initiative. To understand and/or specify the quality benchmark we're aiming for.
- mid-point. To detect deviations from that target, and possibly correct course.
- at the tail end of the initiative. To point out rough edges that should be corrected in the last few days.
##Here's an example of how the roles interact
-
Decision-Maker: "We're going to make carrot soup. It needs to be served at lunch on Feb 21. The metrics for success are: at least 20 happy soup customers."
-
Driver: "Ok. I'll schedule a Project Kick-Off meeting. And make sure the individual tasks required (buy carrots, chop carrots, sautee and blend carrots, serve soup) are clearly ticked and assigned."
-
Design Lead: "I'll be responsible for ensuring all design work required for the soup gets done."
-
Development Lead: "And I'll do the same for any engineering work required."
-
Quality Verifier: "Great! I'll be responsible for doing a final check to ensure the soup is hot, tasty, and something we're proud to serve."
-
Driver: "Hey can we make it potato soup instead, and delivered it Feb 28?"
-
Decision-Maker: "Nope, sorry. It has to be carrot soup, on Feb 21."
-
Driver: "Okey doke. I'll make sure that happens."