OCTOBER 2021CIOAPPLICATIONSEUROPE.COM8IN MYOPINIONowadays software development is characterized by continuous change, rapid adjustments and increasing complexity. Serving the customer in the best possible way is the greatest goal, along with efficiency. To achieve this, there are always new technologies, an ever-increasing amount of data to use and various agility methods available. Agility is indeed imperative today to develop requirements in line with the market. During development or change, it is necessary to check whether requirements are changing and react accordingly. However, one must not lose sight of the big picture and the dependencies.In organizations, agility in software development is becoming more important. Almost no development team today does not work in an agile manner. There are cross-functional teams in which developers, designers, product managers, quality assurance work together with Scrum masters or agile coaches. The development process is organized in sprints and software is built and extended iteratively, piece by piece. The number of software components and techniques used has increased, for example, due to microservices or the use of cloud technologies. System landscapes have also changed accordingly and offer a high degree of flexibility, for example with continuous integration. No more waiting for a release every 6 months, but new versions or bug fixes every 1-2 weeks or even continuously. In addition, product teams e.g. in e-commerce have become more specialized and there is not only a store team, but one for the home page, the product detail page, the recommendations and the checkout. The coordination efforts increase accordingly. Due to the bigger complexity of the systems and system landscapes, it is also becoming ever more challenging to think of every single aspect.My observations and experiences in practice taught me that the agile way works well across teams. These changes have significantly accelerated the speed of development and delivery. Varying customer needs can be responded to quickly, so the products gain a high level of acceptance. What is missing in some cases, however, is a holistic view of things. Only a few members of the organization are aware of the significantly more complex system landscapes and their dependencies - especially the technical and business view in combination. Sometimes the checkout in the store is modified and the corresponding team is forgotten to be informed to adapt the data and tracking concept. Or a manual credit note process is partially automated, but the interface to the ERP, accounting and reporting system is overlooked- to name just two examples.To ensure the success of large and comprehensive development initiatives or system changes, Durstexpress has established a small, powerful team of in-house consultants. These colleagues are experts in the individual value-stream processes and support all business and tech colleagues. The goal is to ensure the business processes are integrated holistically in the software applications and data flows. In doing so, all stakeholders must be involved accordingly, informed about changes or trained. In the following example from last year, I describe how at Durstexpress we successfully met the challenges mentioned - introduction of delivery windows.Initialization phase: The initial requirement that came from the business was the need for the delivery window functionality. It should be possible to choose a defined delivery window within the following 3 days in addition to the immediate delivery. Agile Software Development in Complex System LandscapesGunnar ObstGUNNAR OBST, HEAD OF PROCESS & PROJECT, DURSTEXPRESSN
<
Page 7 |
Page 9 >