This month I will continue the “So you want to be a consultant” theme from last issue. I want to discuss the idea of risk management. While becoming a consultant is a risk in itself there are numerous risks that will present themselves along the way. Let me start with a recent story:
Over the last three months I have worked on a project with two other software developers (two developers and one product designer). We had dedicated a half day a week on this project to work on product design and development. In the fall it was our intention to dedicate more time to this project in order to launch in the spring of 2011. Two weeks ago, while on a family vacation, I received a call from one of the developers. He decided that it was personally too risky to proceed on this project so he was bowing out of the project. The irony is that I anticipated this event occurring in my risk assessment when we started the project. So while sort of surprising, in reality it wasn't. I had chosen to override my own risk assessment and proceed with the project.
The key phrase in that last sentence is: “my own risk assessment.” Software development is an inherently risky process and it's up to us as professionals to carefully examine the risks in whatever endeavors we decide to take on. In this editorial I hope to illustrate some of the risks that you may face in your development career.
Partner Risk
When you start out as a consultant there will be many opportunities to partner with other people. Be very careful choosing your partners. Many years ago I had a chat with a principle at a consulting company I had just done some training for. At that time I was a “wolfpack of one” consultant and was curious how he liked having partners in his consulting company. He said to me “Rod, never have a partner. You will be better off if you can make the decisions yourself instead of in a committee.” These words stuck with me and to this day the number of business partners I have or have had I can count on one hand.
Employee Risk
It took me over ten years to hire my one and only employee. This was initially scary but over the years has proven to be one of the best things I could have done. There is a real risk in hiring an employee as it makes you responsible for the well being of another soul. I had to implement things that I hadn't dealt with before including employee insurance, workers compensation, health insurance, an office, etc. Initially I mitigated a lot of the risk by hiring the person part time and at a salary I could afford. I did this because the employee was not a skilled developer but a newly minted programmer that it would be my responsibility to teach.
Contractor Risk
Inevitably you will land a project where you need additional resources. Most likely you'll subcontract work out to other consultants. Hiring subcontractors has its own set of risks. How much time does the sub have to dedicate to your project? How long will they be available? Does the subcontractor have the proper skillset for the job? What happens if they leave your project before the work is done? In my time as a consultant I have experienced all of these in some way, shape or form. I have hired smart people that were too high maintenance; I have hired people that left to go work for other companies; and I have hired people that simply didn't have the skills for the work. Fortunately for me and my clients I have also found dream subcontractors that could simply get the work done in a timely manner with high quality. The simplest way to mitigate risk in this area is to start small. Sub out a small piece and see how it goes. If you like the work they do, offer them some more. If you don't like their work or their style, simply move on.
Technology Risk
As a consultant it is your responsibility to stay current on the technologies available. This responsibility comes with a high degree of risk. Learning new technologies takes a considerable amount of time and some technologies might “die on the vine.” A number of years ago, Markus Egger (publisher of CODE Magazine) wrote an extensive article on one new gizmo from Microsoft: .NET My Services. As a matter of fact it was a cover article for that issue. By the time our magazine hit the street, Microsoft had terminated the product. Markus took a risk in diving deep into a technology that ended up on the scrap heap of technological oblivion. But that's the risk he took. Had the technology panned out, Markus would have been a leader in that field of development. Later, Markus took another leap into a new technology: Windows Presentation Foundation. This technology took hold and his company is a leader in the field. So sometimes these risks can pay off.
Summary
Being a consultant isn't all unicorns and double rainbows. There are numerous types of risks that come in the package and it's up to you to carefully measure which risks you are willing to take. When conducting a risk assessment you need to weigh the risks and the rewards. Always remember: there is no reward without risk.