In many business software projects, project teams struggle with finding the right balance of how much effort should be put into engineering their business processes. On the surface, spending lots of time sounds like will be paying dividends down the road, but drawback of such an approach is that we might end up with building too much rigidity into our business processes, resulting in lack of flexibility as requirements change.
On the other hand, not spending sufficient time and not paying enough attention to process details can also result in poorly designed systems, resulting in a higher number of workarounds, which kind of defeats the purpose of having a new system in place.
There is no easy answer. It all depends on several factors such as solution capabilities, resource availabilities and business realities. First of all, it is important to have a solution that has more capabilities than we need, it will allow us to go deeper and grow into it in areas that we like in the future. Second, it takes time, resources and skills to engineer a solution, so availability of resources is also a realistic consideration. Finally, every business has to decide in what areas of their business they like more or less business rules to adhere to based on their culture and their differentiating factors.
Don't get me wrong, in areas involving finances, tighter the rules and controls the better, but in areas such as customer interaction and planning, a greater degree of flexibility is usually needed to provide increased support for growing the business and achieving higher customer service levels.