Machine Learning Software Engineering in Practice: An Industrial Case
  Study
  SAP is the market leader in enterprise software offering an end-to-end suite
of applications and services to enable their customers worldwide to operate
their business. Especially, retail customers of SAP deal with millions of sales
transactions for their day-to-day business. Transactions are created during
retail sales at the point of sale (POS) terminals and then sent to some central
servers for validations and other business operations. A considerable
proportion of the retail transactions may have inconsistencies due to many
technical and human errors. SAP provides an automated process for error
detection but still requires a manual process by dedicated employees using
workbench software for correction. However, manual corrections of these errors
are time-consuming, labor-intensive, and may lead to further errors due to
incorrect modifications. This is not only a performance overhead on the
customers' business workflow but it also incurs high operational costs. Thus,
automated detection and correction of transaction errors are very important
regarding their potential business values and the improvement in the business
workflow. In this paper, we present an industrial case study where we apply
machine learning (ML) to automatically detect transaction errors and propose
corrections. We identify and discuss the challenges that we faced during this
collaborative research and development project, from three distinct
perspectives: Software Engineering, Machine Learning, and industry-academia
collaboration. We report on our experience and insights from the project with
guidelines for the identified challenges. We believe that our findings and
recommendations can help researchers and practitioners embarking into similar
endeavors.
