Thoughts on custom development shops

I’ve been thinking about custom development shops and the difference between them and regular old software companies that make a specific product and then sell that product to the masses.  The custom development shops are living “paycheck to paycheck”, so to speak. When they finish the current project(s) they go out and try to find the next one, and depending on the situation, they need the next job in order to pay overhead, salaries, etc., whereas a company that makes a single product can sell the initial release of the product, and then if revenues from the sales are consistent, they have a variety of options.  They can put more work into the current product, add more features, fix bugs, etc., or they can come up with a new idea for an application, and begin work on that.  By having consistent sales from their initial release they can work at their own pace (to an extent).

Based on these assumptions, it seems that running a custom development shop would be much less desirable than a software company.  There are, however, downsides to the latter.  In order to have the time to develop that first application, you need some seed money, while the custom shop could crank out some web apps fairly quickly to begin sustaining themselves.  Another possible angle is that maybe people who work at custom shops like the fact that they are consistently working on new projects, rather than a small set of projects over a long period of time, but this is purely an individual opinion either way.

The situation seems analogous to some basic economic principles.  If you go to a financial planner, they will tell you to invest some money (obviously).  The inherent benefit to investing money is that the money can grow without any interaction from you, making the income “passive.”  By developing a single product to sell to many people, you can potentially have some of this “passive” income.  Sure, you need to do work after the release by releasing upgrades that fix bugs, but at some point you can add features and resell the product as an upgrade.  This is especially true if you charge your customers in a subscription style, so they have yearly fees to pay, rather than a large upfront fee, because now you have a recurring source of income that only grows as your customer base grows.

A relevant example I can think of is fellow codebetter.com member Eric Wise.  He is currently working on his own software product EasyAssets.Net.  Suppose when Eric releases EasyAssets it takes off like wildfire; if he wants, he can sit back and let the customers line up without much more work on his end.  He could choose to add features to his product or make something completely different; the key element is that because he has a revenue source, he has plenty of options.  Compare this to someone who makes custom web apps.  They do a project, get paid, then they look for the next job.  They do the next job, get paid, then they look for the next job.  If they’re good, they will find a way to reuse some of the work they have done previously to decrease the amount of time spent on each product, but they still need to find the next job.

I currently work at a place that does a lot of custom development work, but we are trying to get some actual products off the ground, I think my situation is what causing me to contemplate these things.  After proofreading this post, I realize that a lot of this is probably obvious, I just happened to be thinking about this quite a bit lately and wanted to put the thoughts into words, please comment where you feel I’m off base, or if you agree with a point I’ve made, thanks for reading.

5 Comments so far »

  1. Anonymous said,

    Wrote on May 17, 2005 @ 8:13 am

    I work in a company that was started the same way. Me and another developer were brought together to develop a sellable application. Now many years later we do some custom application development but personally I find it’s alot less ‘fun’ then you might think. It keeps me away from time spent improving our existing products or creating new products that 1000x may want to buy (as opposed to the 1x person who we are custom developing for) and even if we can take the custom app and repackage/resell it later on you usually find it’s got a much more limited market. So having a product to make money on is good but always remember that almost every product out there has a time span and you don’t want to find you’ve become a custom-development shop while your main app died a slow death and you don’t have anything else to sell.

  2. breichelt said,

    Wrote on May 17, 2005 @ 9:14 am

    Shane, I completely agree with you, I must not have been clear with what I was trying to say. I would much rather work on resellable products as opposed to constant custom work, when I mentioned the “fun” involved with custom work, I was simply giving one argument people might use when favoring custom work over resellable work.

  3. Anonymous said,

    Wrote on May 19, 2005 @ 9:33 am

    I understood that you were against the custom development only. I’m just trying to reinforce the fact that ANY custom development can cost you more in terms of opportunities, and future sales of your existing products then you make in short term cash.

  4. Anonymous said,

    Wrote on May 20, 2005 @ 5:30 pm

    Certainly custom-development has its down-sides, the need to “always be billable” being perhaps the largest, but I think one area that it’s very strong in is in generating good, portable ideas.

    Working in a custom development environment can expose you to business domains that you wouldn’t otherwise encounter. Often-times, a “one-off” piece of software that you implement for a customer in one industry can be polished and re-deployed in another domain, as a product. The original customer is often happy to see this, since the new software doesn’t directly compete with them, and an exchange can often be worked out for updates to the original software in exchange for gifting the IP.

    One of the other responses touched on products-based companies morphing into consultant shops over time. I’d be willing to bet that a lot of software shops that are now products-based, perhaps most, cut their teeth doing custom development.

  5. Anonymous said,

    Wrote on July 1, 2005 @ 2:05 pm

    I’m a little late, but thought this was interesting enough to comment on.

    I’ve worked on both sides of the fence being discussed, but have chosen the custom development route. As you said, it’s a personal choice. I find it more challenging to do custom development because of the parameters I have to work within. Also, like someone mentioned, I’m always getting exposed to new business domains as well as technologies. So it keeps me fresh. All personal feelings.

    Business-wise, the two are quite different. For a product company, you make a large up front investment to build a product that people may or may not buy. Large upfront investment + risk. Custom development, paychecks are rolling in consistently. I *KNOW* I’m getting paid once I’ve found the contract.

Comment RSS · TrackBack URI

Leave a Comment

Name: (Required)

E-mail: (Required)

Website:

Enter my name (ben) in this box, so I know you're a human.

Comment: