I kinda don't do typical (standard, simple, repetitive, low-risk) projects. Since pretty much always. Why?

  • because I don't want to
  • because my clients think they have other things better suited for us (my team)
  • because no-one would pay my rate for job anyone else could do ;>

I don't write these words to brag or piss you off, if by any chance you're stuck with something that literally puts you asleep on your desk. My purpose is to share one important observation about cowboy (high-risk, research, prototype) endeavours:

Best people are not the key factor

Really.
I've seen great teams failing miserably in situations they dealt with smoothly beforehand. And on the other hand, I've seen randomly formed teams achieving absolutely amazing results & crossing the borders that seemed totally out of their (and anyone else's) reach. What's the secret then? Can't tell for sure (if I knew, I would have been another Larry Page already ...), but IMHO it's a combined effect of 3 factors:

  1. engagement aka "LET'S FUCKIN' DO IT!"
  2. alignment aka common direction
  3. teamvibe aka team's internal synergy

"Great, another corpo-bullshit ..."

Forget the "engagement indexes" & other crap like that. I mean real Engagement - the one you can feel in the air when you cross the room:

  • people really believe what they do makes sense (adds value)
  • they know where their work fits into the big picture (if there's one)
  • achieving the goal will help their careers & simply make them proud and respected more
  • they feel the ownership over their work & significance of their decisions

That's not all. Alignment is just as important:

  • everyone contributes in a way everyone else sees - no hidden goals, no individual backup plans
  • we work for teams success, not individual successes - we stand as a team, share the responsibility & back-up each other if needed
  • everyone is focused on the project in 100%
  • we plan together, brainstorm together, verify together, retrospect together - noone's put aside

All right, that was the easy part. At least the one that's quite easy to describe. Teamvibe is something far more volatile. It's the ability of particular team members to work as a team by ... :

  • ... putting your ego aside, placing it below the respect for your team members
  • ... accepting that there are many solutions of every problem and sometimes you should give up on yours even if it seems better
  • ... being humble enough to accept constructive criticism
  • ... and absolutely objective / factual while giving feedback to someone else

Bitter taste of imminent doom

If you any of this factors fails in your team (which is sometimes really hard to tell), you're in serious trouble. If things start to go bad, it usually resembles a famous Chicken & Pig story:

  1. Part of the team have their vision of solution, they commit themselves to it, strive to have it done, even if it means risking their reputation & career (pigs). If they succeed, they may bring a tremendous value, but ...

  2. ... some team members are far more self-restraint (chicken): they either got marginalized by pigs, they just don't believe in the project anymore or maybe they don't think it's worth the effort - both time-wise & emotion-wise (YES, I mean that kind of engagement as well). Their level of commitment, willingness to risk reputation or sacrifice the work-life balance are far more limited.

  3. Sometimes, there's even a third group. People who just don't give an f-word. They don't want any additional pressure, they don't have great ambitions (or their ambitions are completely different) or maybe they have some other issues of any kind. Sometimes they just don't fit in the team - there's no chemistry between them and other team members. These are the passersby.

It's much, much harder to deliver a truly challenging projects (clarification: challenging doesn't mean poorly estimated, so we crunch like madmen) having chicken & passesby on board:

  • morale is deteriorating
  • more & more pigs tend to drift towards other groups
  • people no more feel the joint power of the group - they are afraid of being left with pile of crap they'll be personally reponsible for (blamed for ...)

Onwards, there's glory to be taken!

And here's a spot for a real leader.

Because leader is not someone who comes up with the best algorithms, develops most lines of code, has highest code coverage coeff. Leader is someone able to unite this bunch of people to make them able to achieve great things TOGETHER - fully engaged, sharing the same targets, working as a team.

Obviously, sometimes even the best leader ain't enough. But in many cases it's a poor leader that undermines, cripples the project - of course in 95% cases he doesn't realize that (learned from my very own personal experience -> own personal mistakes I mean).