Peet Brits

Hmm, but that doesn't make any sense…

Your company’s most value resource

Posted by Peet Brits on August 9, 2008


[Article related to the IT industry]

What is an IT company’s most valuable resource?

There are a few vitally important resources to the world of Information Technology (IT). One of the major runner-ups is marketing. What people see when they work with a computer program is usually only the tip of the iceberg, so they need big-mouthed talkers to make people realise that this specific product is going to fulfil all their needs.

In my opinion, the most valuable resource is, in fact, the developers. Not just the product the company is selling, not just the code these developers are writing, but the actual people doing the job. The reason why I say these human resources are more important than anything else, even the product, is because these human resources makes the product what it is, whether that means designing a wonderful system, or destroying it into an unmanageable pile of rubbish.

Yes, with enough resources you could make almost anything “work”, but unless you have some smart thinkers involved it will not leave much for efficient future business. I have personally seen what terrible state a product can become if left in the hands of the wrong people.

Managers, please listen to the opinion of your well-prised developers!

You might argue that I am only making this point because I am myself a developer in the IT industry, but I am saying this because I have seen the efficiency of well thought out products, but also the huge amount of time and other resources (including money) wasted on products that were just done to make it work, without the least bit of though on what the future might hold. This is why good managers are also critical, a topic which I will touch in a moment.

So, how does it work?

Here is a very simple example to compare against. When constructing a house, one would make use of architects, builders and inspectors. The architects, having the most experience, set forth a detailed design on what the building should look like. The next step is to gather the builders, who are the dumb manual labourers usually contracted out to a manager/director. There are a lot of builders, but only a few architects. Inspectors should be involved with both of these.

In the world of IT things are a little different. The people responsible for the design are usually also responsible for writing the code for their designs. More advanced developers get assigned to more advanced problems, but even the less experienced ones are required to at least think about what they do before they do it. Rephrasing, developers are almost always in charge of getting their own development done.

This is, once again, why good managers are needed. They need to differentiate between real diamonds and shiny stones. Unfortunately, it would seem like 80% of the developers are simply vocational; they only care about doing just enough to get things to work so that they can go home and enjoy the weekend. (I am not motivating working overtime, I am just pointing out how little care and pride a lot of people take in their jobs).

With this I am not saying that one should avoid these people, but a manager should be aware of this when assigning projects and responsibilities, and also realise when to quit defending and demand better. Sometimes it is even possible that these people’s true talent really lies somewhere else altogether. Here it usually helps to have at least one project manager with some actual coding experience.

What about the inspectors?

At this point most would think that the QC (or QA; test) team fulfil the inspector’s job, but I beg to differ! Due to the almost hidden nature of development I do not think it is even possible to properly inspect all the elements of a program. The job of QC is to run tests on the products, both functional and performance driven, in order to find possible problems.

To me this process is like running over a mountain with a hand drill trying to find underground caves. More advanced tests use bigger drills. With well written programs you have a better idea where to start drilling. The point is that people forget that product testing only show the presence of bugs, not their absence.

Another reason why the product testing phase falls short is that usually the less experienced people are dumped in the test team, and since deadlines are usually late, the amount of time used for testing is far less than actually required.

Leverage

The basic principle of leverage is to use 5% of a hundred people’s effort rather than 100% of one person’s effort. It sounds very idyllic, but the problem is that you first need to judge the state of the target market.

It might be partially applied, but in the world of IT I cannot see this principle working as much as intended. Like they say, one chef makes a feast, but two makes a mess. (I forgot the exact wording). Due to the nature of computer software, every developer of a specific product needs to follow a proper set of guidelines to prevent every one heading off in their own direction with their own little ideas. As a part these ideas might be good, but as whole it has the potential of disrupting the harmony of a lot of other things.

Personally, I would rather be surrounded by a small group of experts than an army of fools.

One final remark on managers

Even though I currently think developers are more important than managers, as a smart group of developers can function without a manager, I do hope I did not give the impression that managers are less important than what they truly are.

Although they do not create or design the product, they have the authority to make things happen, combined with the “eagle’s eye” view to evaluate current situations while still keeping the past and future in mind. They use this to steer the group in the right direction, assuming their ideas does not get overruled by a higher authority. A lot of times it is also their job to recruit new or lay down existing developers, or to give counter offers and kill fires when things get out of hands.

It is so easy to get tangled up into all the problems and drawbacks of the moment. Good managers should be able place themselves above the situation, sit back, relax, and think.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: