This Twitter discussion with @TinaStewart made write something that’s been on my mind for a long time:
Do I ever!
In fact, building small business and big business (or enterprise) software have very different challenges and require different skills, which I’ve seen first hand.
Building Enterprise Software
The key to building big business or enterprise software is customizations. Large organizations have very specific requirements, sometimes running into hundreds of pages. Even two companies in the same industry could have vastly different requirements for doing the same thing. Therefore, every completed enterprise software implementation is essentially a unique, custom product.
So to build successful enterprise software, you must:
- Start with an application framework that’s flexible enough to meet the needs of a variety of enterprises
- Understand and manage customer requirements. You must be able to get the customer to see that their requirements are met by what your software could be made to (your “best practices.”) This could be very different from what the customer envisioned originally.
- Build custom software. This means repeated cycles of development, testing, and review with the customer, possibly over several years. (See The Mythical Man Month by Fred Brooks: It’s not much easier 50 years later.)
- Train users to use a totally new, totally custom system designed by their bosses, often with no input from them.
This is what we and our partners did with opentaps Open Source ERP + CRM, which has been used with some of the largest companies and organizations in the world.
Building Small Business Software
The key here is ease of use. Small businesses have no time or budget for software selection, customizations, or training. It either works or doesn’t. Many small business owners (myself included) will figure that out within the first 5 minutes.
To build small business software successfully, you must:
- Focus on a feature set with a large customer base. Otherwise you could never cover your development costs with the lowest prices from each small business.
- Know exactly what users need. Think Steve Jobs: How did he always know what you needed before you did?
- Make it super easy.
- Keep support costs down, again by making the software easy in the first place.
- Have enough capital to build it first and then wait for them to come.
Can the Two Ever Meet?
We hope so!
We’re trying to create a new opentaps CRM2. We want it to be easy and fast for small businesses, but with open source modules that allow it to be customized easily to meet the complex needs of larger enterprises as well.
Check back and see how we do…