I just had a personal contact (known him about 1.5 years now - met at network event) he reached out to me about a really cool software project he needed done for this recruiting business.
So what I did is : 1) Spend 30-45 mins (2 times) talking on phone to him about it. (1-1.5 hrs total)
2) About 3-4 hours mocking up his proposed solution in a flow chart.
3) Another hour or two over the course of a few weeks about minor details.
4) It seemed like all was set.
I sent him this and then he tells me some silly response like "I need to have a new employee look this over and I'll get back to you"
Its been 10 days now and this guy just posted on quora : "How to do <x> subfunctionality of this project? (he is non-technical)
How should I take this? That the guy isn't interested in my work and is likely using the diagrams I made of the process with someone else?
Thoughts?
Additionally, any good reads on (software) freelancing books you may have could be helpful too.
Thanks
Is this ethical? Probably not, at least if the company is doing this deliberately, knowing all the while that they have no intention of hiring an outside firm.
I would reach out to him again with an email about getting started. You need to get a clear yes or no from him and put together a contract if the answer is yes. If the answer is no, chalk it up as a learning experience. Don't give away too many hours before the contract is signed.
It is not uncommon for a agency to put in 40 to 80 total working hours between sales calls, preparation, developing the proposal, and sometimes flying out to meet key executives at the client firm. Sometimes you still don't get the business, but other times you do. Now this kind of commitment of time and resources assumes that the minimum size project is something on the order of $50K and that once the client is on board there are possibilities for repeat projects of similar or larger size that don't require all the free prep and proposal development.
I guess what I am saying is that this kind of thing is not unusual and I wouldn't waste more time and energy trying to make it "right." Just move on.
Work only for clients. Make this happen by requiring a retainer to be applied against final invoice. This also means that you have set a rate and terms and put it in writing...if you're going to work for free work for yourself at drafting a contract.
Requiring payment filters out people who weren't planning to pay and it filters out many people with unrealistic expectations in regard to your rates. These are the people you don't want as clients.
My rules now:
1. If you want me to write a specification or project plan for you, I expect to get paid for it. If you want me to formally review your wireframes, I expect to get paid.
2. I'm willing to risk a couple hours of work to find out if a client is a deadbeat or not. If it reaches a certain limit, no more work until I get paid.
Basically, you did the work of writing a specification for free (which can be harder than implementation), and now he's shopping around for someone cheaper to implement it. That's why I'll never write a formal specification for free.
If the client is too cheap to pay me for spending a day or two helping him write a specification, then there are going to be other problems later.
But I don't do unpaid work for them. If they don't yet have a spec and are still exploring options, I let them know that one service I provide is consulting on a strategy and helping write a spec, creating wireframes, etc. They can hire me hourly to do that, and then decide later if they want to hire me to build it out.
Now, when you start bidding on much larger projects, you may spend more time reviewing specs. And you'll have to decide whether you want to get involved in the RFP process that some clients require. I typically opt out of those because they do require lots of unpaid work upfront. (I saw one RFP recently that wanted design mockups; no thanks.) And sometimes it seems as if clients have already chosen their vendor but need to do the RFP paperwork to make their decision seem legit.
Suppose you take a fixed-bid contract that you expect to take a month. You do your month of work and deliver it to the client. Now the client asks for changes X, Y, and Z, and says they aren't paying you until it's done. Now your options are (1) Argue about whether that was covered by the original specification, which does no good even if you're right because they're refusing to pay. (2) Follow the sunk cost fallacy and do extra work for free, hoping to get paid for the work you already did. (3) Walk away, and don't get paid for the work you already did. Also, if there was a deposit, now the client may try to sue you! (4) Sue to collect, but they know that you, as a small freelancer, don't have the resources to lawyer up and sue. Even if you hire a lawyer to write a tight freelance contract, they may refuse to sign it or attempt to negotiate it, and the lawyer fees are more than your revenue.
For example, at my last job, my employer hired a freelancer (not me) to do a WordPress site. Even though the site was done, he refused to pay, because "his business was having cashflow problems". I pointed out "Hey! The guy did the work! Why aren't you paying him? It's not his fault that you're having financial problems!" He did, several months later, pay. Then, the guy put a logic bomb in the site that I had to remove. (Owner: "WAAH! My site was hacked! Fix it! I'll pay you extra if you fix it now!" [I was not there that day.] I fixed it, no bonus was paid.)
So, walk/move on and don't give yourself a hard time about it. Yep, you did some work for someone who seems to have stiffed you. It happens, but don't worry too much about it -- it's all part of the learning curve.
PS: For an admittedly biased book recommendation, http://www.leanpub.com/freelancedeveloperbook
If you would still consider doing business with him on this project. A. Get paid up front for further work or at least make sure he pays for what you already did before you doing anything else. B. Quote him higher than you otherwise would quote.
Yeah, I mentioned 25% would need to be paid upfront before I begin coding.
With a recent client, I knew I was going to need an hour or so just to get caught up with their modifications to the platform (ecommerce ish) so I stated that up front, and actually asked for that hour no questions asked and then would provide a quote after I understood everything. They were more than happy to provide that and it gave me the room I needed to provide a very accurate quote for the whole project.
For your current situation? What I have done with a non-paying customer in the past is to walk away, but shoot a message regarding the work I'd completed, stating explicitly that I would not be licensing any of it to them without payment. To be honest? I had no idea how to even follow up on that, or if it had any legal weight whatsoever. I just made something up in my frustration, but in the end I got about 50% of what I had been promised and wrote a reasonable sounding granting of license to my work. Your mileage will obviously vary, but hopefully this will at least provide another idea.
You've learned a valuable lesson here. If you're going to spend time performing research and drafting up a specification in the detail you have done make it clear to the client you will charge them for this work. Also, take an upfront payment in order to mitigate any risks such as your client defaulting on the final payment, at least you cut your losses to a minimum this way.
I use this as a barometer -- if a prospective client does not respect my time/work, then he will likely be problematic as a client.
I'm the founder and looking for some help in building out this product