free html hit counter
Posted on: Thursday, 20 November 2008 by Rajiv Popat

This blog has been about my search for answers which have profound meaning in my life. As I write and learn, the goal, dear reader, is to involve you in my search for these answers. One of the things that has confused me as far as software development and life in general is concerned is 'success'. I've seen teams of really programmers having the best of the academic background fail project after project when a simple catalyst and a small teams of humble hard workers manage to break the infinite loop of failure  as they cruise through projects; successfully.

In my career I've been a part of quite a few projects. I've observed others from the outside and analyzed them like a black box is analyzed after a plane crash. A huge number of them fail because of lack of a kick-ass team; however, the more I analyze these failures and the more I 'grow' as a person, I continue to learn that of these huge number of failed projects that I've witnessed quite a few of them had teams comprising of some really smart individuals, who were strangely and weirdly, acting like perfect clowns leading their projects into the path of failure.

 

When I sit back to reflect on some of these projects I realize that none of the posts about successful projects that I've written in this blog, till date, explain some of the failures I've witnessed. I've seen small teams with technically competent developers fall flat on their face and their project snowballed into a massive failure because of little things. All of them were fairly competent individually; but when they came together they started acting like perfect clowns.

What is it then, besides competence, that results in successful projects?

I'll give you a hint - it's not RUP or CMM. No, it's not even 'just competence'.

Jeff Atwood describes the secret sauce of successful teams and does a good job at describing the source of all problems in software development:

Let's say I was tasked with determining whether your software project will fail. With the responses to these three questions in hand, I can tell you with almost utter certainty whether your project will fail:

  1. How many lines of code will your team write?
  2. What kind of software are you building?
  3. Do you like your coworkers?

That last question isn't a joke. I'm not kidding. Do you like the company of your teammates on a personal level? Do you respect your teammates professionally? If you were starting at another company, would you invite your coworkers along? Do you have spirited team discussions or knock-down, drag-out, last man standing filibuster team arguments? Are there any people on your team you'd "vote off the island" if you could?

It may sound trivial to focus on the people you work with over more tangible things like, say, the actual work, or the particular technology you're using to do that work. But it isn't. The people you choose to work with are the most accurate predictor of job satisfaction I've ever found. And job satisfaction, based on my work experience to date, correlates perfectly with success. I have never seen a happy, healthy, gelled, socially functional software development team fail. It's a shame such teams are so rare.

Happy, healthy, gelled, socially functional teams where the team members not just like working with each other but actually like each other as human beings and hugely respect for each other, are rare indeed. In my entire career till date, I've been a part of two teams that truly and fully, one-hundred-percent, fall in this category. While working with both these teams successful projects seemed like a destination towards which we were mostly cruising towards; on auto-pilot.

While working with, and being a part of both these teams, I personally delivered three projects with genuine value added and hugely happy clients who became allies in our success. What I also did during my work with these teams is a lot of soul-searching on why we were being successful.

Was every single individual in these teams a kick-ass programmer and a one man army?

Not really.

In fact, quite a few of us, me included, were pretty average programmers.

We were faced with the same perils of war that most software development teams face and we committed our share of stupidities. However the fact that team members liked each other and the 'mutual-trust-and-respect' factor made it that much more easier for people to become thick-skinned about their weaknesses and let someone else complement those with his strengths.

If you're responsible for hiring people in your organization, always remember, asking yourself if you would love to work with an individual is just as important as rating the individual on the technologies they are expected to work on.

If you are leading a team that you inherited or hired without this knowledge, besides your team members being amazing professionals,  look around. Ask yourself some fundamental questions about the team and the team members in particular:

  1. Is there a silent, subtle competition happening internally within your team? Are members of your team are indirectly competing with each other? 
  2. Do members of your team make you uncomfortable in social gatherings outside of office?
  3. If an individual was to resign and quit, would you feel secretly happy and relieved about the resignation?

If you answered yes, to any of the above problem, chances are your projects will fail one after the other; if you're really lucky, you will fumble your way to successful failures; but none the less you'll find software development very complicated and hard.  If you answered with a confident no however, chances are that you and your team will auto-pilot their way to successful projects.

While Jeff questions - "If you were starting at another company, would you invite your coworkers along?" - I leave you dear reader with an even deeper and profound litmus test of the team that you are working with: If you were to start your own little dream venture that you really believed in or pet open source project, would you invite your team to join in? Would they accept your invitation?

Two way relationships involving respect, liking and mutual trust are the secret sauce of successful teams and successful careers around the world. There is not much you can do to ensure respect, liking and trust from the other side, but working on these qualities for yourself is as important as learning the next version of the programming language or the platform you work on. May I suggest, dear reader, you give conscious effort in this direction; even if you think you are the most liked person around.

Are you 'working with' a team? Do you consider them a part of your life vision and your extended team or just this current job? If your relationship resolves around just this gig, you probably don't have a well-gelled team. On the other hand if you can think of them as your extended team and a part of your life vision, you might be building projects that cruise on auto-pilot towards success when you work with such teams. Yes, competency is important; but the mutual-liking-and-respect factor is equally important. It's the secret sauce of the delicious success that amazing software development teams often achieve.

posted on Thursday, 20 November 2008 22:23:38 UTC by Rajiv Popat  #    Comments [0] Trackback
Related posts:
Are We Really Overworked? Or Just Not Enjoying What We Do?
Managers And Their Self-Fulfilling Prophecies.
Fake It Till You Become It.
Cookie Cutter Vs. Improvised Support
The Real Story Of Passionate Success.
Feeling Like A Phony Is Fine. Not Showing Up Isn't.
Tracked by:
"That's Not An Office. They Just Want You To Think It Is." (ThousandtyOne! - .NE... [Trackback]
"That's Not An Office. Software Shops Around The World Just Want You To Think It... [Trackback]
"Have You Thrown Away Your Gantt Charts Yet?" (ThousandtyOne! - .NET, Life and L... [Trackback]
"Have You Thrown Away Your Gantt Charts Out Of Window Yet?" (ThousandtyOne! - .N... [Trackback]
"Software Planning Is Way Overrated" (ThousandtyOne! - .NET, Life and Logical Th... [Trackback]
"Software Planning Is Highly Overrated." (ThousandtyOne! - .NET, Life and Logica... [Trackback]
"Software Planning And Project Plans Are Highly Overrated." (ThousandtyOne! - .N... [Trackback]
"Detailed Planning And Project Plans Are Highly Overrated." (ThousandtyOne! - .N... [Trackback]
"Detailed Planning And Comprehensive Project Plans Are Highly Overrated." (Thous... [Trackback]
"Education And IQ In Software Development." (ThousandtyOne! - .NET, Life and Log... [Trackback]
"Selecting Candidates Based On IQ And Educational Background Is Highly Overrated... [Trackback]
"Birds, Flocking Together And Constraints – The Building Blocks For Agile ... [Trackback]
"Birds, Flocking Together And The Building Blocks Of Agile Teams" (ThousandtyOne... [Trackback]
"Birds, Flocking Together And Why Constraints Are The Building Blocks Of Agile T... [Trackback]
"Birds, Flocking Together And Why Constraints Are The Building Blocks Of Success... [Trackback]
"Birds, Flocking Together And Why Constraints Are The Building Blocks For Succes... [Trackback]
"Leadership, Criticism And The Blame Game – It’s Always Your Fault."... [Trackback]
"Leadership, Constructive Criticism And Not Playing The Blame Game – It&rs... [Trackback]
"Leadership, Constructive Criticism And Not Playing The Blame Game." (Thousandty... [Trackback]
"Why Project Managers Should Have Short Memories" (ThousandtyOne! - .NET, Life a... [Trackback]
"Why Project Managers And Team Leaders Should Have Short Memories." (ThousandtyO... [Trackback]
"Why People Who Lead Teams Should Have Short Memories." (ThousandtyOne! - .NET, ... [Trackback]
"Avoiding Accidents And Fetal Crashes In Software Development By Letting Your Te... [Trackback]
"If They’re Saving Your World, You Probably Don’t Even Know It." (Th... [Trackback]
"The Culture Definers – If They Doing A Kick-Ass Job, You Probably Don&rsq... [Trackback]
"Silent Culture Definers - If They Doing An Awesome Job, You Probably Don’... [Trackback]
"Silent Culture Definers - If They Doing An Awesome Job, You Probably Dont Even ... [Trackback]
"Culture Definers - If They Doing An Awesome Job, You Probably Don't Even Know I... [Trackback]
"Kick-Ass Managers Culture Definers - If They Doing An Awesome Job, You Probably... [Trackback]
"Kick-Ass Managers And Genuine Culture Definers - If They Doing An Awesome Job, ... [Trackback]
"If They’re Genuinely Defining Your Culture, You Probably Don't Even Know ... [Trackback]
"Kick-Ass Managers In Action - If They’re Genuinely Defining Your Culture,... [Trackback]
"If They're Genuinely Defining Your Culture, You Probably Don't Even Know It." (... [Trackback]
"If They Are Genuinely Defining Your Culture, You Probably Don't Even Know It." ... [Trackback]
"If They Are Genuinely Defining Your Work Culture, You Probably Don't Even Know ... [Trackback]
"The Bullshit Busters And The Sleeping Pills For Monkeys." (ThousandtyOne! - .NE... [Trackback]
"Bullshit Busters And Their Stock Of Sleeping Pills For Monkeys." (ThousandtyOne... [Trackback]
"A Few Bullshit Busters And Their Stock Of Sleeping Pills For Monkeys." (Thousan... [Trackback]
"A Few Bullshit Busters And Sleeping Pills For Monkeys." (ThousandtyOne! - .NET,... [Trackback]
"The Bullshit Busters And Their Sleeping Pills For Monkeys." (ThousandtyOne! - .... [Trackback]
"Software Development, Bullshit Busters And Sleeping Pills For Monkeys." (Thousa... [Trackback]
"Your Product, Bullshit Busters And Sleeping Pills For Monkeys." (ThousandtyOne!... [Trackback]
"The Pareto Principal, Bullshit Busters And Sleeping Pills For Monkeys." (Thousa... [Trackback]
"Optimum Utilization Of Your People, Bullshit Busters And Sleeping Pills For Mon... [Trackback]
"Resource Management, Optimum Utilization Of People, Bullshit Busters And Sleepi... [Trackback]
"Optimum Utilization Of People, Bullshit Busters And Sleeping Pills For Monkeys.... [Trackback]
"Optimum Utilization Of People In The Organization, Bullshit Busters And Sleepin... [Trackback]
"Employee Utilization, Bullshit Busters And Sleeping Pills For Monkeys." (Thousa... [Trackback]
"Optimum Utilization Of Human Resource, Bullshit Busters And Sleeping Pills For ... [Trackback]
"Optimum Utilization Of Your Teams, Bullshit Busters And Sleeping Pills For Monk... [Trackback]
"Optimum Utilization Of Product Teams, Bullshit Busters And Sleeping Pills For M... [Trackback]
"Detail Oriented Managers Or Stupid Micro-Managers." (ThousandtyOne! - .NET, Lif... [Trackback]
"If You Consider Yourself A Highly Detail Oriented Manager - You Might Be A Pric... [Trackback]
"Most Self Proclaimed 'Detail Oriented' Managers Are Pricks." (ThousandtyOne! - ... [Trackback]
"You're Not Detail Oriented. You're Just A Prick." (ThousandtyOne! - .NET, Life ... [Trackback]
"You're Not A 'Detail Oriented' Manager. You're Just A Prick." (ThousandtyOne! -... [Trackback]
"Measuring Your Project Health With The F-Word." (ThousandtyOne! - .NET, Life an... [Trackback]
"The F-Word In Software Development." (ThousandtyOne! - .NET, Life and Logical T... [Trackback]
"Everything Is Personal." (ThousandtyOne! - .NET, Life and Logical Thoughts By R... [Trackback]
"When It Comes To Your Professional Life - Everything Is Personal." (ThousandtyO... [Trackback]
"Programmer Tip: Take Up Challenges Not Tasks." (ThousandtyOne! - .NET, Life and... [Trackback]
"Programmer Tip: Getting Used To Taking Up Challenges Not Tasks." (ThousandtyOne... [Trackback]
"Programmer Tip: Get Used To Taking Up Challenges Not Tasks." (ThousandtyOne! - ... [Trackback]
"Understanding Software Development Disasters - Part 3" (ThousandtyOne! - .NET, ... [Trackback]