Your company has probably been in business for many years. Have you ever given much thought as to how you derived at the business processes that you currently use? Not many people do, but at some point in time, operating in this manner probably was the most efficient method for your company. Is it still the most efficient, productive method? You be the judge. One of the important considerations in designing business software is flexibility. No two companies operate the same way. In fact, there can be huge disparities in business processes between enterprises of similar sizes. As a software entity, you can’t afford to base your design on one particular framework as you can severely limit the market you sell to. Instead, to cover as wide a range of scenarios as possible, flexibility has to become one of your primary development goals.