Software - starts with a journey:
Mapping out the journey users will take, allows the system designer to uncover exactly what the minimum requirements are to fully achieve their objective, whilst meeting underlying system requirements. Frequently, this means using defaults and auto-fill functionality which must be identified and adopted across the system as a whole; ideally before the "heavy" system design is started. As this is difficult to achieve without significant, front loaded time inputs - the system must be designed to be very flexible, to be simple to modify and add-in new requirements later.
Storage is cheap, and it is much more important that users are able download an entire table -
- without a join (for personal, local analysis).
Database technology has massively improved performance of large, 400+ data-field tables:
30 years ago, using so many fields was an impossibility - today, it is usually a benefit.
One should avoid attempting to design & build an entire business model system ready for a "big bang".
Software must be cost effective: at all stages.
Human Interactions may need to change - allow for it.
Map out the business processes first - then cut out 66% of them.
Make sure the system will deliver the required outputs.
Then start graphic design.