I was reading Joel Spolsky’s article - Set Your Priorities and found out that he has some interesting points on shrinkwrap software, consultingware and custom development.
But what is even more interesting is that, his writing is based on his own product, FogBugz, which is important to note, because the domain of the product is a general purpose one. The product does not encapsulate logic any of the logic of the business sector, the product will be used in, other than some configuration settings.
On the other hand, there are some products that specific to a particular domain and has assumptions of it made in the software. I have found that for products with these needs, consultingware and custom development is often more profitable than shrinkware, because you can give the customer that extra level of domain expertise, like a special web app for insurance companies.
Now, I am not saying the core architecture of the product is solely based on that model, but what I am trying to say is the core product architecture can be general level one, with all the common logic and abstractions modelled. But all the custom and special domain logic and functionality are designed to extend this model like plugins or modules and run on top of this.
This way you can have a very successful and fulfilling business model for software products that are intended for specific business domains.
© 2008 Vishal V. Shah. All rights reserved. Contents of this web site reflect my personal work and is not representative of my employer.