Team dynamics play a large part in the success or failure of a project. Often time’s group dynamics play a bigger part than the collective skill set of a team. In my tenure as a software developer, I have had the opportunity to work on teams that have had both good dynamics and nasty dynamics. And as you may have guessed, the experiences are very, very different. A team that works well together and collaborates is far more motivated, excited, and concerned with the overall quality of the end product. Sadly, the opposite is true of the team with lousy dynamics. Team members will isolate themselves, quality will decrease exponentially, and team members simply stop caring because they are frustrated. At the end of the day, your chances of success in a situation like this are essentially, well… 0.
So, with team dynamics fresh in our minds, I thought it would be fun to write a not so technical blog post outlining the different personality types that I have seen as I have moved from one contract to another. I am starting with some of the negative types I have run into over time, and will publish a follow up post with the positive types. I am sure you the reader has many others that you could contribute and I certainly would appreciate hearing what you have to say on the subject!
The Cherry Picker
The cherry picker hunts and pecks his way at the requirement backlog only working on requirements he finds captivating or easy. What’s worse, the Cherry Picker will break down a given requirement into several smaller parts, again, only working on the aspects he finds simple or entertaining. A Cherry Picker will never complete a requirement, because his ‘definition of done’ is based upon him getting bored or confused. Because the Cherry Picker often quits working on a requirement when it becomes difficult, his behavior leads to the endless cycle of ‘defect ping pong’. Simply put, Cherry Pickers are bad. Don’t be a Cherry Picker.
The BA Developer
The BA Developer is one of the most frustrating personality types to work with. A BA Developer will find things he believes are shortcomings in a system and decide that they need to be worked on right now. Of course, they do this work without consulting the other team members and with no defect or requirement to track the work against. Because the BA Developer knows that the actions he is taking will be looked down upon, there are no design discussions or collaboration involved. In the end resulting in fragile implementations of ‘features’ that may or may not be needed. Once the BA Developer completes his ‘enhancement’, the BA Developer will contact the team member he feels will be least appalled by his actions. The BA Developer will then show the perceived weak team member the changes that were made. If a BA Developer if confronted, he will claim things like, ‘I have not checked anything in, I just wanted to see how it would look’. The BA Developer cares remarkably little about the wasted time that brings down the overall velocity of a team. A BA Developer is one of the most dangerous personality types to have on a team. Trumped only by the Sneaker.
The Sneaker does not care about process, teamwork, standards, patterns, requirements or quality. You may be totally unaware that a Sneaker is among you until you see their handy work with your own eyes. The Sneaker is much like BA Developer, with one key infuriating difference. The Sneaker skips the showing part, and checks in code changes without mentioning a thing! When source control fingers The Sneaker as a build breaker, and he is confronted with the problem, The Sneaker will say things like ‘well I mentioned it’, or ‘I talked to this person or that person’. You should fear above all other personality types The Sneaker.
The No Google-er
The No Google-er seems harmless at first, even though they are very annoying. When faced with a problem, the first instinct of a No Google-er is to ask whoever is close by. Overtime, if other developers allow this to continue, The No Google-er actually forgets about the vast resources available to us by simply using www.google.com. Almost as if they are in complete denial that a thing called the ‘internet’ exists. The No Google-er not only wastes other team members time he is responsible for a disproportionate percentage of defects reported, a problem that is seriously compounded around holiday season when their human search engines are out of town.
The Watcher is a strange personality type whose motivation is as elusive as it is unpredictable. The single trait that all Watchers have in common is that they will hold others up to standard they refuse to follow. A Watcher is the first to comment about other developers non-standard development practices while ignoring broken build notifications they caused. Those who can do, those who can’t watch.
The Waiter is harmless enough though they are terribly frustrating. Waiters are extraordinarily common and come full of delightful catch phrases like, ‘we are kind of low on work, so I did some online reading’, or the classic, ‘I am waiting on ______’. Oh and I would be remiss if I forgot the common statement of, ‘I am ready to take on something new’. The Waiter is good in that they do not do too much work thus limiting the damage they can do. However, they often times pass on work to more advanced team members out of sheer laziness by stating that the work is above their skill level.
So there it is! The most common negative personality types I have run into. To be fair, I am sure I have fallen into at least one of these in from time to time.
Stay tuned for the followup outlining some positive types.