How to Succeed on the Road to Digital Transformation: Agile and User-Centered Software Development
The trend towards digital transformation is not new. It has been around for the last decade and it has become a top priority for many companies. But how does a company succeed with its digital transformation? An ongoing study in cooperation with AUDI AG examines the challenges and success factors of agile and user-centered software development. By Hosei Ghafur
The road to digital transformation is agile and user-centered.
As the environment we live in becomes increasingly digital, the impact on other areas of life, such as our working life, becomes much deeper and more impactful. Things that were previously seen as innovative have now become the new normal. Mobile, cross-platform and fast as well as user-oriented user experiences have become part of our daily lives. The importance of software has increased in our daily lives. In the course of this, agile software development has gained popularity due to its flexibility and the involvement of users in the development process with the aim of developing useful software. However, in a world of smartphones and apps, where customers expect intuitive and easy-to-use software that enables them to achieve their goal as easily and as quickly as possible, this is no longer enough. To develop successful software from the user’s perspective, a user-oriented approach must be followed. In this context, the user-centered design approach is widely used, which places the user and his requirements in the focus of the development process with the aim of creating a user-friendly experience for the user. As a result, the integration of agile software development and user-centered design has gained increasing interest both in practice and in research.
How can Developers, Designers, and End Users successfully collaborate in an agile and user-centered software development project?
Although both the agile software development approach and the user-centered design approach have parallels, such as an iterative development and the involvement of users in the development process, in practice it is a challenge for project teams to successfully integrate both approaches. The scientific literature also deals with the challenges of integrating both approaches at different levels (Salah, Paige, & Cairns, 2014; Brhel et al., 2015). While numerous studies deal with the challenges of integration at the process and method level, there are only few studies that examine the communication and collaboration between project members. Previous studies have examined challenges and success factors in the collaboration between developers and designers from the perspective of the two roles. But especially in view of the increasing striving of companies for the digital transformation of internal processes, the successful collaboration between developers, designers and users is particularly interesting. Our research sheds light on the topic for the first time and shows the central challenges and success factors of this interdisciplinary collaboration and offers recommendations for action on how the collaboration between these different roles can be successfully designed.
We dive into the real-life environment of Developers, Designers, and End Users to study their collaboration.
In order to understand what the challenges and success factors are in the collaboration between Developers, Designers and End Users, we conducted a long-term ethnographic study. We accompanied an agile and user-centered project team, consisting of Developers, Designers and End Users over a period of 20 months and learned how project team members behave in a real-life setting. In addition to participating in all project meetings and observing how the project team members interacted and collaborated with each other, we conducted in-depth interviews and were able to create an understanding of how a successful collaboration between the different roles can be achieved from the perspective of each project team member.
Our recommendations for action:
We find that the main challenges lie in the different mentalities and languages between Developers, Designers and End Users and in the lack of understanding of each other’s disciplines. Our insights allow us to develop recommendations on how to address these challenges:
1. Assign the right people to your project and give them the necessary freedom
The required efforts for an agile development are often underestimated by customers. It is essential to assign the right people to the project and to train them. The collaboration with Developers and Designers in an agile and user-centered setting requires End Users who are motivated and able to engage with the necessary high involvement in the project, who can deliver adequate results under pressure, and who are flexible in changing their work processes according to feedback from the rest of the team.
2. Enable joint discussions within the whole team
The differences between Developers, Designers, and End Users that arise due to the fact that they have completely different understandings, mentalities and expectations from each other and speak different languages can only be bridged by joint discussions. It is important for the whole team to build a shared understanding through these discussions. Thus, it is essential to schedule at least one meeting with all key players or representatives of each group in the sprint.
3. Build trust and create transparency
As a result of the different understandings between all roles, uncertainties arise among the project team members during discussions about a different discipline from their own. To overcome these uncertainties, it is essential to build trust and transparency within the team. For a successful collaboration, especially in the context of a customer-supplier relation, it is important that each team member trusts the statements made by other team members and that there is no feeling of wrongful treatment or distrust on either side.
4. Bridge the differences between End Users and Developers with the help of Designers
The designers play an essential role in this trio, as they act as an intermediary between the users and the developers. Not only do they help users to better understand their requirements, they also help to transfer this understanding to all project members through their conceptual and visual work. Only by going through the design process together, a common understanding among all project members with regard to the requirements can be created, which is essential for the success of the project.
Hosei Ghafur: email@example.com
Kooperationspartner: AUDI AG
Brhel, M., Meth, H., Maedche, A., & Werder, K. (2015). Exploring principles of user-centered agile software development: A literature review. Information and software technology, 61, 163-181.
Salah, D., Paige, R. F., & Cairns, P. (2014, May). A systematic literature review for agile development processes and user centred design integration. In Proceedings of the 18th international conference on evaluation and assessment in software engineering (pp. 1-10).