Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I recently developed a desktop client that automates much of the work involved during online research. I developed this tool in 2-3 hours, and it has reduced an hour's worth of work to about 5 minutes. The softwas has had some visibility, and some higher-ups in the organization are excited about the time and effort it's saving. Now, it s that the company is interested in distributing the software to every salesperson in the company, perhaps wanting to even buy it from me.

I've never been in the situation of potentially selling my software to a corporate client. I've only worked on personal projects or developed in-house software for my employer. I have no idea what a fair price is, or even what a fair model for payment is (e.g., is it normal to accept a bulk payment in exchange for delivery of a static software application, or to sign a contract to further develop and maintain that application over a period of time, or what?).

I just don't have the experience that would give me a basis for knowing how to approach this situation. How I can get this knowledge so as to make informed choices moving forward?

share|improve this question
5  
great question! –  jmo21 Feb 4 '11 at 19:00

4 Answers 4

The first, best piece of advice I can give you, is find a lawyer who is familiar with corporate contracts and practices. Have him translate between you and whatever contract or agreement you'll end up with. It's way to easy, for a smart, clever person who is familiar with contracts but not a specialized lawyer, to make mistakes that can lead to unhappy situations

As far as your decision making, ask yourself the following questions:

  • Do I want a long term gig? (Can this be a long term gig?)
  • Is making money off this contract really really important to me?
  • Will any of this have an effect on your wife's standing within the company?

I'll ignore the last question, that's up to you to figure out and process. Here's the matrix for the first two though:

11: Offer the software, as is, without warranty, with a generous license (for example, not limited on the number of installs), for a low sum (around here, $500 for an estimated 10 installations fits that, your mileage is local to you), combined with a support contract at a low hourly rate to you (take what you make at your day job and throw 50% on top, but settle for 25%). Expect to give them your phone number and be called when they run into trouble they can't fix, even if it's trivial.

10: Offer the software, as is, without warranty, with a generous license (for example, not limited on the number of installs), for a high sum (say, $5000 for an estimated 10 installations), combined with a support contract at a high hourly rate to you (take what you make at your day job and throw 100% on top, but settle for above 60-70%). Expect to give them your phone number and be called when they run into trouble they can't fix, even if it's trivial.

01: Offer the software as is, without warranty and making it clear you're busy and don't want/can't support it. Use the same ideas when pricing as 11, but add in the idea of selling them the source code for a bonus. If they want you to do any more work, they'll have to hire you separately, and you can sign a contract for that work (ie, if they want to change the software, or new versions, etc...)

00: Offer the software as is, without warranty and making it clear you're busy and don't want/can't support it. Use the same ideas when pricing as 10, but add in the idea of selling them the source code for a bonus. If they want you to do any more work, they'll have to hire you separately, and you can sign a contract for that work (ie, if they want to change the software, or new versions, etc...)

Make sure that you log all of the work that you're doing, and all of the time spent on it, even if it's a few minutes on the phone. Report on it in aggregate periodically, and match it to the contract - so both you and they can see if you're spending time on it voluntarily. This is especially important if you're doing support work - where a 1 minute call once a week can turn into 25 3 minute calls a day.

No matter what you go with, consider starting a LLC, and putting up a website with the software available for sale. People at corporations tend to move around, talk to each other a-lot, and ideas tend to spread - if you end up with a lot of people using it at one place, there's a very good chance you'll have other clients coming to you to try and buy software for themselves. If the cost is low enough to go on an expense account without much question, and you don't offer any support at all, this can be a low-effort steady stream of income to you.

share|improve this answer

You have to realize that at newspapers, particularly, cost IS going to be an issue. Newspapers are bleeding and dying all over the country (US), a phenomenon I imagine is also happening elsewhere in the world. I know from my own purchases that something I use only rarely, I have a hard time spending more than $20 on it. For something that I use a lot and saves me a lot of work, $50 is about the price point. $50,000 might be a bit much, but for a hundred users a hit of $1000 isn't out of the question.

But remember that most places where you charge per-seat licensing are just going to pirate your software, after they get 5-10 copies. Best to just offer a single site-wide price and support at an hourly rate. Ugh, and don't charge by the minute.

share|improve this answer
    
True, excellent point. I'm really not interested in bleeding some company dry, especially considering it's my wife's place of employment! –  Dan Tao Feb 4 '11 at 18:40
1  
the "charging by the minute" attitude is important to remember when going into negotiations, but it all depends on context. The important concept I was trying to communicate is - make sure to build a contract that can fail gracefully. In other words, make sure they know that when you're working for free, it's optional on your part, as opposed to taking it for granted. That way, if they increase work without increasing pay, or you get busier elsewhere, you can charge appropriately. –  blueberryfields Feb 4 '11 at 19:51

Use "value pricing" -

  1. What's the return on investment (ROI) per person for the app? In other words, if it saves 2 hours and is used once per day and the person using it costs the company $50/hour, the ROI is 2 x 5 x $50 = $500 PER WEEK. Times 50 weeks/year = $25,000. Times (say) 20 people using it is $500K
  2. charge a percentage of the two-year ROI, say 5%. That would be $50,000 for a 'site license' of 20 users
  3. Add a yearly support retainer to this of 10%, so $5000/year for support, if they want you 'on call' for training issues and bug-fixing
  4. enhancements are by request, and extra
  5. retain the right to sell it to others; if they want to own it outright, the price should be much higher

Depending on the laws where you live, you own the software and can charge whatever you want for it. The key is to find a price that reflects the perceived value to the company, so you'll both be happy.

Caveat: now that the IT staff has seen it, they can probably write it themselves; their in-house cost to write it themselves will be considerably less than $50K, but their in-house overhead of supporting another company-wide application drives up the internal cost. A working bird in the hand is worth far more than vaporware by people that are bushed ;-)

I suggest starting the conversation with senior executives (someone who can make a decision) by asking them to calculate the ROI, and go from there.

good luck!

EDIT: I see that this pricing is way out of line with the other suggestions, but consider it anyway - the value to the company is far more than the 'street price' of a single copy of a shrink-wrapped application. If there's no competition, you and the company should be able to agree upon a fair price.

share|improve this answer

I'd recommend that you make it a cloud service, charge a monthly fee...generalize it and resell to others as well. If you need help on that, I'm doing some work in the Knowledge Worker arena as well perhaps we should chat ;)

For pricing consider a sliding scale...start at $30/user/month. Give discounts for larger number of users. Also for simplicity consider an "enterprise" license with unlimited users for something like $500.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.