Some time after project is deployed and running, user calls us and asks “why this value for recommended price here is $12.81, shouldn’t it be less?”. Calculation of recommended price is based on some dozen of parameters, which include purchase prices for different parts, price of competitors, that we know, currency rate, discounts and featured offers, and set of other parameters, which are processed in some 5K lines of code.
Such situation is rather common and we always make our software, so that it shows step-by-step calculations to user, of course if user has permissions to view these calculations. This approach has following benefits:
keep number of support calls lower
make end users more confident with software, because software is not a “black box” with “mystery magic” inside, but clear and obvious machine
if there is need to change algorithm, this approach help us save some time when analysing drawbacks of old algorithm and explaining old algorithm to client
it helps our testing department to see internal calculations with no extra effort