You Know Your Project Is Dysfunctional If...
I discuss below five easy-to-recognize smells that point to some serious dysfunction within your project team. Often the dysfunction can be traced to a specific person who is poisoning the team. Most likely it's a team member who is defensive and doesn't wish to ask for help or be called out when s/he makes a mistake. But it can also be a stakeholder who is too overbearing and/or disengaged. Either way, these smells are merely symptoms (like an incessant cough that finally causes you to seek a doctor's professional opinion). Don't make the mistake of interpreting symptoms as problems. Fixing the symptom without ferreting out and addressing the underlying malady will only make the problem worse. (Analogous to taking cough syrup when what you really need is an x-ray to identify pneumonia.)
So, here's my list of top five smells I use to identify a dysfunctional project.
- You can't remember the last time you saw two team members huddled over the same computer screen
This is the most obvious of the smells. Collaboration is an essential facet of a well-functioning team. While an interactive session might initiate over email or phone, it often concludes with two or more team members sitting at the same desk looking at the same screen (or in the same room using a projected screen). This shared problem-solving and cohabitation is critical in order to align on requirements, solution approaches, and issues. If your project has this odor, ignore the score card below and head for the hills!
- Far too much time is being spent checking and discussing the burndown and/or velocity
Processes and metrics become counterproductive if they take center stage. Delivering functionality is the main objective of your project. If your burndown or velocity (or some other process adherence) is poor, acknowledge it and move on. Occasionally, the team should empower itself to explicitly drop an element of the process if it doesn't seem to work in the context at hand. Being obsessive compulsive about process or metrics is not helpful.
- There's hardly any light conversation in the team area
A team that laughs together stays together. Software development is, above all, a human activity. If human elements start to fade from the work environment, it's unlikely that the team is truly enjoying their time at work. And a team that isn't happy is going to have a really hard time producing enlightened and spectacular results.
- More often than not, the team doesn't eat lunch together
Okay, so perhaps your team isn't endowed with the comedic gift. No big deal. But each and every one of us breaks for lunch during the work day. If the team is working well together and gelling as a team, it should not be a stretch to expect that most team members would eat together on most days. Occasionally, the team might leave the building and go out for lunch. There could be many reasons this isn't happening. Either the team members can't stand each other. Or they're too stressed about project deadlines and deliverables to dream of anything more leisurely than inhaling cafeteria food at their desks. Regardless, it's not healthy for the team or for the project.
- The team dreads code reviews
Code reviews are dreaded for fear that dormant animosities will flare up once again.
- 0-1 Smells
You've got yourself a model project. Relish the experience and, if possible, help others eliminate some of their dysfunction.
- 2-3 Smells
Your project is on the verge of collapse. You urgently need to dig deep to find the real dysfunction (a team member or a bad practice) and eliminate it.
- 4-5 Smells
You've on a sinking ship. Don't bother trying to plug the hole. Bail immediately and find a better project before your sense of smell is ruined.