DevOps Zone is brought to you in partnership with:

Tom discovered Agile Development in 2003 and spent the next 8 years, together with his team at www.biomni.com, improving their process and blogging about his discoveries. He has a particular interest in the psychology of keeping Agile agile and not letting it slip back into the evil old ways! He believes a Scrummaster should also be a developer and codes ASP.NET and C# most of the time. Tom is a DZone MVB and is not an employee of DZone and has posted 41 posts at DZone. You can read more from them at their website. View Full User Profile

On Collaboration

07.22.2013
| 3368 views |
  • submit to reddit

I always dreamt of being able to collaborate more at work. Perhaps it’s a lack of confidence in my own abilities or a desire to be close to others, either way I’m happy and more motivated working with others. Working in an office surrounded by other developers -- each of us trying to solve the same problem independently -- feels like madness, so what stops us working together?

Why do we work alone?

I’m scared that I might not be what you think I am

When I applied for your job I my CV listed a long list of languages and technologies I could do. When you interviewed me you tested me on some basics and left the rest to hope. Now you expect me to know it all, if I work with you I feel vulnerable.

As programmers it’s our ability to learn that makes us effective, what we currently know, our experience, matters but that’s also a function of our ability to learn. We learn from each other.

I’m scared that we’ll disagree

I know we don’t alway see eye to eye, at least if I’m on my own I know I can do it my way. If we disagree what will we do? I’m uncomfortable with being told I’m wrong. If you’re way really is better where does that leave me?

I’m scared of a talking shop

I know what I’m doing, lets just get on with it, once we start talking about it we’ll never get it done. Worse still our solution will be a result of groupthink, nobody leads, nobody challenges, we just settle on a dirty compromise.

Why might we work better together?

You give me hope

Creating software, or fixing it is hard. Everyday we hit problems that stump us. Alone I get disheartened, I lose faith in my own abilities and those of the others on the team. When working together we support each other, there’s someone to listen to our frustration, someone to suggest an alternative. We share the pain.

You give me perspective

Sometimes I go down a path that’s takes us away from where we need to go. These rabbit holes can be expensive, when there’s little collaboration there’s nobody to stop me. I see developers becoming obsessed by these rabbit holes, struggling to let go of something they’ve started, no matter how little benefit it brings.

You challenge my ideas

We create software to solve problems that nobody has solved before, otherwise we’d just by it off the shelf. If other people are also trying to solve this problem we have to do it better. Finding better solutions requires clear critical thinking. Questions that dig deeper into a problem, that challenge our limiting assumptions and spur creativity allow that.

You bring new ideas

My ideas are limited by my perspective and my assumptions. All those things I’ve seen and done in the past are completely different from all those things you’ve done in the past. You see this problem differently, we’ll come up with different ideas, and we can challenge them.

I get better at collaborating

The more we collaborate the better we get at it. I lose my fear of what you might think because you “tell me” what you think. When we disagree we get excited about the learning that will emerge from our differences. I grow more confident because together we are creating solutions that we couldn’t have done alone.

Published at DZone with permission of Tom Howlett, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)