brain dust

The Absolute.

Thursday, March 16, 2006

What type of Software Shop Are You In?

I work at a software services company. We generally provide solutions to clients through software where the deliver mechanism is varied (Web, telephony, fax, so on). I am a Sr. Engineer and I am in charge of the Web Delivery mechanism, which we do a lot of. Over the past year I have written several "Framework" types of applicaitons and setups that can be easily reused or configured to provide clients with services.

We recently hired a new programmer as a mid level .net developer. He is in our Client Applications group, meeting client deliverables. We recently had discussions about software development that brought up several interesting points and concepts.

He feels that the software industry is really devided into two camps. He compared it to the Cold War. In one camp you have the Freedom Fighters, the guys who write custom software for each and every client. That way the client gets what they want, how they want it. In the other camp you have the communist, the guys who believe in software as a service where you build service based applications that are meant for a large crowd instead of a single client. He believes himself to be a Freedom Fighter.

His view is that each client need is different and therefore you should handle them uniquely and give them exactly what they want, each time. Then you can develop a relationship with the client and reap more of a subscription model out of it.

I guess that would make me a part of the Communist Party. I believe whole Heartedly in the Software as a Service model. Think about it; You write software once and everybody benefits from it. This makes both the software you sell more valuable (because you can resell it over and over again) and at the same time you can reduce the cost to your clients.

Let me compare it this way: Think of the Software Industry in the terms of the Food Service industry. The end result is the same, the clients get what they wanted. The delivery mechanism is the same; you have experts who design and workers who actually do the work and make the product.

A long time ago restaraunts did not exist. If someone wanted someone else, an expert, to prepare their food they had to hire the staff. If they wanted good food they had to hire a good chef. Each time they wanted a meal they had to sit down with the chef and explain to him what they wanted. Then the chef had to go back into his kitchen each time and figure out how to make it, then explain the process to his under chefs who would then chop, mix and bake, until the finished meal came out.

This is an iterative process. There isn't really a problem with this except that as a business model it doesn't lend itself well to the chef and his company unless he charges his clients a ton of money for each meal.

Then someone several hundred years ago had the idea that they could turn it around as food as a service concept. Thusly the restaraunt was born.

A chef could design the type of food he wanted to make. Then he could instruct his underlings on how to best prepare this food. And customers would come to his restarant because the chef served great food.

The thing that helps restaraunts make money is the fact that they run efficiently and they also have a predefined menu. The chef invents something, and it goes into the production process. Clients can come and order what the chef has invented. If they have a craving for fish, then they would go to a fish restaraunt. If they wanted beef, then the fish restaraunt is not the best place to order from.

Apply this concept to Software as a Service. You build a framework and basic services that run either over a downloadable executable or over the web. Your clients come to you because you have developed a solution to their particular problem. Now if you have a client who wants the Flounder but with butter sauce instead of the cream sauce that is one the menu, you charge an extra $2.00, but you can deliver it. He still gets his flounder because that's what he wanted, but now he can dip it into a great butter sauce too!

SAAS is the same. It's not Communism where I am going to develop a solution and you must fit into that solution without any complaints. It's ultimately flexable because I have already put my expertise in developing what I beleive is the best overall solution. If what I designed doesn't even meet your goal then don't use my service. If it does, but I can tweak it to better fit, then lets do that!

What type of shop are you in, Mr. Developer?

0 Comments:

Post a Comment

<< Home