Agile Transition – Let’s have end-to-end agility! What exactly does this mean, and what does Agile mean in the context of software and systems engineering? Fraunhofer IESE has many years of experience with »Agile« in the area of software engineering, which is now becoming a holistic topic for many organizations.
Sie möchten den Artikel lieber auf Deutsch lesen? Hier geht es zum Artikel: »Wie agil ist Ihr Unternehmen? So geht der schrittweise Wandel hin zu einer agilen Organisation«
When we talk about »Agile«, we mean many different aspects of software engineering. All of them build upon the Agile Manifesto of Software Development, which defines the values and principles of the »Agile« approach. We propagate the incremental transition towards an Agile organization: starting with a single Agile team, to an Agile project, then via Agile organizational units to an Agile company (s. figure below). This means that the transition should take place bottom-up so that the company can gently benefit from »Agile«.
Agile at team level
The first steps in the transition towards an Agile company start at the team level. Here it is important to begin with an as-is analysis of the current development process and development team. In the context of the as-is analysis, we determine, among other things,
- which methods & practices are already being used,
- in which organizational context this takes place, and
- which goals are to be pursued in the process, resp. where in the process problems and challenges exist.
Companies often wonder about the agile maturity of their organization or that of a single project. One way to answer this question are Agile Maturity Models (AMM). They enable assessing the maturity of a project or even of an entire organization in terms of agility based on defined criteria and phases. A comparison of existing AMMs performed by Fraunhofer IESE revealed a series of very different application purposes – from benchmarking via the detection of bottlenecks to self-assessment. With this knowledge, Fraunhofer IESE supports companies in defining a maturity model that is suitable for them – taking into consideration context and goals. On the basis of existing AMMs and practical experiences, we have developed self-assessments for Scrum as well as for Culture and Mindset.
Starting with this analysis, we can define how the team can evolve with regard to their processes. For this purpose, the Agile Potential Analysis developed by our department is instantiated. The aim of this analysis is to define the appropriate degree of agility as a set of Agile practices. Established practices are selected with our objective help based upon the individual goals and the specific context, e.g., regulations (Automotive SPICE). Fraunhofer IESE has assembled and described all of this in a Pocket Guide.
Agile at project level
At the interface between the transition levels »Team« and »Project«, we find the issue of »Agile Systems Engineering«. Particularly in embedded systems, synchronization between different teams is important, e.g., between hardware and software teams.
The interface between team and project is only one special case of agility in a non-agile environment. Solutions for better and more agile alignment at the interfaces between different company areas will play a major role in the future when it comes to making companies Agile all over. With the tight integration of development and operations, the so-called DevOps (Development and IT Operations), the extension of agility across various areas of a company is already being considered. In the future, other company areas such as Marketing, Sales, or Human Resources, must also be enabled to collaborate more flexibly with Agile development teams.
Once a company moves beyond the project level in its transition, the focus shifts to the scaling of agility. Scaling takes place across a project, a program, or a portfolio, up to an entire organization. In the context of an as-is analysis, different scaling models are compared and characterized with regard to the advantages and disadvantages of their individual application. With the help of a tool-based approach developed at Fraunhofer IESE, companies can then select the approach that is most suitable for them.
Agile at organizational and company level
In addition to software development processes, selected business processes can also be assessed and improved. Here, the focus is on the implementation of practices from Agile software development in the business processes of different areas of an organization, such as Daily Stand-up or Taskboard. In this context, the first step is to identify and implement suitable practices for the considered business process. Next, the impact on the process is evaluated. Due to the multitude of existing business processes, this is a complex endeavor. In industry and research projects, Fraunhofer IESE explores how to support companies in digitalization scenarios with the help of agility. This method makes it possible to make single areas of a company Agile and paves the way towards a more Agile company.
Do you have any questions? Does your company want to work in an Agile manner? Are you already in the middle of it and are you stuck? Get in touch with us! We will find the next steps that are right for you.
Sabrina Hörner, Anna Schmitt, Sven Theobald