free html hit counter
Posted on: Friday, August 28, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part14.

Words Of Wisdom From A Story Teller.

At one of the sales meeting during my work at Multiplitaxion Inc; I am seated across a gentleman; who shall be remained unnamed; but who; for the purposes of this post; we shall refer to as Jack. It turns out; Jack has made millions with this marketing and story-telling skills. Jack; besides talking about his project needs; is also passing on words of wisdom like a wise marketing jedi teaching his young Padawan.

He begins the meeting with an answer to the question which is --- why does he want to invest hundreds of thousands of dollars in a project which is basically what he calls a 'fun-project'.

Even though I do not remember the exact words; he answers the question with a rather interesting answer which leaves a deep impact on me. It is exactly the kind of answer I would expect from someone I was working with.

When asked the question; he answers after a thoughtful pause:

I don't want to spend so much money on this project in anticipation of a huge return. I want spend money on this project because it seems like an interesting problem to solve. I want to work with the right people and I want to have fun doing that.

You know --- I don't know why they do; and I do not even know if I am the right person to be answering this question; but every now and then a few college students ask me how I got so successful in my life and I tell them the only way to get successful is to find something that you are really obsessed with doing. Something that you would absolutely love doing and then doing that for the rest of you life.

There are two benefits to doing this. First is that you absolutely love doing it so you will not get sick or tired of doing it for years (which is what it takes for anything to be successful); second is that because you love doing it, you will probably put in a little bit of an extra effort than everyone around you. That 'extra' is what will set you apart and make you noticeable amongst a crowd.

I can't say I agreed to everything the guy said in that meeting; but as far as these words of wisdom were concerned; they were simple; accurate and right on target.  Observe any genuine builder out there and two traits will become rather evident. 

Most genuine builders out there have relentless passion and love for what they do. It is this obsession that makes consistency; which is otherwise a very hard quality; relatively and possibly easy to achieve.

It is the same relentless passion and obsession for what they do that keeps gently nudging genuine builders to strive for more and put in a 'little bit of extra' in everything they build.

A Little Extra

When it comes to software development we all know how easy it is to be ninety percent done. It is completing the other ten percent with class that separates veteran builders from wannabes. It is all about putting in that little-bit-of-an-extra-effort and giving that little-bit-of-an-extra-touch.

This little-extra is what is usually required to cross the dip. It is what results in overnight-success-after-years-of-effort. It is what separates a blu from being yet-another-twitter client; a tortoise-svn-client from being yet another SVN-client and a project-path from being a yet another task-list cum project management tool.

Now; here is a task for you dear reader. Go review your products and try to do an honest self assessment on them.

Are you absolutely loving the act of building these products?

Are you having fun every day at work?

Are you just building me-too products?

Or are you leaving the mark of a genuine builder on your product by putting in a little-bit-extra into it?

Which one of the two approaches does your organization or work environment expect and encourage you to take; dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Friday, August 28, 2009 10:27:50 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Thursday, August 27, 2009 by Rajiv Popat

Building Remarkable Work and Play Environments - Part 13.

Why You Cannot Please Everyone.

At Multiplitaxion Inc; we had a truck-load of serious issues. Starting from the BDUF model for software development to a complicated hierarchal organizational chart where your manager could probably screw you really badly for no particular rhyme or reason; if he felt like doing so. Everywhere you looked; there were issues and problems.

Quite a bit of builders I knew personally had complained initially and had then moved into hibernation.

Even some of the super-heroes were down; lost and tired of trying.

Then something happened.

Random people --- including the whiners --- started quitting.

Loads of them.

New people started joining in.

A couple of us started working without a truck-load of  documentation and started using light-weight processes scrum to produce results which; compared to the results that were being produced by a couple of other teams; were --- lets just say --- noticeable.

People higher up in the organization took notice; listened and helped us spread the culture across the organization.

Multiplitaxion Inc was about to take a new form; shape and a completely new makeover.

In the days to come:

  1. We moved from Rational Unified Process to Scrum.
  2. We moved from doing ad-hoc random consultancy to developing products which made small dents in niche markets.
  3. We moved from 'control' and 'rules' to 'maturity'.
  4. We moved from 'ties' to T-shirts.
  5. We moved from half-baked-multi-layered-official-email-based-announcements to transparency within the corridors of the organization.

When we were on the path where we always wanted to be --- we patted ourselves on the back. The world was going to be a great place to live in; the sky was going to be blue and the birds were going to hum sweet songs now.

We Just Rubbed Someone The Wrong Way.

We had just about started patting ourselves on our backs. It was then that; running in the corridors of Multiplitaxion Inc I heard a builder; who  for the purposes of this post we shall refer to as Jack; whining about the fact that we had gone way too transparent and he did not like the transparency. Jack felt we had lost the 'sophistication' that we once had.

Turns out; Jack actually liked the notion of wearing ties to office and genuinely believed in deadline driven development.

Of all the things here a few things about this feedback that would make you feel completely and totally --- weird:

  1. The feedback was not a direct candid feedback. For days it floated around the corridors of Multiplitaxion Inc much the moans of whiners float around for days; spreading dissatisfaction and lowering the general happiness.
  2. The feedback was not objective about things that could be changed. It involved random criticism about the organization; the management; the marketing and every other department this person could lay his hands on.
  3. The person made a full-time job out of spreading his very own personal dissatisfaction within the corridors of the organization.

What was even more disappointing about the whole episode was the feedback was coming from a genuine builder who was decently good at what he did.

To top off all of this what made the whole episode even more worse; as I observed it unfold; was the fact that the same individual had actually complained and whined about the excessive use of BDUF processes and lack of transparency a couple of years ago.

Love It Or Leave It.

If you are running an organization; and if there is one thing you need to be very careful about; this poster describes it rather articulately.

While Jeff Atwood at Coding-horror proposes the love-it-or-leave-it idea for programming in general; the same idea; dear reader; also holds true within your organization.

Genuine builders; will have gripes about things that they do not like in the overall environment. Genuine builders will also be usually fairly vocal in expressing their concerns; but genuine builders do not make it their full time job to whine; bitch and passionately hate their organizations. They begin by expressing their concerns; becoming vocal; hibernating; getting disconnect and then if things still do not change --- they leave.

The primary rule of blogging or building anything interesting is that you listen to constructive criticism; you discuss things candidly and openly; but when it comes to Bozos throwing random flames on you or your project; you turn a deaf ear and you continue with whatever-it-is that you are doing. If they feel so strongly against what you are doing; they are free to punish you by ignoring you and leaving you alone.

The same rule; dear reader; holds true for work environments.

When you have an isolated team member; whining and making a full time job out of spreading his unhappiness it is time to cut straight through the bone; look at the gentleman in the eye; confront the issue instead of ignoring it and present him with a love-it-or-leave-it option.

Remember; you cannot please everyone and every now and then you are bound to come across some whiners you can never please irrespective of what you or your organization does. The sooner your organization presents the love-us-or-leave-us option to these whiners the better off you work environment will be.

How many whiners who passionately hate their organizations have you met or worked with?

How many of them; instead of having a spine to bring up the problem; hibernating or leaving; continued to bitch; whine and moan in hush-hush mode within the corridors of the organization?

Have you ever presented a whiner with love-it-or-leave-it option in clear terms; dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Thursday, August 27, 2009 7:18:42 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Tuesday, August 25, 2009 by Rajiv Popat

Building Remarkable Work And Play Environments - Part 12.

Logo-wear And Its Importance.

During its glorious days; Multiplitaxion Inc; was giving out amazing logo-wear --- T-shirts; pens; mugs; watches; clocks and toys. As an organization it was interestingly  popular when it came to free logo-wear given out to employees.

Irrespective of who you were; if you worked at Multiplitaxion Inc; there was always enough logo-wear going around and you could grab some too.

Then as we 'grew' in terms of team-sizes and number of employees; something funny happened.

The concept of giving out logo-wear stopped all-together. All of a sudden you could not get any logo-wear --- even if you wanted to buy it.

All logo-wear just disappeared out of the organization.

Not many missed the logo-wear though. Interestingly; however; the few who missed these logo-wear items had one thing in common. They were genuine builders deeply connected to the organization and their projects.

Every single one of them.

The incident was an interesting insight into what alpha-geeks and genuine builders expect out of their organization when it comes to logo-wear and toys.

There Is Something About Logo-Wear.

The whole-logo-wear-not-being-available-within-the-organization-incident happened slowly; but even months after the culture of giving logo-wear had completely stopped; every now and then some of us would talk about the good old days when there was always some logo-wear with cool slogans and wordings on it. 

The cost of these swags in terms of monetary value --- peanuts.

Yet there was something about cool company T-Shirts and logo-wear that was causing the genuine builders to go bonkers and drool over cool logo-wear.


Because having amazing logo-wear which you can, carry, wear or use says a lot of about the organization that gives it out.

Logo-Wear Reflects Your Organization's Personality.

Remember the famous 'Ninety Hours A Week And Loving It' T-shirt worn by the Macintosh team? All the controversy around that T-shirt apart; the T-shirt was a reflection of Steve Jobs passion towards build amazing software.

Amazing; wild; funny; crazy or down-right-hilarious; the logo-wear your organization gives out; to a large extent; is a reflection of your organizations attitude and personality.

If you organization has no  logo-wear; it has no personality.

Logo-Wear Allows Builders To Be Loud.

As developers we are much more comfortable talking to the compiler than we are comfortable talking to human beings. We are usually not very loud when it comes to marketing ourselves or our organizations.

Go compare the number of posts on Power-shell that are out there and with the number of posts where developers are talking about how much they love their current organization. If you have done your Google searches correctly chances are --- you will find that not a whole lot of developers are talking about how much they like their current organization.

There are three reasons why the post count of how much developers like their current organization is so low:

  1. Most developers do not like their current organizations and are either tagging along as a 501 programmer or looping in the infinite loop of failure.
  2. The ones who genuinely love their organization would rather talk about the work that they are doing in their organization.
  3. As programmers we are usually not very loud of vocal when it comes to complaining or talking highly about the organizations we work for.

While you cannot address the first point by giving out logo-wear; it does help programmers and builders who are quite for the second or third reason to go out there and spread the word about their organization.

A Natural Extension Of Being In A Vibrant Tribe And Flaunting It.

More often than not; Tribes work by exclusion. If everyone can be a part of it; your tribe probably isn't interesting enough to join in the first place. You have built a remarkable work and play environment --- now it is time to give your builders a chance to flaunt the fact that they belong to rare tribe through remarkable logo-wear that grabs attention and makes non tribe members go wow.

If you genuinely believe your organization picks the best of the best; allow the best you have picked to flaunt the fact that they belong to a rather rare tribe.

Logo-wear is a natural extension of being in a vibrant tribe; being able to flaunt the fact that you belong to such a tribe; and use 'exclusion' to spread the word about your tribe or organization's personality so that you can nudge other smart builders to join the tribe too.

Logo-Wear Is Fun.

If all the above reasons do not make sense to you --- this one should.

Everything about Logo-wear is fun.

Designing it; getting it; wearing or using it; giving it out to your team members; all of it is fun. If you organization does not have logo-wear you might be missing out on a whole lot of this fun.

Most genuine software developers out there; are in it; for fun. Most genuine builders notice little things and small things like your business card or logo-wear can have long lasting impacts on your overall organizational environment.

If You Cannot Give It Out The Least You Can Do Is Sell It.

Early on in my career I spent some time in the Microsoft campus. One of the things that I liked about my stay there was that there was quite a bit of free-logo-wear and toys that we received. Apart from that the premise had a special store which sold logo-wear at discounted rate if you wanted to buy more logo-wear than what you were given for free.

At the end of the day; your employees are doing you a favor by wearing your logo-wear and spreading the word about your organization around. If they are genuinely connected to your organization they might even go out there and buy the logo-wear; the least you can do --- is make it available to them when they want to buy it.

The more I look at organizations out there; the more I continue to be amazed by the number of organization that do not even have a decent logo-wear based T-shirt. Quite a few organizations actually have pretty amazing logo-wear but you get some once a year and there is no way for you to get or buy more.

Not having logo-wear or not making is readily accessible to your employees shouts out loud that your organization lacks the passion; the commitment and the zeal to form tribes of truly connected employees.

Remember; logo-wear will not take a screwed up environment and fix it.

They are much like an icing on the cake that is already well baked and delicious. Having said that; I am yet to meet one builder who does not like this icing on the cake of his professional life.

Now go print some T-shirts.

Go figure out how you will make them accessible to your employees or team.

Does Your Organization have Logo-wear you feel good about using?

Does Your Organization give or sell the logo-wear and make the logo-ware readily accessible to you when you need it?

How strongly do you feel about logo-wear and it's impact on how the employees feel about the organization in general; dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Tuesday, August 25, 2009 10:16:00 PM UTC by Rajiv Popat  #    Comments [3]
Posted on: Friday, August 21, 2009 by Rajiv Popat

Building Remarkable Work And Play Environments - Part 11.

The Stupidity Called 'Working Together'

At Multiplitaxion Inc, every time I was close to getting in the flow a monkey would pop his head out of somewhere or a bunch of jokers would giggle over a stupidly funny conversation.

Because of the classical cubical-farm design of the office; I jumped from meeting room to meeting room trying to focus and getting stuff done.

As I hopped from meeting room to meeting room there were three things that I learnt about meeting rooms:

  1. Located next to every meeting room are other meeting rooms.
  2. Other than meetings; these rooms are often occupied by teams of software developments indulging themselves in an insanely stupid act; which they refer to as --- 'working together'.
  3. Human being are social animals and when they 'work together' they tend to talk about their wife and their life much more than they talk about their code.

Every now and then I would have a bunch of developers 'working together' in the meeting room next to the one where I was hiding to get my work done.

By 'working together' in a meeting room; I do not mean the regular five minute standup. I also do not mean the famously stupid three hour meeting. These guys were in an insanely fu@#ked up self-organized meeting; eight hours a day; five days a week conducted under the name of 'working together'.

In this eight hour meeting; multiple things ranging from favorite movies of individuals; to what a variable should be called; could be brought up and discussed at length. Somewhere in the middle when when people were tired of discussions and wanted to take a break; the talking stopped. That is when people tried to write some code.

Of-course this was not a real meeting.

These were a bunch of developers taking the initiative of 'working together' --- so everyone actually liked it and encouraged it.

Of all the discussions that happened; one of the discussion that was brought up every now and then was why their project was slow and how it could be speeded up.

Shut the F@#k up and do some work.

To be honest; and candid; any computer science graduate; fresh out of college would have told him why their project was slow and what they could do to speed it up.

What they had to do to speed it up was something rather simple.

They had to --- shut the f@#ck up and work.

Coming from someone like me; who encourages flocking and a strong bonding in a team; asking developers; who sit in the same room and work; to shut up; go to their cubicles and work in their own cubical might sound like contradictory statement; but it is not.

As developers every single one of us needs two fundamental things from our work environments. On one hand we have a strong urge to 'belong'. Put simply this is what Seth Godin describes as building tribes. On the other hand however; what we also need as developers is quite time where we think; reflect; exercise our brains and try to solve really complicated problems by simplifying them.

If you are building a genuinely remarkable work play environment; it is your responsibility to provide your team both of these. Taking your team out to lunch; project dinners; and having x-boxes in offices is important. I have even gone ahead and suggested the nine-ten rule.

Having said that what is also important is that your team members get quite working environments and are mature enough to realize that while parties; games; chats in cafeteria; brainstorming sessions and whiteboard sessions are important; at times it is also important to shut the f@#k up and do some work alone.

Now; stop the chit-chat; go to your cabin; try to focus in a quite environment and do some real work.


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Friday, August 21, 2009 10:39:21 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, August 21, 2009 by Rajiv Popat

Avoiding The Perils Of Demo Driven Development.

It All Begins With A Demo Or A Road Show

'We have an application that does not do much and we have a marketing road show lined up next month. We need to build a few new features quickly.' --- The Vice President of marketing at a fairly famous multi-functional scanner company; which for the purposes of this post shall be called Multiplitaxion Inc; tells us.

When the messages reaches me; my ears perk up.

I can clearly hear and sense the direction of our project changing abruptly and suddenly because someone from marketing pointed in a different direction for the fifth time.

I suddenly become attentive --- in a meeting where I would have otherwise dozed off.

The Negotiation.

You have mastered the art of saying no. With your amazing story-telling and articulate explanations you convince the vice-president that all your team can build till the road-show; is a prototype.

What you mean; when you say all your team can build is a 'prototype'; is that your team needs is a license to build crap that they will neither have to build-on-top-of; nor support in future.

Something that gets thrown away after the demo.

What your vice-president-of-marketing means; when he says you can build a 'prototype'; is that he needs a version-1 of a fully functional product which he can show to potential customers.

Something that gets sold after the demo.

Marketing demos or road-shows alter and change your product backlogs all the time.

Marketing demos or road-shows change priorities all the time.

Marketing demos or road-shows result in creation or 'prototypes' that will be 'thrown after later' all the time.

And there is nothing wrong with that --- till the time you, your team and your organization does not start indulging in what I like to call --- 'Demo Driven Development'.

Demo Driven Development

Every time you are about to do on a product demo or a road show and flaunt your product you will be faced with strong temptations to add new features that might woo your potential customers in the next demo or product road show.

When your vice president of marketing tells you that you have a demo or a road-show coming and that you need to build something really 'quickly' what he is tell you can translate into one or more of the following:

  1. We are now going to move to deadline-driven-development.
  2. Sky is going to start falling and things are going to get ugly.
  3. The famous negotiations between marketing and development teams are going to now begin.

Usually; dear reader; it translates into all three.

The next time your vice president of marketing comes up a set of features that you absolutely must have during the demo; exercise your very own personal judgment and ask yourself if the feature is worth building before you try to 'squeeze-it' into the product backlog.

When you say 'yes' to building something; you accept the responsibility of supporting it for a very long time. We have all seen requests to add features or requests to change things on a prototype that was built to prove a point in a demo and was supposed to be thrown away later.

We have all seen these prototypes snowball into version-1 products and then a three year project needing a lot of fire-fighting.

Remember; you do not 'have to' have every single feature your competition is going to demonstrate in a road-show. There is nothing wrong with going to a demo or a road-show with product that is crappy and incomplete.

If your product is built on a strong idea; if it is genuinely remarkable and if your story-telling is genuinely good; your customers will connect to your organization and flock to product; even if your product has elements of crapiness or incompleteness attached to it.

Don't let 'Demo Driven Development' become the development methodology for your next product; dear reader.

I wish you good luck.

posted on Friday, August 21, 2009 3:17:42 AM UTC by Rajiv Popat  #    Comments [0]
Posted on: Tuesday, August 18, 2009 by Rajiv Popat

Random Thoughts On Builders At Work - Part 6.

The Lame Whiners Programming Universe

The Lame Whiner; who for the purposes of this post we shall refer to as Fred; is at my desk wondering if Multiplitaxion Inc, has signed up any new short term consultancy projects or will be signing up any new ones in the recent future.

I cringe.

Watching Fred at my desk means that he is going to spend a good half hour talking about why Multiplitaxion Inc, should sign up new short-term consultancy projects. Then he is going to cry like a baby.

He is going to cry like his career; his life and his universe depends on Multiplitaxion Inc, signing up new projects.

He equates new and more short-term-consulting projects to 'growth' and wants to work on something 'billable'.

Putting Fred on a research project doesn't make him happy.

The very words --- 'on the bench' makes him feel insure.

Working on an awesome product and giving long term commitment to it makes him feel nervous.

Long story short; he is not happy --- and he is out to spread the viral-dissatisfaction to anyone who has time to listen to him whining.

The lame whiner looks up to his organization, his client, his colleges and everyone else to make dents in his very own personal little programming universe.

He lacks participation; but seeks opportunity on a golden platter; nicely laid out  --- just for him.

The Problem With Whining About Your 'Circumstances'

Hidden deep down in the archives of Joel Spolsky is a discussion where Joel nails the essence of whining about every little 'excuse' for not making a dent in the universe. Joel talks about the problem with whining; finding lame excuses for your being a mediocre-replaceable-developer and then quitting. While answering one such question about quitting he explains:

Although the tech industry is not immune, programming jobs are not really being impacted. Yes, there are fewer openings, but there are still openings (see my job board for evidence). I still haven't met a great programmer who doesn't have a job. I still can't fill all the openings at my company.

Our pay is great. There's no other career except Wall Street that regularly pays kids $75,000 right out of school, and where so many people make six figures salaries for long careers with just a bachelors degree. There's no other career where you come to work every day and get to invent, design, and engineer the way the future will work.

Despite the occasional idiot bosses and workplaces that forbid you from putting up dilbert cartoons on your cubicle walls, there's no other industry where workers are treated so well. Jesus you're spoiled, people. Do you know how many people in America go to jobs where you need permission to go to the bathroom?

Stop the whining, already. Programming is a fantastic career. Most programmers would love to do it even if they didn't get paid. How many people get to do what they love and get paid for it? 2%? 5%?

If you read between the lines; it is not difficult to understand that what Joel is doing here is giving tough-love to his fellow programmers; and nudging them on the side of righteousness.

It is easy to whine about your organization; your manager; outsourcing; recession; or stupidity that surrounds our industry in general and blame one or more of these external factors for your inability to build anything interesting.

It is easy. It is convenient; and if you get your whining-act right; you can even get away with it.

However; there is just one little problem --- it is your first step at becoming what we officially call a --- whiner.

Time To Look At The Mirror

The next time you whine about not being on a billable project or not having enough work to do; get up and go for a walk to a rest-room or any place that has a mirror; once there; look at the mirror really hard.

Staring right at you will be the person responsible for your inability to build or get involved with something genuinely interesting.

If you are genuinely dependent on your organization for giving you quality work --- and are lost when it does not; you are just one of the flock of sheep waiting to be herd.

Have you seen whiners getting lost, confused, scared and not know what to work on when they are on the bench for just a couple of weeks?

Have you witnessed whiners seeking 'opportunities' out of their projects, organization or managers and when then citing that as an excuse for not building anything; when they do not get their dream jobs, dream projects and dream managers?

Have you ever arrived at office; morning after morning; only to see Fred whining at your desk; telling you long winded stories about how his organization is hindering his progress?

Have you ever wondered why Fred doesn't leave and go find a better organization?

How many unhappy whiners surround you; dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Tuesday, August 18, 2009 8:30:24 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, August 14, 2009 by Rajiv Popat

Random Thoughts On Builders At Work - Part 5.

Builders Lead By Building. Not Managing.

Early on in my days as a young and budding developer at Multiplitaxion Inc; I heard a very mature individual talk about the philosophy of basketball and how that wisdom maps to software development teams.

His observation about the game was rather interesting:

When you are playing with a team size of five you need every player to score.

I've always advised young and budding managers roll their sleeves and continue writing some code. Scoring constant goals yourself is your only chance at keeping a team of genuine builders motivated and gently nudging everyone in your team to score too.

I've observed countless builders and story-tellers around the world and in all these years of observing them I am yet to find one genuine builder or story-teller who doesn't roll his sleeve and gets down to some real work himself.

Having said that; I continue to be amazed and surprised at how difficult most organizations make it for a builder; with just a few years experience; to continue remaining a genuine builder. James McGovern in his post on this topic; explains the issue rather articulately:

Being an architect in a large enterprise, the biggest challenge for most architects is in staying technical and grounded in reality. It is way too easy to become a buzzword parrot where one spends more time thinking of cool phrases that otherwise have empty meaning over focusing on producing credible architectures with integrity. I find it fascinating that we talk about business/IT alignment, cost reduction and other reasonable practices yet no one is asking the more difficult questions.

How can a business be successful in the use of technology if the vast majority of team members especially within IT don't understand it? I bet you work with teams that have one technical person, in the midst of various managers and other “developers” (usually off-shore) and find that one technical person does a majority of the work, takes the blame for the failures (of himself and/or others), yet is rarely credited for success. How come competent developers put up with nonsense and continue to take the rapings?

Should developers challenge their managers to look at their shiny, gold plated project plans that adhere to CMMI level 13, ITIL, Agile, garbage 2.0 and other worst practices and find a single item that someone else could take more than 10% credit for? At the end of the day, the vast majority of projects either still succeed or fail based on heroics. Sadly, we have realized that heroics are not the way an organization should be run, so instead of working on repeatable, sustainable practices for software development, we have morphed into repeatable, sustainable ways of doing perception management and throwing developers under the bus.

James ends his post with an interesting note:

I am proud to say that none of my reviews in the last ten years have ever had a single negative comment regarding my ability to deliver high quality work, in a timely manner and within budget. Much of the feedback is based on perception management.

The thing I think about almost daily is how I can live up to a  high standard not because of just personal motivation but because others are watching. This is the essence of leadership.

I don't want to be a manager nor should others be forced to report to one.

Early on in my career at Multiplitaxion Inc we ended up with a situation that was not planned. It was completely co-incidental; but then; having said that; the happening of the situation resulted in an observation that taught me the deep dark secret of management.

Smack in the middle of multiple projects; Multiplitaxion Inc; realized that a few of its managers were not working out well and got rid of them. Panic stuck and other managers; left on their own. In about three months since the firings happened; Multiplitaxion Inc; was a 'zero manager' company.

When I say 'zero-manager' I mean literally a zero-manager company. There was no-one in office who had a business card with the word 'manager' on it --- except one Quality Assurance Manager who was an amazing guy doing some serious hands-on testing himself. Given his way of leading a team; he had recently been promoted to the designation of a manager. People; including his own team; hardly knew the fact that his business card included the word 'manager'.

Other than this Quality-Assurance-Manager of ours; who continued to be a very technical-hands-on manager; developers at Multiplitaxion Inc, woke up one fine morning and literally discovered that all their 'managers' were gone. Just like that.

Any guesses on what happened when they realized that they suddenly had no managers?

The answer is what each one of us; as programmers; developers; builders or story tellers know deep down inside; but are too afraid to discuss or even say it out loud --- what happened is that the developers became much more effective and productive at what they were doing.

Things; dear reader; started getting done.

Am I saying that you go on a firing spree and fire all managers in your organization?

Of-course not.

Having said that; if you; dear reader; are a manager; try to see to it that when folks walk into your office wanting to discuss a problem; your monitor has a code-window open and not a Microsoft Project Plan.

If you want to lead a team of builder; you'll have to stand of the front lines of the battle march.

You can only motivate a team of genuine builders by building stuff and scoring goals --- consistently.

Remember; Builders lead by inspiring others to build stuff; not by managing them; and the easiest way to inspire others to build stuff is to build remarkable stuff yourself.

Now; dear manager; close that project plan of yours; open the integrated-development-environment and start talking the language the rest of the builders and story-tellers in your organization are talking.

I wish you good luck.

Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Friday, August 14, 2009 10:50:03 PM UTC by Rajiv Popat  #    Comments [2]
Posted on: Thursday, August 13, 2009 by Rajiv Popat

Random Thoughts On Builders At Work - Part 4.

Builders Fail --- All The Time.

"Let us talk about any one task or project which you consider to be your biggest failure" --- I ask a veteran programmer who; for the purposes of this post; we shall refer to as Fred.

Fred stares at me with questioning eyes wide open; as if I just asked him the famous-inappropriate-are-you-a-virgin-question.

Throughout the interview Fred takes great pride and speaks at length when asked to discuss his success stories but but behaves like he has been put on spot and asked things he cannot answer when asked about his failures.

After taking over a few hundred interviews and observing countless genuine builders at work if there one thing I have learnt about genuine builders who make small or big dents in our universe; it is that they  --- fail.

They fail all the time.

Genuine builders do not think of themselves as seriously kick-ass-rock-stars who can churn out zero defect code every time they are asked to. Most genuine builders indulge in decent amount of soul-searching; and have some a decent level of self loathing for themselves.

Most genuine builders aren't ashamed to openly discuss; analyze and learn from their failures.

If there is one video that describes the idea of flaunting your failures openly with class and glamour; it is the Nike-Commercial on Failure:

"I've missed more than 9,000 shots in my career. I've lost almost 300 games. 26 times I've been trusted to take the game winning shot and missed. I've failed over and over and over again in my life. And that is why I succeed." - Michael Jordan

If you haven't clicked on the link of the video you should.

As 'grown-ups' our fear of failure and the tendency to see it as a negative experience comes from the sheepish desire of being 'safe' and mediocre.

Michael Hunter; takes the remarkable lesser walked path. He nudges professionals around the world and encourages them to fail early and fail often. He explains:

If you're lucky, however, your family encourages you to fail early and often. If you're really lucky your teachers do as well. It takes a lot of courage to fight against this, but the rewards are great. Learning doesn't happen from failure itself but rather from analyzing the failure, making a change, and then trying again.

Over time this gives you a deep understanding of the problem domain (be that programming or combining colors or whatever) - you are learning.

Exercising your brain is good in its own right ("That which is not exercised atrophies", my trainer likes to say), plus this knowledge improves your chances at functioning successfully in new situations.

Has it been a very long time since you last failed?

If you answered that question with a 'yes' --- you need to find a problem bigger than what you are currently working on.

Get out of the boring territory of 'safe' --- fail like a child and learn like one; dear reader.

I wish you good luck.

Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Thursday, August 13, 2009 9:53:38 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Tuesday, August 11, 2009 by Rajiv Popat

Building Remarkable Work And Play Environments - Part 10.

Let's Empower Teams To Have Fun.

During our early days at Multiplitaxion Inc some of us got a little excited about our work-culture and thought of taking it to the next level by introducing a little bit of a 'Google effect' to our very own work environment.

We tried to strive for an independent 'budget' that could be allocated to each project manger to use as he sees fit. Like all beautiful ideas, the concept was simple, pure and clean at it's very core. Every month, team leaders would get a certain budget which they could use to boost the morale of their team in whatever way they see fit.

Ways in which you could use it could include:

  1. Buying gifts for top performers and genuine rock-star builders.
  2. Organizing project parties.
  3. Buying a X-Box for the team so that they could kick some alien-ass if they were tired of coding.

I could probably go on with that list forever but I am hoping; dear reader; that you get the general idea.

Assuming that Multiplitaxion Inc, was made up multiple Multiplitaxion Inc's that happened to be successful, we thought we aught to give some empowerment to the teams and see how they end up finding innovative ways of maximizing fun with a limited budget. This was an idea that would let us do just that.

The idea would also allow us to see how teams of genuine builders like to have fun; instead of taking them to a party and then 'hoping' that they enjoyed themselves when the dinner was over.

Lets Shit-Can The Shitty Empowerment Idea.

So a bunch of young and budding managers; me included; conceived the whole idea of this independent; 'fun-budget'. Three weeks later; we were sorry we had anything to do with the idea.

We were rotting in meeting hell and attending one meeting after another where we were answering what the basic idea of this 'fun-budget' was; what the scope of the budget was; what were the kind of expenses it was supposed to cover and what were the kind of expenses it was not supposed to cover.

After three months of conversations; the idea was finally approved.

Here are the specifics of the approval --- As managers each one of us were now allocated with three-dollars-per-team-member-per-month with which we were free to increase the team morale and make the environment (and the world) a better place to live in.

If you still did not get the ironic-humor in this; dear reader; allow me to explain. What this effectively meant was that if you had a team of five developers you had a full fifteen dollars a month to treat them, give them iPods, T-Shirts, organize project parities for them or even get your team a common X-Box.

None of us talked about the 'budget' after that day.

The budget that was allocated to us was never used and we decided to shit-can the idea.

Fun Is Serious Stuff --- And It Is Not Cheap Either.

The awesome part about being in a kickass team is that you do not need a lot of organizational funding to build great relationships with team members. Leave a kickass team of genuine builders and story tellers alone and they will attract other builders and story tellers.

Get enough insane trouble makers or rule breakers in your team and they will find out ways to have fun --- with or without the organization's involvement.

The interesting thing about hiring intelligent people is that even if they are not very articulate and expressive about what they see, observe and realize most of them understand the organization at a level that is much deeper than their managers even think they understand. So when the once hyped up morale budget was shit-canned by us; no-one in the team talked about it.

Everyone understood.

We just decided to forget it almost like failed childhood ambition.

Even though we lacked words to explain what had gone wrong with the overall idea; everyone in the  team; including the junior most engineer who knew about the idea; understood exactly what had gone wrong with the idea.

What this incident really did was teach me the level of importance most organizations out there give to the idea of 'fun' in the work environment. Some of the best organizations out there might spend hours talking about the idea of creating 'fun-filled' environments but talk about expenses associated with 'fun' and chances are that you might hear the sound of crickets chirping.

Fun Is Not Very Expensive Either - The Nine Ten Rule.

"So Pops; are you by any chance suggesting that we spend millions creating a fun work environment" - you frown.

What I really learnt from the whole 'fun-budget-episode' at Multiplitaxion Inc, was that there is a price associated with creating remarkable fun filled environments. It does not come cheap.

Having said that is it not the Hollywood-Dream that most organizations discard as unachievable.

To prove my point; dear reader; allow me to propose the Nine-Ten-Rule.

If you own an organization; or are responsible for budgeting; might I suggest that for every ten employees that you need:

  1. Don't hire the tenth employee; just hire nine.
  2. Take the average salary of the nine employees; consider it the salary of the tenth employee and add that to your overall 'fun' budget.
  3. Allow the team of nine to decide what they want to do with this budget.

It's not exactly the programmers bill of rights but it's a good start.

Sometimes; Nine Is Much Better Then Ten.

Happy builders; build more and if you have spent enough time and energy at hiring the right people for the right job; chances are that with the fun element thrown in; your team of nine; will be much more productive than a team of ten mediocre programmers.

I don't know about you; dear reader; but I would rather have nine really happy tribe members over ten unsatisfied grumbling disconnected average employees.

At Multiplitaxion Inc; we were a closely knit team; having fun; meeting on weekends; going out together; but the passionate idea of adding fun to the overall 'organizational' environment was just not there.

With three-dollars-per-employee-per-month; we had seen; first hand; how seriously Multiplitaxion Inc; took the idea of 'fun' --- and having seen that first hand --- when it came to having fun at an 'organizational' level --- we hibernated.

The soul of this entire post; dear reader; if squeezed in a couple of lines; would come to this --- Two roads diverged in the yellow woods; and given the choice between a mediocre work environment of ten average employees and a seriously kickass fun filled environment of nine tribe members; Multiplitaxion Inc, walked the easy-safe and boring first path.

Which path has your organization taken?

Do you think your organization is 'man enough' to adapt the nine-ten-rule?

How seriously; does your organization take the idea of 'fun'; dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Tuesday, August 11, 2009 9:35:29 PM UTC by Rajiv Popat  #    Comments [1]