Human-Centered Software Engineering as a Chance to Ensure Software Quality Within the Digitization of Human Workflows

. Nowadays, a technological development boost can be observed within information technology and its application possibilities. This development results in a digitization of economic processes and human workﬂows, e.g. within the manufacturing industry. Furthermore, the discussion between digital assistance of employees vs. automation of processes leads to an ongoing change of work tasks or employees’ responsibilities. Decision-makers will have to focus on organizational, human as well as on technological aspects to ensure organizational and employee’s acceptance of digital solutions likewise. Despite all eﬀorts, today’s software products still lack of quality with regards to missing or unused functionality and bad usability. Thus, current software engineering methods seem to be insuﬃcient. Therefore, this paper describes an iterative approach combining software engineering paradigms like human-centered design and agility to enable decision-makers within manufacturing industry to build digital tools that are accepted by their employees and are of value for the company itself.


Introduction
Having a look on today's occupations, there are lots of reasons why people work.The primary objective as well as the most important one is earning a living for themselves and their families [1].Further objectives include to be part of the society, to create an own identity and to keep one's own dignity.Work is vital for everyone and for the society at all.It allows the people to participate, to use their talents, to find contact, recognition and validation within a community.Nowadays, we can perceive an evolution of the working environment due to the digitization of manual workflows, work places or tools.Digitization within the context of manufacturing industry describes the transformation process from traditional handmade activites towards computer-supported activities, e.g.operate a robot or maintain a machine getting assistance through digital glasses.This ongoing change and its impacts on the employees is also known as a part of "Work 4.0" [2].The overall term of Work 4.0 addresses multiple topics.Besides a cultural shift (e.g.work-life balance, demographic change), changes in the standard employment relationship or the globalized knowledge society, the main driver for all these topics is the digitization and automation of human workflows.Software solutions are increasing within the professional work context [3], e.g.enterprise resource planning (ERP) solutions in the administration, cooperative robots in the production or augmented reality glasses in the commissioning.The possibilities are versatile, but they also encourage further discussions about the impacts on the human working life.For example, thinking about the degree of automation within manufacturing industry, there are advantages and disadvantages for digital assistance systems as well as for the complete automation [4].Shall the people or the system be in charge of control and decision within a process?Shall we store the organization's knowledge within the system or shall it be the knowledge of the employee to react on sudden anomalies?Bainbridge [4] describes some ironies of automation in her previous work, which are still up to date.For example, developers of systems designate the human to be the main source of error and build an automated substitute.At the same time, these developers are also humans.Thus, operational errors are often development failures based on insufficient assumptions.In addition, employees are replaced with a system because these systems should be more efficient.Simultaneously, the employees shall monitor and maintain the system and manually take over if necessary using all their knowledge that was replaced by the system before.Hence, an adequate human-system interaction has to focus on the supply with status information as well as to ensure situational awareness at any time.In summary, human working environments, workflows and areas of responsibilities are continuously changing.In addition, the concerns from outside the organization are rising, too.Planning a digitization within an organization challenge the persons in charge to take multiple perspectives into account (see Fig. 1) and deal with possible impacts of used technologies in advance, e.g.ensuring jobs, prevent the loss of knowledge, prevent a temporal condensation of work, increase the product quality.Therefore, modern software and system development will have to increase their focus on the employees using the systems.Project managers or IT departments cannot cope with the challenges on their own.Especially employees respectively end users have to participate in the change process due to the fact that they have to work with the systems at last.Thus, the individual and organizational acceptance as well as the usability and user experience of the system are crucial quality aspects.According to the World Quality Report [5], CIOs and IT executives nominate "Ensure end-user satisfaction" along with "Protect the corporate image" and "Increase quality awareness among all disciplines" for the main three top quality objectives in the quality assurance of software products."Customer [or user] experience" is also one of the five top influences on today's IT strategies.Despite all efforts, today's software products still lack of quality with regard to functionality and usability.According to the CHAOS manifesto [6], approximately 45% of the analyzed software projects have challenges within missing functionalities.In addition, business software in the European medium-sized enterprises lack on unused functionalities (36%) as well as on unusable software (21%) [7].Thus, current software engineering (SE) methods seems to be insufficient, because they don't consider end users in terms of active involvement during the development process.The challenge addressed in this design paper is to establish a participatory and iterative software engineering method combining paradigms like human-centered design (HCD) and agility.Thus, decision-makers within industrial manufacturing companies should be enabled to interdisciplinary build digital tools instead of monolithic systems that are accepted by their employees, by the work councils and are of value for the company itself.The paper is structured as following: First, the authors discuss existing approaches of SE methods with a focus on users and iterations regarding their potentials for the use in the digitization within manufacturing industry.Then, the authors present some contexts from industry project and elicit requirements for an agile SE method.Finally, the concept is outlined and future work is described.

Related Work
Several different software development approaches exist that focus on user participation and iterative development.Therefore, an introduction to human-centered design and agile development is given.Furthermore, a brief overview of combined approaches is presented.

Human-Centered Design
Human-Centered Design (HCD) is an established methodology within software development with a focus on the users of a prospective system [8].HCD intends to create interactive solutions that match the users' needs and expectations as well as to support their tasks towards their specific goals.The advantages are far-reaching and include increased productivity, improved quality of work, and increased user satisfaction [9].One of the central quality attributes for interactive systems is their usability [10].Especially tasks that are either time-sensitive or security-critical benefit from user interfaces (UI), which are suitable, easily to understand as well as controllable.HCD includes lots of techniques to foster user participation (e.g.interviews, observation, prototyping, etc.), but it is still a discussion how to select appropriate techniques and how to integrate them on an operational level within existing software development processes.Thus, outcomes are mostly not directly convertible to software development, e.g.due to their narrative textual representation.Furthermore, HCD is living the prototyping and experimentation concept.Using paper-based or high-fidelity mockups, users' needs will be validated or even discovered during the ongoing development.Current software development methods mostly focus on evolutionary high-fidelity prototypes close to final user interface.However, low-fidelity paper-based prototype will encourage users to provide more feedback because they hold the status of incompleteness and enable people to think about their needs [11].Hence, it will be necessary to "encourage" the organizations in order to ensure software quality using throw-away prototypes.

Agile Software Development
Agile development (e.g.Scrum [12]) enables an incremental development of software having a continuously runnable part of the software ready for reviews with the customer.Therefore, transparency and inspection are two key factors to create a common understanding within a project.However, agile development is not targeted on modeling user requirements and human behavior in a comprehensive way.Having inspections with the customer does not fulfill the expectations of having a broad analysis and evaluation with multiple users who are currently working with a system.Additionally, a systematic and documented way of decisions concerning the interaction or the UI as well as a systematic treatment of user feedback is missing.Talking about users within agile development often means customer feedback or user stories.Unfortunately, customers are not necessary real users of a system and may have a different idea about how a system should work.While the customers' focus is on the business values, the users are more related to their workflow and tasks.In addition, user stories that are only based on assumptions about users instead of empirical data might misdirect to unutilized functionalities.Agile model-driven development (AMDD) is an approach to specify models and implement solutions in an agile manner.Hence, it foster iterations of specifications as well as on solutions.Ambler [13] propose a method to work on models, "which are just barely good enough that drive your overall development efforts".This is done in contrast to model-driven software development approaches, where extensive models are created before starting to write source code.Therefore, the AMDD lifecycle begins with an envisioning stage to specify initial requirements and to sketch an initial architecture.After that, the actual iterations start using model storming, modeling iteration and test-driven development stages completed by an optional review of the developed increment.The iterations are repeated until a software product result meets the requirements.

Agile HCD
Despite different positions towards requirements elicitation or upfront design, agile development and HCD have some similarities.Both focus on quality assurance while iterating with representative persons -business customers (agile development) or users (HCD) -to request continuous feedback.Thus, the main aspects are "quality", "iterations" and "active involvement".Over the last years, several approaches have arisen that addresses the combination of agile methodologies and HCD.For example, Silva et al. [14] presented a systematic literature review identifying 58 relevant papers as well as defining eleven "agile usability patterns" [15] for the early stages of HCD [8]: Plan the HCD activities, describe the context of use, specify user requirements.Belchev & Baker [16] describe the pattern of having a "sprint zero", conducting one-toone interviews in the users' workplace to better understand the overall view of a system before starting to develop.Sy & Miller [17] formulate the "one sprint ahead" pattern to enable and synchronize the communication between the development and UX team at defined times.Gothelf & Seiden [18] describes his experience being a "UX specialist as product owner" to take real user needs as well as customers' interests into account for the prioritization of the product backlog.
In summary, several approaches on user participation and iterative development exist.Software engineering methods based on the Agile Manifesto [19] (e.g.Scrum, XP, Kanban) help us to get more agile but focus on the development itself.Taking the findings of Adolph [20], agile itself is a relative concept, a time based strategy for operational success.It is about reacting to changing environments, respectively the model we have of an environment.This in an utterly important finding as it shifts the focus from a building perspective to a holistic view.Not only speeding up the development process is important, but also improving the decision process.This means that the whole organization have to be open-minded for agility instead of just the development itself.Existing agile methods focus on single detached solutions or monolithic systems, which become deployed at the end of the project.Addressing industrial manufacturing, it will become necessary to digitize the process step-by-step with multiple digital assistance services supporting human workflows.Deploying one digital service might lead to impacts within the organization (e.g.temporal condensation of work or changing tasks) and it will need an overall agility to react on these changing work environments.Thus, digitization will be an ongoing process without any real end and the feedback during the everyday runtime of digital services have to be taken into account.

Human-Centered Software Engineering Method
In order to develop a human-centered software engineering method for the manufacturing industry, the different contexts within three industrial projects have been analyzed using semi-structured one-to-one interviews as well as observations and visits of production facilities.Key questions of this procedure were: How does the workflows look like?Is digital assistance a topic and for which tasks? Are employees involved in the digitization process and how?Insights and statements by the participants have been transcribed.Afterwards, requirements for a software engineering method have been derived within a team workshop based on these information.Then, an engineering method has been sketched to discuss and evaluate its validity and applicability within the three industrial projects.

Digitization within Manufacturing Industry
Having a look at the digitization of human workflows within manufacturing industry it is difficult to choose the suitable degree between digital assistance and complete automation (see Fig. 2).Taking the example of order picking, the first kind of digitization is the (1) "digital copy" of an actual workflow.Thus, a clipboard can be switch to a mobile device with a digital checklist.The overall workflow remains the same as before.A more automated digitization is the (2) "digital assistance".Using augmented reality (AR) and smart glasses the worker can be supported with a pick-by vision system.Thus, the workflow will change because the system undertakes human tasks and will make some automated decisions.Now, the first impacts of the system within the workplace environment might occur, because the person using the smart glasses might be distracted by the system and might not observe its surrounding carefully, e.g. a forklift truck that pass by.The third kind of digitization is the (3) "complete automation".A self-driving industrial truck might collect all parts from a warehouse by its own.The worker in charge will become unnecessary.Thus, all the knowledge about the process is implemented within the system.In a kind of system breakdown, the remaining worker might not be familiar with the previous picking process and the organization might struggle with the situation.Hence, the digitization of human workflows within manufacturing industry depends on the decision with multiple perspectives: business (e.g.reducing costs), human (e.g.changing tasks or responsibilities), society (e.g.work-life balance), politics (e.g.saving jobs) or legislation (e.g.work safety).Decision makers might not be able to predict every impacts before starting to work on a digital system.An agile and humancentered method will provide industrial organizations with an approach to deal with the challenge.

Industrial Contexts
Case 1: Facade Engineering: The organization of this case is active within the context of building construction and supports their customers (e.g.architects, engineers, constructors) with free of charge services in order to convince them to buy their building elements later on.Some stand-alone solutions exist that supports the involved people with some assistance.With the aim to improve the overall construction planning and coordination process and to connect existing solutions, a project has been set up to analyze the context of use within the company (sales, engineering, consulting) as well as with the users of their services.
Case 2: Door and window fittings production: The organization of this case is specialized in the production of individual door and window fittings.The employees in the assembly line perform different task and have to pick the parts of an order from the warehouse or have to adjust their machines or tools according to the order specification.Every information is written on a printed paper sheet that accompany the product through the assembly line.Maintenance information are based on the experience of the employees.For example, information about the quality of drill heads from the ones of Brazil vs. the ones of France is individual knowledge and unknown by the sales department.A project has been set up to analyze possibilities for assistance services and to ensure the individual acceptance by the workers.
Case 3: ATM assembly The organization of this case produce all different kinds of self-service systems, e.g.automated teller machines (ATM).The automated production of the parts needed is followed by a manual assembly line.
Multiply quality gates within this assembly line ensure the quality of the prod-ucts.As the number of produced machines is low within each order due to individualization by the customer, quality problems are reported at a time when they cannot be fixed anymore.A project has been set up to identify possibilities for digitalization of paper-based documentation and quality assistance for the worker.

Requirements
Based on the analysis of the industrial contexts, some requirements were elicited to develop a software engineering method for the digitization within industrial manufacturing.
Decision support: The decision-makers within an organization have to decide which workflows they would like to digitize and in which way they would like to do this.They have to balance different perspectives with different objectives for a digitization.To take all perspectives into account, to foresee possible impacts and to formulate a strategy, a matrix of key point indicators (KPI) have to be developed in order to ensure organizational acceptance.Employee participation: All stakeholders (employee directly interacting with the system; employee that are affected by the system; employee that perceive itself to be affected by a decision, activity, or outcome) have to be involved in the software development lifecycle.They have to participate in every development stage starting with requirements elicitation in order to ensure an appropriate workplace design and individual acceptance.Big picture: Dependencies of human workflows and organizational processes have to be identified in advance to achieve a broader view of the organization and to enable an appropriate interaction and user experience of digitized assistance services.Task suitability: Users' tasks have to be elicited properly as the system represents a tool to support the users in fulfillment of their tasks and goals.
Iterations: User requirements have to be elicited over iterations to evoke implicit knowledge and user needs.The amount of iterations has to depend on the quality of a functionality.Agility: The organizational culture have to allow agile management of workflows and assistance services during runtime in order to immediately react on impacts within the work environment.
Interdisciplinary nature: Interdisciplinary decision-maker teams have to be introduced comprising manager as well as workers, technology scientists, psychologists, sociologists and designer to deploy an appropriate digitization and to enable innovations through the employee.It will support the organizational change within the software-using organization and will create a feeling of participation and decision on the employee level.Architecture: The systems' architecture has to be as flexible as possible to react on changed as well as on new added requirements for the digitization.

HCSE Method
An agile SE method has been developed in accordance with the defined requirements and the given context of manufacturing industry (see Fig. 3).It is divided into four major iterations: Envisioning, modelling, development, operation.
Envisioning: The approach starts with an envisioning stage to build an abstract "big picture" of participating roles, their responsibilities and interactions within the work environment.Thus, dependencies of human workflows and organizational processes as well as later impacts can be identified.Performing contextual inquiries with interviews and observations all stakeholders are analyzed and their context of use is described on an upper level using the concept of flow models (addressed earlier in [21]).Based on this abstract model of the organization a KPI matrix of acceptance criteria for organizational as well as individual acceptance of digital transformation is built.Thereby, a first architectural envisioning of a possible systems' architecture is conducted and quality metrics are defined.Digitization of complex human workflows is step-by-step project.Therefore, the system's architecture should be designed as flexible as possible using e.g.modularization concepts as well as service-oriented architectures (SOA).Hence, a kind of "service toolbox" with multiple assistance services for the workers may arise.
Modelling: To develop each assistance service the concrete human workflow that shall be digitized is analyzed using a deeper contextual inquiry.One focus is also on the workplace to identify restrictions, e.g.no space for installing a touch display or touch isn't an option due to safety gloves the worker wears.All analyzed information about the current workflow are described using task models, e.g.HAMSTER notation [22].Then, the modeled tasks are allocated between the human or the system based on the acceptance criteria the team decided on before.Using these information, prescriptive task models are developed and the needed functionality is derivated.A first validation of the new concept can be achieved using evaluation techniques, e.g.focus groups.Preparing the development of the modeled assistance service a model-to-model (M2M) transformation is used.Thus, the task model is transformed into a dialog model respectively an abstract user interface (AUI) model using interaction description languages, e.g.IFML [23].
Development: The development of the user interface (UI) and the software functionality may be done according to model-driven user interface development paradigms, e.g. the CAMELEON reference framework [24].sation of work, changing job knowledge conditions) will occur during runtime after the deployment of a assistance service.For example, also an earlier deployed service might conflict with the new one.Thus, the organization should be set up according to an agile manner.Hence, a long term evaluation based on the organizational and individual acceptance criteria can monitor these changes and reflect the feedback back into modeling or development stage to improve or replace an assistance service within the service toolbox.

Conclusion
In this paper, the lack of quality within today's interactive systems due to insufficient software engineering methods, which don't consider end users in terms of active involvement during the development process, and the rigidity of requirements in the context of digital transformation have been discussed.The focus has been on the digital transformation of human workflows within the manufacturing industry.Next to the business perspective on reducing production costs, further perspectives have to be taken into account.Employees as well as society, politics or legislation addresses new challenges towards work structures, working time or work environments.Therefore, an approach has been presented that uses human-centered design to focus on the employees' workflow as well as iterations to set up an agile software engineering method that develop assistance services instead of inflexible monolithic systems.It has been shown, but not yet fully validated that the approach of four major stages addresses the specified requirements of the digital transformation within the manufacturing industry.
In our future work we will further expand the concepts in more detail.In a next step the matrix for individual and organizational acceptance criteria as a concept for decision support will be elaborated within multiple workshops with representatives of local industrial enterprises.Furthermore, the approach will be enriched defining roles and responsibilities for the most critical parts.All steps of the approach will be evaluated within further software projects as well as within teaching activities.

Fig. 2 .
Fig. 2. Example: Decision about the degree of automation within order picking

Fig. 3 .
Fig. 3. Design & development method for employee-centered assistance systems Using modelto-model transformations, the AUI model is than transformed in a concrete user interface (CUI) model specified for the target platform.Based on the CUI model the initial code for the final user interface (FUI) can be generated with a modelto-code (M2C) transformation taking appropriate guidelines and style guides into account.Performing usability test with usability experts as well as with employees will ensure the quality of the interaction with the UI.Operation: As the digital transformation is a continuous step-by-step project, lots of changes and impacts on the work environment (e.g.temporal conden-