Most software solutions fall short of customer expectations due to one common problem:
Not properly capturing the relevant business data.
Failure to capture the relevant data makes it difficult, if not impossible for the business to measure results. In my article, What Makes a Business Application, I explain how application design requires a thorough understanding of the affinity between process and data. Keep in mind that the data captured at the end of the process is all that remains from the business process.
Automation involves the instantiation of a business process into a software solution. The process or execution of the business process captures, transforms, and stores data about the business process. Issues generally arise when the software solution only captures data about the final result. The process loses the data used to arrive at the final result creating a data gap or lose of relevant data.
Often the ‘relevant data’ is not understood by the system developers and data is captured for system processing reasons without necessarily considering any business needs for capturing data. This is where understanding the business helps the developer determine what data is transient to the application and what data should be persisted. Suppose you are asked to develop an online loan application system. What data is relevant and what steps do you take to ensure you capture the data relevant to the consumer and lending institution.
To demonstrate this, take the example of applying for a loan. You log in to an online loan application. You are asked to provide data about yourself including income, loan amount and possibly what you plan to do with the loan proceeds. The rules engine uses all the data you entered to determine whether or not you are eligible for the loan. Once the rules engine completes it only captures the data needed to identify you, the application number, date of the application and the loan decision. No data explaining how the loan decision was made is captured.
You are notified that you are denied the loan. You call the lending institution to question the decision. The representative looks up your application and confirms that you have been denied. You ask questions about why you were denied and the representative can not answer anything but repeat that you were denied for the loan and what date you applied.
The sparse data stored by the web loan application leaves both the customer and the business representative frustrated. If the loan application captured additional data about the loan process such as income, loan amount or reason for the loan decision. This data would help the representative help the customer consider other options. Suggesting a lower loan amount might be enough to get the loan approved. The additional data about the process helps both the business and the customer.
Failure to capture the ‘relevant data’ used by a business process happens much more often than it should. This gap in data results in lost business and often requires manual processes or expensive rework to address the data gap. When building an application, put yourself in the position of both the business and the customer. Ask yourself what would you want to know about the business process you just automated.
Capturing the ‘relevant data’ about the business is one of the key success criteria for any application development effort. Are you saving enough of the data input to explain the business result? Can you easily provide the details to support the data you are reporting? Can you re-construct the process from the initial data capture to the result reported with the details you store? For many business process automations, the only output is data so make sure it is complete and represents the complete business process.