Thursday, January 14, 2010

Don’t Over Engineer Your Solution

I was meeting with a potential client a few days ago and over the course of our discussions they began to relate their frustrations with a previous consulting firm they were dealing with. The analogy was “I would tell the consultant I would like for him to take this apple from my hand and take it to the kitchen. The consultant would then begin over engineering the solution. Which path to the kitchen should I take? Which door should I go through? Do I need to take more apples in case somebody else wants one? Should I bring some other fruit in case they don’t like apples?”

In our line of consulting we are often engaged by clients who have a vision of a product or application they need to perform their day to day tasks. Oftentimes this application is replacing tedious manual tasks the employee must do on a regular basis. They know exactly how to do it every time since this painful ordeal is performed ad nausea. In this case, they know the business process to a T. But what they usually do not know or understand is how to create an application (be it a Web Application, Mobile Phone App, or any other technology). After we are engaged and understand their needs and the business steps, we must begin to develop a solution to help them ease the pain. During this step, it is very tempting to over engineer our solution – after all, that is what we have been taught to do and strive for – creating a highly scalable, highly available solution. But this is not always the need for the client. Do we need a doubly redundant server cluster hosting SOA architecture for a team of users that only has 10 people and is not processing high volumes of data? Not really. We must all find the right fit for our solutions based not only on the business requirements, but on the overall vision the client has for their technology.

Engineer a solution that fits what the client is really asking for – we don’t have to build a mansion if they are really just looking for a shed for their lawnmower.

No comments:

Post a Comment