Such a modular approach allows functions to be successively cut out without jeopardizing the overall network. This ensures improvement and porting to new technology standards, while the old system continues to perform reliably at the same time. This stabilizing circumstance is particularly important for operators of critical infrastructure.
The fundamental restructuring of the digital architecture offered the transportation company in question the opportunity to develop a holistic and fully future-oriented IT strategy.
To date, the operator's software has mainly been used for personnel deployment planning for vehicle drivers and the connection of directly adjacent third-party systems. The system, which has been running for 20 years, covers all domains necessary for operation (e.g. personnel and working time management, driving and order planning as well as processing, working time recording and documentation, etc.).
One of the biggest challenges therefore lies in the organically grown IT monolith itself: The system's processes are so interwoven that it is difficult to dissect them. However, this is necessary in order to separate individual functions and, if necessary, implement them using more modern technological means. In addition, not everything in the old system is properly documented or the existing documentation might be out of date. Any consequences of a “dissection” with regard to functionality are therefore unpredictable. When setting up new software, it is important to meticulously document it from the start and thus enable a smooth transfer of knowledge in the future.
The ultimate goal for operators of critical infrastructure is always to guarantee a system's availability. The core task therefore includes ensuring the continued operation of the system, eradicating glaring weaknesses and also streamlining processes and functionalities. In the long term, the system should be based on a modern IT architecture. All individual goals can only contribute to a broader sense of increased resilience and help making the system effective, efficient and crisis-proof in the long term.
In order to create structure in a very complex system, a software development solution based on strategic domain-driven design (“DDD” for short) was chosen. This is basically very simple: domains are defined and core processes are worked out. The good thing about this attempt is that with established domain knowledge, developers are enabled to understand the specialist processes and speak a uniform project language - both in terms of software development and documentation. This ensures a more sustainable transfer of knowledge.
The DDD Approach is therefore one that is developed from human practice, less one that focuses strictly on technical requirements and limitations. Users should not have to adapt to the technical conditions of a system; systemic processes should be much more likely to adapt to the users' needs. Since IT is not an end in itself, but rather a means of achieving other goals, developers should be able to technically represent a respective process within a complex system in the best way possible. DDD provides a framework that helps to identify purely technical and practical aspects, to unbundle them and, if necessary, to replace them.
By gradually cutting out individual functions, a fragmented IT system can be brought up to date with the latest technological standards — at the same time, the existing monolith is maintained accordingly until the conversion to a modular solution is completed. The appropriate and professional reduction in complexity within the system can be regarded as an important factor in terms of IT resilience. Unnecessary functions and superfluous code residuals can make downstream maintainability extremely difficult in the long term. In addition, the structural simplification makes it much easier both to carefully train new employees and to adequately introduce them to the system and to guarantee sustainable documentation for future-proof knowledge transfers.
The customer was supported both in formulating the general IT strategy and with regard to the specific project management method. For the project management method, the operator chose an agile approach for further development in joint agreement: loosely based on the Scrum framework, Kanban boards were introduced with prioritization for maintenance work. This made it possible to provide the customer with the best service. In particular, a project with a high level of complexity and numerous stakeholders who optimize coordination and planning and for which regular exchange is therefore essential, benefits immensely from this methodology.