Clever idea… but are you the first?

If you are an entrepreneur, then you have likely come across the question in the title more than once when you presented your idea to someone. The question is valid, but, unfortunately, often difficult to answer. I was reading today in the National Post about how due diligence on the show Dragons’ Den failed to reveal in two particular cases that the products under investigation were not, in fact, original. While I will not discuss here the issues in the products mentioned in that article, I will talk about the question that should have been raised.

Has your idea been done, or tried, before?

Often, when you think of an idea that could be turned into a business venture, the first step is forgotten, or given minimal attention. Before you go diving into the work and becoming emotionally attached to the idea, do your own due diligence. Try to locate your nearest competition, and find the pros and cons of their product or service. What advantage do you hold over them? If you cannot answer that question, then your entire idea may be flawed, or based off of out-of-date information.

A common response, though, is: “There is no competition! My idea is so unique and innovative that no one has ever tried it before!”

The answer to that, of course, is that you haven’t looked hard enough. If your idea has never been tried before, then what makes you think it is viable as a business. The competition may be distant, or impractical. It may be expensive beyond the cost of the problem it is supposed to solve.

But it exists.

To start yourself looking for the competition, think about the problem your idea solves. Then look at what other people faced with the same problem do. Do they ignore it? Do they use some roundabout way of solving it? Is their current solution expensive? What are pros and cons of the solutions that are already out there? How does your idea compare?

To make this a little simpler, suppose you had a potential client sitting in front of you. They will give you $100K contract on the spot if you can convince them that your solution is really the best. Of course, you can talk about the problem your idea solves. You can talk about your price versus the price of the competition. But what you absolutely must talk about is how is your product better than the alternatives. That means you need to know your competition in great detail, because if you don’t, you will lose the sale. If your potential client knows more than you about your competition, then they will ask you questions you don’t know the answer to, and then you lose the client.

Business Proposals

I have my first business proposal sometime next week. I’m meeting with someone who is a potential client AND a potential investor to describe my idea, the research I have already done into it, and to get buy-in from them. I’m actually not trying to get any money from them at this point, but I’m aware that it is a possibility.

I know that I should ask him to sign an NDA (Non-Disclosure Agreement) and I will, but I’m not sure if he will sign. Probably will, though, as I know this guy fairly well, and it would get back to him if he tried to steal my idea. Also, he’s not technical, and therefore the details of my idea are quite possibly beyond him, so from his perspective, he may as well pay me to develop this idea as well as pay anyone else.

I’m still trying to figure out the pitch, though. I don’t want to go too technical, as that’s not the point. Currently what I need from him is to get access to people that can help me with the research. So he needs to know, in high level terms, what it is I’m thinking of. Since he may become an investor as well, he needs to know what the estimated cost of developing this solution is, and why. Time frames are important, but are hard to judge until the research is complete (I did plan a research period followed by a development period, but currently the time frames for development are completely tentative).

Can anyone think of other aspects of the idea I should probably cover? Also, what format should my presentation be in? I can throw together a document outlining the idea, or I can put together a PowerPoint presentation and bring my laptop (if he has a projector available, since I don’t). However, this is an initial meeting to see if there is interest, and perhaps a presentation like that at this stage is overkill.

A Lesson in Marketing

I learned something new today about marketing. May be simple to others who have worked in this area for a while, but it was new to me.

When trying to sell a product or service, your selling line should not be “This product will save you money” or something of the like. You open yourself up to questions about what makes you special, why should I buy from you, and so on. Instead, make a small change, and suddenly, your selling line is much better: “This product will save you more money than the following alternatives”. You then proceed to list the most impressive alternatives that you can find.

The difference is, in the second statement, you indicate that you already know about the alternatives, how much they cost, how much they claim to save, and how your product is better. You haven’t explained all that, but you have indicated that you are prepared to defend your product against those alternatives.

Customer Satisfaction

I have a satisfied customer. That’s not unusual, or even noteworthy, for most businesses. However, how I got a satisfied customer is worthy of a post.

I had been writing a bunch of scripts for this client over the course of the last 9 months. There have been ups and downs during the work, and last week, we finally produced a product that can increase their sales. Again, not terribly impressive, considering that I was hired to do exactly that.

Last week, once I had delivered on a significant piece of the project, I was presented with the next round of development for this project, in response to their customers’ requests. By the time my client had finished describing what they were looking for, I had turned his wish list into 3 categories:

  1. Can’t be done (because of the client’s systems and limitations therein). This did not make the client happy, but he understood that it was beyond my control.
  2. Can be done. This included a quick estimate of the time needed to build each item.
  3. Already done. The client was unaware that during the course of other development, I had anticipated some of his requests, and already built them. He was not billed extra for this, I had merely chosen a design that had maximum flexibility so that certain future requests would not require a full rebuild of the program.

It was the third category that gave me a satisfied customer. While customers do not want to pay for work they did not request, they are even happier when they discover that their dollar has gone further than they had initially thought. I have never had an issue with this client over the size of my bills, and they have always paid promptly. But when you take a customer who is already happy with you, and show them something extra that they didn’t know about before, you leave with a customer who will advocate your work for you.

The lesson I have learned from this is to do the following:

Whenever working for a client, try to add a feature to what you are doing without billing the client for the work. It does not need to be a large feature, but it should be a noticeable extra. When the client mentions their satisfaction with your work (which, if you maintain a high standard for your work, should happen with most, if not all, of your clients) point out the extra that you threw in. Stores have sales, specials, and discounts. As a service provider, you can have them too.

My Guarantee

I had a discussion this week with one of my client’s regarding the quality of my work. The client liked the guarantee I put on my work, and is now one of my advocates. He has already sent me business, which I would not have been able to get without him. That client, as well, loved the guarantee I gave, and is an advocate of my business as well.

My guarantee is actually very simple. At the beginning of a job, I give a quote, whether it be a flat fee, or an hourly rate. I make it very clear what I will deliver for that cost. At the end of the job, the two of us (client and myself) determine that there will be no future development as part of this contract. At this point, my guarantee kicks in.

If the client locates an error in my work, no matter how large or small, within the first 3 months, the fix is 100% free. The only condition is that the error must be in a portion of the deliverable that the client asked for, and not in something which I decided to put in as an extra, unless it affects the rest of the program. For example, if the client asked for 3 reports, and I threw in a fourth, but it doesn’t work correctly, that’s not covered. But the other 3 reports are, and if the fourth report corrupted some data, that would also be covered.)

There’s an old expression: Put your money where your mouth is. My guarantee does exactly that. The client needs the program I provided, and is willing to pay for it. Because the work is all custom, the client wants to know 2 things:

  1. How much will it ultimately cost?
  2. How much will it cost me to get you to fix pieces that are broken?

The first question has the easy answer: $5000.00 or $75.00 per hour, for example. But the second question is the one which has the complicated answer. That’s where my guarantee comes into play. The answer is $0.00. There’s no catch. Once we decide it’s done, if you find a problem, I will fix it free of charge. If you want me to add something new, then we’ll need a new contract to cover that.

As a catch to this, I’ve added a second level of the guarantee. Occassionally I will subcontract work to other developers for a variety of reasons. My guarantee extends to their work as well. I insist when subcontracting that the subcontracter meet my guarantee. If they won’t do it, I won’t send them business. The reasoning on my part is simple. If you are not that confident in the quality of your work (after all, we’re only talking about bugs, not changes), then I don’t want to put my name anywhere near your work.

Client Relations

I had an interesting set of interactions with one of my clients over the past couple of days. I had written a program to do some data analysis against a set of standards, which they provided. The client (or more precisely, one of the client’s employees) sent me the data I needed, I sent back the program.

I get an e-mail a few hours later that it’s not working. I checked the program, which I had tested earlier, and could not see any issues with it. So I paid a site visit, and determined that there was a configuration issue, which I resolved quickly.

The next day, I get another e-mail saying “It’s still not working”. I request that they regenerate their set of standards, as that may be causing the program to validate incorrectly. A few minutes later, I get a new set of standards, I update the program file, and send them the new version.

The next day, another e-mail comes in saying that the best match they can get through the program is 65% accuracy, which doesn’t make sense, as it should have been comparing the standards against itself (a perfect match). I then get a call saying that this is urgent, please investigate and fix ASAP.

I know that the client is waiting for this program, and that it will impact their sales if I deliver quickly. I take a look at what they sent me in the two versions of the standard, and realize something: The standard is missing some data – about 20% of the data!

I call the client directly and explain the issue. I manually generate the standard, validate it, and make a small change to the program to increase its error tolerance. I then send an e-mail to the 3 people I’ve been dealing with, and explain, in non-technical terms, what the problem had been (you sent me bad data for the standard).

I learned something from this experience. On the whole, the error in this case was not mine, but the fact that I did not have accurate information. Since this was a priority to the client, I worked quickly to resolve the issue, but that should not have been a determining issue. I paid a site visit as soon as I realized that I could not reproduce the issue on my end, so that I could see the client’s perspective. I found out at the end of the issue that I will be getting, in addition to the contract fees, an excellent reference and a well-written testimonial.

  1. Even when the client is supposed to be providing some data, check that it is correct if you can.
  2. Treat every issue raised by the client as though the contract depends on the speed and accuracy of your solution.
  3. If you can’t reproduce the issue raised by the client, don’t assume it does not exist. Pay the client a visit if you can, so that they can show you. Even if you are correct that there is no issue, show the client some respect and give them the opportunity to show you the problem.
  4. Every client can be the source of new leads. Treat the client with respect, maintain your credibility, and the client will recommend you to others if the opportunity presents itself.

Now I’m waiting for the client to validate the new version of the program, with the correct data, but my confidence is high that it will meet and possibly exceed expectation (always a good thing, promise low, deliver high). Then I will have a nice letter of recommendation, and a client who will laud my work ethic and competence, allowing my business to move forward into the growth stage.

Cover Letters

When applying to work at a company, take care to write your cover letter carefully. This is not the time to demonstrate your eloquence, it is the time to get them to give you a call. Unless, of course, you are applying for a position as a writer, in which case my statement makes no sense.

Your cover letter is an opportunity for you to make each application unique. You can talk about the company you are applying to work at and what you can do for them. You can show off some of the research you did when applying to the company. You can write about some of your soft skills, which may be difficult to present in your resume.

You should not, under any circumstances, write about anything that would give them cause to not want to hire you. It is too early for demands and negotiation. Leave that until the interview and later (in fact, don’t mention any demands or negotiations until you have an offer on the table). If you have an issue which is important to you, make note of it to yourself so that you can ask the interviewer about it later. For example, if working flexible hours is important, and you can’t find anything regarding company policy for this on their website, make a note to ask about that at the interview.

The person in HR who is looking at the cover letters and resumes will only spend a few seconds looking at your application. If they see something negative in the application, they will move you to the no thanks pile immediately. After all, in today’s economy, for the job you applied for, there are quite possibly hundreds or thousands of other applicants. Why would anyone waste their time with the guy who’s whining about the number of hours he wants to work?

Task Management

As a consultant with several clients, it is of utmost importance that each of my clients feels that he or she is getting the top treatment from me. I rely heavily on recommendations from my clients to fuel my business, and this in turn requires that I treat my clients well. Part of this is maintaining a rapid response time for all clients, so that they feel that I listen to them, and respond appropriately.

The problem on my end of this is simple. With several active clients, each of whom requires that I perform some task or another, how do I maintain a good relationship with all of them? Obviously, some tasks are more critical than others, but a client who has many low-priority tasks still requires a response, even if other clients keep raising high-priority items to be dealt with.

The system I use is fairly simple to implement, though the times I mention are meant as a general guideline, and can be changed according to need. Each client I work for, when they submit a task, is given an immediate response time. So if Client A submits a low priority task, I may inform him that the task will be completed within 3 weeks. This is based on the amount of work I currently have, plus some space for new high-priority tasks that might come in before the three weeks. However, if nothing else comes into play during that time, I may complete the task earlier. From the client’s perspective, since I have provided a time frame for the task, they are tolerant of a delay in getting their task completed, as long as I abide by the time line I provided.

On my end, I simply keep a list of all active tasks. I have some projects which are ongoing, and last for potentially months at a time. For those, I try not to provide an absolute date for the final product, but instead, give a range which is refined as we approach the end of the project. In order to be able to work on those projects, I designate about 50% of my available time to all my new projects (more if the schedule is light that week). The other 50% is divided among short-term tasks, fixing bugs, making small changes, and maintainance. As a new task is sent to me, I add it to my list of active tasks, either under the short-term work or under the long-term work. Within that group, it is prioritized and assigned a completion date (or range, in the case of long-term work). Any future tasks that are sent in are then prioritized without moving any tasks that are already planned.

I don’t use any special tools or software to keep track of my work. I find that a pen and paper work just fine, as long as you keep that information highly visible. What I actually use is Excel, listing each task, who reported it, the time to complete it, and the completion date I provided the client. I also mark the last date that I worked on that project, and what version of the project that particular item is meant to be included with. That allows me to group pieces of work together and bundle them into single releases.

If you have another system for prioritizing across multiple clients, I would love to hear about it. My process is a work in progress, so I am very interested in hearing other methods of managing your workload.