Saturday, May 15, 2010

Good Consultant Vs Best Consultant

All through my career of 10+ years have worked with developers, testers and managers. Then during the days when I become the architect, I have had the opportunities to work with the big shots of any company. They are called as product and industry consultants. They work with the sales people in working with the customer before a deal has been signed. They make sure that we sell the maximum amount of our products and services and we ‘fit’ the sale with customer requirement, thus getting high customer satisfaction later on. I asked what differentiate them from me. Is it just a piece of paper called as MBA degree ? or is it also something else.

As an architect I am trained to think. Well that is why we go through something called as ‘Introduction to Architectural Thinking” as the first course. So I thought and came with this basic differentiators

  1. A consultant understand the peculiarities of that business model or that Line of Business, say for example retail  or finance or banking …
  2. A consultant is supposed to keep himself/herself aware of any new business processes, models that have come into their domain/space. They should anyway be aware of standard processes
  3. He or She should at first listen to the customer to understand the pain the customer wants us to remove. Customer never ever gives requirements, they tell their pains. The difficulty they are having to do their business in the same way they are doing it. It might be a
    1. Business process problem
    2. Model problem
    3. Implementation problem. This can be IT or non IT
    4. Anything I cannot think of now
  4. A consultant should understand the domain, scope and type of the problem before he can advise on the situation. The advise may not lead to a IT solution being sold at all.
  5. A consultant should also gauge the problems he foresees after analyzing the business model or environment, and inform the customer of remedial steps.
  6. Bottom line is  that the consultant should never be the sales person who has gone there to sell whatever possible. A customer who is made to buy stuff he does not need and so will never use is a really pissed off customer !

Based on the above I once looked at a extract of data from a customer and had a talk with the consultant. This doesn’t look right. Even though the system will work with this data but the model of the data is not complete. There are some entries missing. These entries are used for product management and will really help in supply chain analysis, merchandising and business intelligence later on if they would have been present. I do recommend we tell it to the customer.

He said, huh, they will never change their model, they have been using for the last 20 years ! There is no point.

Two Things came to my mind. First is this consultant is pessimistic, bad bad bad.Second, he assumes that if someone used it long then its right. This is first thing a consultant is supposed to not believe in.

I checked some more. I did my job by telling them that but why they were not doing theirs. Arrrggh !

  • A consultant is not sales person. Here the consultant is acting as one and thinks he might loose business if he says anything. He is not confident of the reason because of which the client has chosen our company. He has no clue about this
  • He just did his MBA and become a consultant. Was a programmer or some IT person before that. Which means he has no experience in this field. Experience adds knowledge, teaches tact and thus brings in confidence. Once you have that then you know what you are thinking is right, you have an idea of how to implement it and thus using proper communication you will somehow pass that message along

Thus, a consultant whether he is from business or IT plays a very important role. They are the outsiders, the third trained eye, who sees the problem as a whole, sees the building facade from outside and the structure/beams/floor/basement from inside and then can say where the problems are, the steps we can take to fix them and the plan which we can execute to take those steps in the most economical and non-destructive manner.

Industry experience, positive attitude, the eye that sees things as one, a mind that always thinks and a mouth that is not shy to point out the wrongs makes a damn good consultant.

Tuesday, March 30, 2010

Business mobility from IBM

 

Shows what IBM is up to

Business mobility from IBM

Thursday, March 11, 2010

Virtualization for development

 

When I joined this industry in 1999, we always had issue with developing on Windows and testing/deploying on Unix. We still have the same issues now but from the verification and validation side of things we are better off now due to virtualization and also due to maturity of Linux. The maturity of Linux has made it the platform of choice at least for its Enterprise flavors from Redhat and Suse. Also testing has become so easy using VMware images of the two OSes. Create a virtual test environment and test your product on Linux or even Solaris. Though for commercial UX you will still need their physical box but I guess you can get it free if you tell them its either their OS/box or Linux on their competitors !

Virtualization has made life simple for developers too. Earlier, lot of time was wasted when developers had to first install the tools, configure them, load data into the DB, which were time wasters. Now you can create a whole image of the developer desktop, deploy it on the cloud and developers can use it on demand. At night, the developer desktop will go to sleep, the same server now starts the build/test environment and starts running the build or the test scripts. OS Patches also effect the product and that also can be factored in now by keeping versions and snapshots of the images.

We though need to be careful about licenses. Remember a windows image still need a license, so if you company has 50 licenses it means physical + virtual. Better have a good deal with MS on the licenses front. MS does bundle them. Like you can run 4 Win2k3 on the server which is running Win2k3/VMware Server. Win2k8 natively supports virtualization.

Lastly, for a Linux enthusiast like me, I can get a Linux environment on my Windows XP using VMWare player and do not need the Xserver or a telnet client. I can just switch over to the Linux desktop and work the way I like to work on remote Unix/Linux boxes as if I am on the console. I can learn Linux or just do development on Linux.

Career Options in India

 

List is not complete. There are still other options available. Click on it to be forwarded to the M-Power page.

image

Tuesday, March 9, 2010

http://techrepublic.com.com/

Love this and subscribe to this too.

TechRepublic :  A ZDNet Tech Community

Must read: Consultants, know how the IRS determines employee status

 

Chip Camden offers independent consultants tips on how to be savvy when it comes to the IRS’s 20 factors for determining whether a worker is an employee under common law rules.

How IRS determines a Employee-Employer relationship

Is determined as employee the tax liability comes in which can cause penalties too so better be aware of what criteria are used by IRS to determine this. Important for freelance and independent software consultants working in USA.

Monday, March 8, 2010

Performance testing with no $$

 

Yes I know there are enough tools that can do automated testing but they do cost a lot of $ + you need a person who charges a lot of $ to use them. Before spending $ on that and them check this out once and see if your project requirement can be met using JMeter, a free performance testing tool. You do need some background on performance testing though and out friends at MS have given this paper for that. Read it first, then understand it, then decide what you want to do and the try executing in in JMeter. If it fits the requirement you are good, at least you would know what to use if it doesn’t.

MS Link

Performance Testing for web applications

Google Tech talk about OS tools for performance testing