Of course it depends on the specifics, but I was wondering if anyone who has been through this before has any war stories or generic pearls of wisdom that might help me make a decision. I’m rather going round in circles…
I have read all the 37 signals ‘simplicity is best’ stuff and it’s very seductive. But frankly I (and everyone I have suggested Basecamp to) find their offerings over-simple and lowest common denominator. They don’t work for us.
My proposed app is a self-funded SAAS project management app for a niche in the construction industry which involves Hierarchical Bills of Materials (BOMs), Project Costing, Procurement Management, Change Orders etc. Target users are technically unsophisticated but they are frustrated with current offerings for their niche, which are over-simple and inflexible. More conventional and powerful project management systems don’t work for them either.
Here is the dilemma. Is it better to:
A. Implement a very simplified BOM methodology which does not strictly model the real world.
Pros:
App is initially easy to understand and use and perhaps more generic & flexible. Much quicker to develop.
Cons:
Inherently limited in functionality as the projects it is used to manage become bigger and more complex. Difficult to build in deep/powerful features later.
or
B. Implement the BOM strictly like the real world with all its inherent complexities.
Pros:
Much better foundation for long term growth in powerful/deep features. More robust data model can handle real world changes etc.
Cons:
Probably 5 times more work to build. More difficult for users to understand and learn.
Of course one could say ‘Build it simple to start with and then add complexity later.’ Perhaps I’m wrong, but I see these two paths as mutually exclusive because to achieve ‘A’ involves structural compromises which in order to achieve ‘B’ later are likely to make changes in data architecture (to a live system) a complex nightmare.
Any comments?