The most exciting thing about this world is its ever changing quality.

Thursday, December 25, 2008

What does it take to make a good product

Somehow I doubt that I am qualified enough to nag about this subject, but I am trying anyway. There are so many things which could make you go busted, probably as much as the number of microbes on your mattress... Sorry, too much Bill Bryson recently. So, is it really that difficult to get a good product out? 

So, what does it take to make a good product then? On top of my head, a visionary leader who not afraid of getting hands dirty, a supportive and united team with minimum bullshit, no message passengers (hell no! I have no reservation in expressing my anger against message passengers in a developing organisation), efficient infra-structure, coherent strategy and mission. These are what I call big tick boxes - at the company level. Other than this, quality of people would be the utmost one I would vote for. A team who has departed on a journey to produce a good product to satisfy its target market would require people have qualities like tenacity, persistency, sense of humor, bit of luck, after all.

Often a product development starts from either an improvement suggestion, a damn good idea to make life easier, or a brand-new innovative concept. However, it only gets harder, while better. To execute a development plan, to turn an idea into real, profitable product, that's where I believe most of great people with brilliant minds failed. Being a smart ass really won't do anyone any good in this process since the stone will be washed out of the gold one way or another. So, the key word I believe here is execution, knowing how to make things happen or in a popular term, get things done, is an arts. Technical elements will also be approved to be less important. Bite me!

Firstly, you need to get good people onboard, secondly you need to help good people shine, thirdly, do your gardening work - weeding.

Sunday, December 14, 2008

How to motivate a team

If we don't scrutinize it, we might not be aware at all of the importance of morale. It is so easy to forget, or simply choose to ignore. Unfortunately, as a team leader or manager, to realise the importance of morale, to quantify the difference it will be produced from a highly motivated team in terms of development deliverables, is absolutely necessary.

What you would find out from some motivation speech is thing such as "attitude = 100" (count a=1, b=2 etc, plus them together you will get 100, sorry I know this is a bit cheesy :)). They are not wrong! But this is not what I am interested. I want to find out how to quantify this effect.

So, what would happen if morale is changed? Efficiency, communication, motivation etc. These aren't measurable. What are things will be affected and can be put on pretty graph?

  • Quantity of Deliverables in code, sensible notes, tests, documentation, parts, drawings ...
  • Quality of Deliverables in design, code, test, documentation (write a blog when you are happy and do another one you are messed up, you'll see what I mean.)
  • Satisfactory level. Most of the organisations ignore the other possibility that some engineers always deliver good quality work on time, however, they aren't happy. Of course you would argue as long as you got the result investors were looking for, who give a damn about one's happy or not - mature people know how to deal with it themselves. Unfortunately, the whole industry has soon realised that at the end of day, people, is all that matters. If people can't feel satisfied in they daily jobs, most important hours of an average day, you might as well just let them go, or most usually, they choose to move on.
This is blog is really trying to talk about how to motivate a team. You have to bear with me - I have this habit of wasting large part of a chapter in perusing the background, history orreasonings to things I really was planning to talk about...

Motivate a team is significantly different to motivating a person. Motivating a team means you have consider the dynamics within the team and how they would develop and affect each other. For instance, if you are trying to motivate a person you can help him to realise that he has the unique capability or potential to compete in a resource constraint environment; however, you can't possibly simply adopt similar approach to motivate a team - that way you would unintentionally cause conflicts and negative competitions.

To motivate a team, you need to understand the team goal and team development path, team skill set, team ambition, team structure, team morale. You need to help the team realise the common goal and develop the skill set, structure, tailor team ambition in a realistic and challenging way. To motivate a team is also to establish the right incentive scheme to encourage the practice which would help the team achieve its goal, to find out the strength and weakness hence development opportunities for each individual, resolve conflicts and encourage constructive competition and avoid unnecessary frictions or distractions.

There are certain subtly in achieving balance between coherence in the team and personal development. Imagine you inject a great deal of heat into a chemical element and you will find that more likely the instability of this element will increase. Similarly, the way you can motivate each individual is inherently different. Naturally these directions won't be the same hence the sum of those effects will not necessarily do the team any good.

Sunday, December 07, 2008

Reactive management

I could not remember how many times in my career life someone tells me that patience is a beauty or similar kinda crap (mind my language). I have my reasons... On the other hand, you always have people who really good at reacting.

Here is what I found out on on Friday afternoon in the building. Because of the economy, Xmas everything, things appear to wind down a lot. What is interesting to me is that if you watch closer you will see most of people, esp. those who do not really have a written down process to define every second of their daily behavior, lost their clues of what to do. ALARM!

If within a business, people do not know what they should be doing even there are road maps, meetings, corridor chats happening all the time. What went wrong? It will make more sense if we sit back and chew it a bit longer. The obvious difference leads me to remind myself of what they were like before - frenetic, absolutely frenetic! 

A normal day of their working will normally start with a few of customer complaining emails or phone calls, which will by default change their priorities either because to get a battle won will just make things look good or just because to think, plan, pre-empt about what to do is so much a hard-thinking work to do, and hey, we are all lazy nerds.  

Now we have work to do, actually, most of the time we do not really know how and what it takes to resolve these hot potatoes for dear customers, we start to raise our eyeballs and look for easy targets, internally - either to shift work with an as angry as the tone we received, or simply kick off the email war. Maybe in the end, after some stupid parties - normally will be the not much outgoing engineers - pick up the shit and sort things out, they step up to release the good news to everyone in a more or less exaggerated manner.

At the end of the day, on the way driving home, we have totally convinced ourselves that what a good day it has been - some fires have been put off by us.

Sounds familiar?

Sorry that I have been extremely sarcastic, not intentionally, as I can assure you. The point I want to make here is the situation created from reactive management.
As being said already, to estimate, plan B, pre-empt, work out risk management actions, foresee what is coming, stop issues from happening, sensible negotiation and decision making, all of these are difficult. This leaves us an easiest option - reaction. We do not need to worry about triggers; we do not worry about reasons; we do not worry about cost and consequence of resolution; we do not worry about knock-on effects. We just do it. Some people even claim that this is on the same philosophy ground as GTD (get things done). (In fact, every time if someone really tries to piss me off, he will say this.) Let's just say our species are born with a talent of finding a way out.
Anyhow, anyway, the damage of reactive management not only will cause huge managerial panic tornado easily, but also will destruct the possibility of stopping what is happening appearing again in the near future. Most dangerously, if people have already trained themselves in this mindset of reactive working habits, you will see more and more headless chicken, no matter there is a panic situation or not.

Quick turnaround time again, could be lying to us when we do not have a clear idea about what we are really dealing with - is it this defect itself, or is it something else? What I would recommend here is to give it a go with five why practice.