The past week and a half, I’ve had a chance to reflect a bit on what’s gone right this year, and what hasn’t. Most people do this at this time of year because they have all decided that after feasting like a pig at various celebrations, they need to lose some weight. Others decide to try and kick bad habits that will simply come back in 4 weeks to haunt them like a mortgage payment. (“Hello there…. PAY ME!”)
I decided to put this time of reflection to good use and made a schedule that I’d like to adhere to this coming year. While I didn’t publicize it too much, I had two main goals that I wanted to achieve by the end of 2005.
1. Publish Milestones v1.0.0.
2. Log a profit for the year.
It would certainly seem easy enough to do both of these, and in fact I have. MRS Milestones Version 1.0.0 , which is our bug tracking software, was made available to the general public earlier in December, and v1.0.1 is due out within the next couple of days. Score 1 for the home team.
Logging a profit was a much trickier obstacle to overcome. Let’s take a look at the company expenses first. I’ll leave out a lot of the more trivial stuff, and only include things that cost over a few hundred dollars.
|MSDN Universal Subscription||$2,016.47|
|Verizon Business DSL (3 months)||~$240|
|Wise for Windows Installer||$1,429|
|Vonage Small Business line||~$120|
|Random computer hardware||~$450|
There are a number of other expenses that I’ve had as well. A few business meetings discussed over lunch that I expensed, snacks for the office, shipping costs for equipment/postage, $50 for a 2Checkout account, etc. Nothing really major aside from what I’ve listed, except for one last thing. My salary.
I’m in my 10th week of working for MRS full time now, and as of December 31st, I’ve come to the conclusion that my net profit for the year will have been $136.58, after all of the above expenses and my salary. I have to say, that I cut it extremely close. Unfortunately, there’s still that pesky little cash flow problem that I talked about during my Milestones postmortem.
While things are certainly better now than they were at the end of November, as of December 31st, I will have 8 open invoices that are owed to me. It’s a decent chunk of change, nearly all of which is owed to various places, including my own salary. So, while I have technically met my end of year goals, I certainly do not have the cash on hand to show for it. It will take close to 10 weeks before the net profit from my outstanding invoices catch up to the point that I am cash on hand positive. That just goes to show that unless you have the ability to manage cash flow properly, you’ll go out of business very quickly. Had I broken out from under the thumb of ‘the man’ earlier in 2005, I’d likely be cash on hand positive as well as cash flow positive.
However, the point of this article isn’t to talk about what could have been. I’d like to outline the goals that I have set forth for Moon River Software for 2006 and illustrate what setting goals should and should not be.
Goal 1: New logo and new web site by January 9th, 2006
Purpose: I think it’s fairly safe to say that by looking at the current MRS web site and logo, you can tell that a color blind monkey with a man in a yellow hat designed it. It doesn’t look professional, there’s more text than anything else, and it’s rather boring to look at. What’s worse, is that I did some usability tests on it, and realized that one of the navigation buttons said ‘Milestones‘. I never thought anything of it until I watched someone navigate the web site. Their first thought was that ‘Milestones‘ was referring to company milestones, not to a product named ‘Milestones‘Doh!
So, that needs to be changed. January 9th seems like an awfully aggressive date to get a new logo and a new web site put together. Fortunately, I have a designer who has been diligently giving me various proofs of different logos, and should have the final implementations ready by the end of today. Here’s a look at what will probably be very close to the final one.
Then, we’ll be working together to put together the web site itself. Next week, I’ll contact a marketing guru that I know and ask her to help me with some of the content, to be sure it’s on par with what people would expect from a corporate site.
Goal 2: Start advertising ‘Milestones‘ on January 13th.
Purpose: You may think that it’s intuitively obvious that if you have the best software in the world, you won’t have any problems selling it. This simply isn’t the case, even if you did have the best software in the world. If nobody knows it exists, it won’t matter how good your software is. You need to advertise and do effective marketing to drive traffic to your web site before people will start using your software and buying it.
The original deadline for Goal 1 was January 3rd, but some things have come up which pushed it back a week. That’s a good lesson in setting goals though. If you’ve ever used a Gaant Chart, you know that some tasks are dependent upon others, and if a task is late, it can push others out of the way and they will no longer be accurate. This is called “You just missed all of your deadlines”. If you can help it, always use soft dates for your deadlines, which is what I have done. There are no tasks that absolutely require the deadline to be hit. If it is missed by a little bit, that’s generally ok. The point of setting a goal date is to avoid procrastination.
College students are famous for waiting till the last minute to do homework or study for tests. It’s a widely accepted theory among professors that no matter how long students are given to complete a project, unless they are forced to meet various milestones along the way, some will inevitably wait until the last minute to start the project and miss the deadline.
Technically, part of Goal 2 has already been met because I have an advertisement for Milestones set to run on January 13th. We’ll see how that turns out. I also signed up for a Google AdWords account, but I haven’t paid anything yet, or started advertising. Throughout the course of January and February, I’ll be trying out various advertising techniques on Google, Yahoo, and MSN. I’ll keep you posted on how all of that turns out.
Goal 3: Design a new product by January 20th.
Purpose: Companies with more than one product have more than one revenue stream. The more revenue streams you have, the less dependent you are on any one of them. This is generally why large companies buy out smaller companies that have related products. I already have the idea for this new product, and a prospective buyer as well. The first few weeks of January will be spent doing research into the competition for this product, the potential demand, and sending design documents back and forth to my prospective buyer.
This product must meet his needs, and if it does, he’ll buy it. If not, then I just wasted a lot of time on a product which may not have any buyers. If at all possible, you should work closely with your first couple of prospective customers. Best case scenario is that you work on a consulting basis, building a product from scratch on somebody else’s dime with full rights to the final product. When you see the pink elephants start flying, be sure to look into that.
Goal 4: Complete Beta 1 for the new product by the end of February
Purpose: I’ve given myself a lot of room here to actually write the code for this product. It’s not particularly complicated, but it does need to be tested and written. It also needs to look good. This initial beta will give my prospective client a hands on look at the final version of the software, so he can see how it works in a live environment. Design documents are no substitute for a live product to play with. If you’ve ever had arguments with product management because the spec said one thing, and they meant another, then you know what I mean.
Goal 5: Launch new product by the end of March.
Purpose: By launching this new product at the end of March, MRS will effectively have two potential revenue streams in place by the end of Q1 2006. The rest of the year can be spent gathering customer feedback, implementing new features, and marketing these two products.
Goal 6: Design new products in April and July. Launch these products at the end of June and September, respectively.
Purpose: Again, back to the idea of having multiple revenue streams, more products is better, so long as you have the manpower and the resources to keep up with implementing new features and doing bug fixes for all of them.
Fallback Position: If time and resources do not allow the implementation of these new products, at the very least they should be designed. It is wise to have a fallback position which will set you up for the future. If you don’t have a fallback position, it can be very difficult to cut your losses in the pursuit of this goal. ‘Management by objective’ suffers from this problem.
Management by Objective is the idea that management will set forth goals that need to be achieved, and rewards are typically offered for achieving those goals. Typically, this is regardless of the price that has been paid to achieve those goals. Implementing software that will save the company $10,000 per year isn’t worth much if you spent $1 million to develop it. If the software is saving the company $10k for each employee, the $1 million can be easier to justify if the maintenance is low enough, the lifetime is long enough, and there are a high number of employees.
Goal 7: Become completely self sufficient on software sales by the end of 2006.
Purpose: Consulting is a decent gig to be honest, but it suffers from economies of scale which is a serious problem when you’re trying to make money.
If you start a business making birdhouses, assuming it takes you about 4 hours to build each birdhouse, and each provides you with a net profit of $10 after materials, then you’re making about $100 per week in profit. If you set up an assembly line, and are able to halve your production time, you can maybe get $200 per week. Beyond that, you need to start hiring people to help you make bird houses, which introduces a lot more overhead. There’s more materials, more tools required, and a lot more sawdust. Before you know it, your productivity drops because your operation has expanded and your birdhouses are no longer of a uniform quality.
Fast food restaurants used to have this problem, until McDonalds came along and specified that burgers must be cooked for thirty something seconds on each side and every burger is exactly the same. That holds true whether you get it in upstate New York at a rest stop on the Thruway, or in Trinidad. Trust me, the burgers from McDonalds in Trinidad are exactly the same. The menu is slightly different, but the hamburgers taste exactly the same. McDonalds has gone out of their way to ensure this conformity.
As a consulting business expands, the quality can suffer. Most successful startups are successful because the first few people were incredibly talented. As more people are hired, the overall talent level drops closer to the average. The larger a company gets, the more this becomes true. This is why large companies don’t seem to have hordes of incredibly bright people working for them. They certainly exist within the organization, but on average, they’re vastly outnumbered by the average and below average people.
McDonalds suffered from a manufacturing problem, which they were able to address. Consulting companies suffer from a slightly different scaling problem. It’s the fact that when someone is not performing billable work for a client, the company is paying the employee, but not being reimbursed in any way.
Compare a software company that makes $1,000 per week, and pays a developer $900. Over the course of a year, the company has made $5,200. Using similar numbers for a consulting company yields some very different results. If the developer is billing out $1,000 per week, most companies provide about 25 days (5 weeks) of vacation time. This will not be billable to clients. This means that revenue has instantly been cut by $5,000 while costs have stayed the same. The net result is that the software company yields $5,200 of profit, while the consulting company yields only $200 of profit. That’s a mighty big difference.
Software can be sold whether the developer is there working on it or not. To the customer, it doesn’t matter. Consulting companies also have the quality scaling problem as well. I like to think of myself as a pretty good developer, but when I hire people, will they have the same standards that I do? Of course not. They could be a little higher or lower, or they could be vastly different. Given the choice, I would much prefer to be in the software world than the consulting world.
From the goals I’ve listed above, you should notice a couple of different things. First, each of them is what’s called a measurable goal. They’re not as nebulous as “Increase Sales”. It’s stated as “Become completely self sufficient on software sales by the end of 2006.”. Nebulous goals should be avoided at all costs. The ability to argue whether a goal was met or not shouldn’t exist.
Second, there is a date that each goal must be completed. I could easily say “My goal is to make $1 million.” That’s a pretty silly goal to be honest. Unless I die way before my time, I’m going to reach that goal. The real question is when will I meet that goal. By placing a date on it, you associate a sense of urgency with it. This sense of urgency will help to get things done. If you’ve got 3 years to meet that goal, then setting intermediate milestones will ensure that you achieve it. These intermediate milestones help to form a closed feedback loop where you can make adjustments and corrections to help you achieve your ultimate goals.
Speaking of milestones, here’s part of one now.