Tips for Starting a Software Consulting Firm?
"My key selling points include the ability to construct complex systems relatively quickly, an iterative approach to creating the end product by means of continuous interaction with the client as milestones are reached, since I realize clients don't always know what they want until some test code has been constructed. Honesty, fixed bids, and ability to create more than just software (graphics, documentation, hardware, etc.) are also characteristics I feel makes me unique.
I have done some 'web programming' consulting as a moonlighter, but I don't really want to do just web projects. I'm not interested in trying to get rich quick, just interested in making enough to live comfortably on, without the politics and problems of the corporate America workplace. Thanks for any advice or tips!"
some of this is a reiteration I know but...
- Be very careful of dealing with two representatives in the company. If they dont communicate they have different ideas that are inevitably contradictory and you ens up makeing something and then chainging alternately between two or more setups as each one looks at it...
- Iterative development processes are good - but be prepared to change _everything_. If there's one thing that clients can be relied upon to do its to tell you they want something, and then tell you they want it a totally different way as soon as they see it (no matter how detailed a description you get from them, no matter how good it is...)
- Get a cheque and cash it for each and every milestone!!!
- Make sure you charge the right amount for ech client. This can be a factor of two or more different for different people - you're just as likely to lose a job by underpitching it as overpitching it if the client is unsure that they'll get what they asked for (doesnt matter if its a five minute job - its the percieved complexity that's just as important...)
- Dont start off with very low prices, it'll be a real pain to raise them afterwards... (and regular clients won't accept it at all...)
OK, here's a couple of things I've learned in ~5 years of consulting.
1. Establish a beginning to end process. I cannot stress enough how important this is. All of your clients will be clueless about software development, and a little nervous heading into areas they know nothing about.
When you come in and say...
"Well, first we do this, then we do this, then we check here, build here, test here, sign-off here etc etc"
... the client relaxes, because it sounds like you know what you are doing, even if s/he doesn't.
2. Never make the client look like a fool.
As tempting as this is, because you meet some monumental morons (often with million dollar budgets). The key is to maneuveur is such a way that the client takes the credit for all your good ideas. Obviously, you need to gauge the level of incompetence/stupidity of your client and raise your rates accordingly.
3. Never be afraid to pass on a job.
There are great gigs, and there are gigs that will break your heart and send you bankrupt. Don't ever think that you can raise the client's competence in business, it just wont happen. If the project is a bad idea, with an impossible deadline, leave it for some other sucker.
4. Document every change and meeting.
After every meeting with the client(s), write up the important points, especially any changes, and send that e-mail/memo/whatever to the client and ask if you have all the main points, or is there anything else.
This is 'feature-creep' insurance for those times when irresponsible middle-managers in large organisations get a 'please-explain' from their boss and then try and blame you.
Then you politely and calmly pull out your documentation, and ask 'Which features would you like to cut?'
5. Don't forget to feel worthy.
Computer programming is one of the most difficult jobs on planet earth, and there are very few people who are any good at it. Don't be fooled by claims that there are 100 people who can replace you. If you are any good, that's just not true.
So set your rates accordingly. You deserve the rewards that come from hard work. That's why they don't pay filing clerks very much. Anyone can do it. Good programmers should command top dollar.
6. Don't hide anything from the client.
Remember to mention all the 'other' costs of software like implemenation/rollout, training and documentation. And mention them in the first meeting. Make it part of your process (see item 1).
7. Have fun!
I love both consulting and programming. If I wasn't married with kiddie, I'd spend most of my hours on it. And if your client has a major issue with you enjoying yourself, FIND A BETTER CLIENT!!
>>
I am the director, and this is my movie