The Upside-Down Industry

| | Comments (0) | TrackBacks (0)

There is a plague that is enveloping IT, and has for many years now, fed, in part by the .COM boom. It affects every project, and every firm that I have dealt with. The industry has it’s paradigm upside down, and whether this is because the IT industry suffers from some inferiority complex or it’s just been taught that this is how you do business, it’s going to continue to sink projects and destroy firms unless something changes. The plague is the fact that companies let their customers run their projects and make IT decisions, even if the customers are not informed or educated about IT. We let the customer make decisions about coding standards, features to add, delivery dates, layout, etc.

I understand that the customer has to have some input. They have to be happy with the final product. It’s not the fault of the customer. The more control they can have, the more they’ll take, and that’s natural. It’s the fault of the IT industry. They have to learn how to say “No”. No. It’s a powerful word. It stands on its own, and it makes a statement. It says that the customer’s demands are unreasonable.

An honest mechanic wouldn’t sit by and agree to do the work when the customer came in for an oil change and said “Replace the muffler, change the spark plugs, and I want the car to be green now. And I have this coupon.”

An honest mechanic wouldn’t sit by and agree to do the work when the customer came in for an oil change and said “Replace the muffler, change the spark plugs, and I want the car to be green now. And I have this coupon.” The mechanic would say “No” and list the reasons why. An architect would not sit by if a customer came to them and said, “I want you to use concrete here at the base, and glass over here, cover this with plaster and use tile for the roof”. The architect would say “No”. A surgeon would not follow orders if the patient said, “Remove my gall bladder while you’re down there sucking out my fat. I already have one bladder, I shouldn’t need a second!” The surgeon would say “No” and give reasons.

Nevertheless, the IT industry is afraid to. A customer comes in and says “I want my application to talk to this database and read these files, it has be usable on this 333mhz Pentium, render this map in stunning 3D, automatically update according to the whims of Andalusian Goat Herders, and since we’re maintaining it, I’d like you to do it in PowerBuilder.” Excuse me? No. What you want is unreasonable, and I can do it, but I’m not going to throw out a figure and I can guarantee that for the requirements you just listed the figure I give you will not be to your liking.

Saying No is a Good Thing:
We’re trained professionals and we should educate the customer if they so desire, or at a minimum educate them that they are making poor decisions. Furthermore, we should be willing to make a stand when something is unreasonable.

Clients will make demands that while reasonable to them, are unreasonable to perform. A client would indeed prefer to get everything they’ve ever wanted IT wise for free, and without the maintenance headaches. Clients always want to have it their way, but folks, this isn’t Burger King.

Extreme Programming, as well as other methodologies has shown us repeatedly, and we should all instinctively know and understand that there are four metrics for any structured project:

  • Time
  • Scope
  • Money
  • Quality

Quality is to remain fixed while the others fluctuate. Scope goes down and so can money and time. Scope goes up and so will money and time, and so on. However, what ends up happening is the client gets to set the scope. They get to set the deadline, the only thing they have no control over is the money, and they still try to barter that down. What ends up happening is that quality does suffer, which ends up hurting everyone from the client down to the developer. This happens because no one is willing to say ‘No’.

Clients will make demands that while reasonable to them, are unreasonable to perform...Clients always want to have it their way, but folks, this isn’t Burger King.

Not Everyone Is A Programmer:
Many smaller businesses, the meat and potatoes of the IT Industry, and the economy in general do not have their own IT people internally. The closest they have is Bob, from Accounting, who did some Access VBA programming 6 months ago to build some little applications to help during inventory; or you have the owner’s nephew who builds web pages after school and dabbles in Flash. Now the client is ready to move on to a more professionally built application that will take them to the next level, and they want do everything in their power to make sure that when the time comes, Bob, from accounting, can maintain the application. This is a lose-lose for everyone. Instead of the application being built in the best fashion possible, with the best possible tools, and in the best manner, it’s been spindled and mutilated so Bob can do another job in addition to his normal one. Beyond that, who knows what standards Bob used when he created his application, but everything’s being done to his comfort-level.

The fact of the matter is that even though maintenance is not a fun time, it’s a valuable resource for you as an IT professional, and it’s good for the client. Instead of the client having to spend time and additional resources trying to extend their application they can continue to guide the evolution of their tools with the original maker. It’s a source of renewable income. Welcome the chance to do maintenance. Moreover, say No to the client when they want everything tailored to Bob the accountant.

Your Buddy the Client:
I’ve heard this a thousand times. Clients are worried that once you build an application for them you’re going to go out and start building applications for all of their competitors. This at the same time that they’re offering services and products and routinely going after their competitors customers. It’s a double standard, and it’s a silly one.

IT is no silver bullet. Having your IT resources all stitched up and nicely done will get you further in the business world, but it’s no substitute for hard, honest work, taking care of the customer, and providing unique and innovative products.

You need to make money, and money is not made in being the customer’s buddy. It’s made in reusable libraries. It’s made in taking those components you’ve built and spreading them across many customers. If you’re partnering up with many customers just to give them the warm fuzzies, you’ve spelled your own doom.

That isn’t to say that you shouldn’t have a relationship with your customer, only that this isn’t high school and you shouldn’t be going steady.

Every Decision Has A Cost:
IT Professionals need to know the cost of each decision they’re making, as well as the limitations of each language, platform, and development environment.

Many times a company will ask their employees to make decisions, to make choices that are bad for the project, bad for the client, and ultimately bad for the employee as well. It takes courage to say ‘No’, and it can be risky, but it should be a requirement.

IT Companies live in fear that if they don’t jump on an opportunity, or take a bid, regardless of the consequences, they will lose out to another company that will take that opportunity. Therefore, they take on risks they shouldn’t have, and those risks get pushed downwards to the project managers, who them push the risks further down onto the developers. One single act of acquiescence on the part of the company has stiffed many people. Someone needs to be willing to say no.

Not Every Challenge Is Worth Taking:
IT people have a strong competitive edge. A client asks for something, and even if it’s not a good request, or even more importantly what’s best for the client, and still companies give. Part of that comes from IT people thinking “I know it’s not a good idea to do that, but I’m sure there’s a way to do that!” An IT person doesn’t want to say “No” from fear of appearing incapable, or weak.

Nevertheless, that does not escape the fact that R&D work does not belong on the client’s dime, unless the client has SPECIFICALLY requested it to be so. All of your clients should foot R&D costs. You and your company build something and then charge each customer that you have for your innovation. Just because you feel challenged to display 3-D graphics on a cellphone doesn’t mean you should run out and do it on the client’s dime.

So What's the Solution?
I don't know at this point what the solution is. I've turned this over in my own mind for a while, and there isn't a single decent answer to fix all of these problems. We, as an industry, have to understand the power of 'No' and be willing to use it. I know that that seems all the harder to say in these times of work being sent off-shore, and the rough market for IT workers, but it has to happen.

There is a disconnect between the clients and the producers, and a disconnect between what they think is achievable and what is reasonable. Sometimes a client's vision of reasonable far exceeds what is possible. In both of these cases, only communication can bridge the gap for the client.

And even though I question the reasoning behind wanting to be the client's buddy, I think that if we're willing to be firm and communicate with the client, it is more likely that they will want to develop a strategic relationship with us, which is definitely a good thing.

0 TrackBacks

Listed below are links to blogs that reference this entry: The Upside-Down Industry.

TrackBack URL for this entry: http://www.mauricereeves.com/cgi-bin/mt/mt-tb.cgi/148

Leave a comment

Pages

Powered by Movable Type 4.21-en

About this Entry

This page contains a single entry by Mo published on January 19, 2004 1:29 AM.

Today's Vital Statistics was the previous entry in this blog.

Love It is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.