Structured software evolution of legacy software
It all started with an architecture assessment performed as part of a structural analysis lasting several days. This was used to identify critical system components that proved profitable when restructured and optimized with due consideration for the objective. In the interests of preserving software reliability, automated tests were used to increase the code coverage prior to the actual restructuring. Next, individual system components were revised as part of two subprojects. During the first subproject, it was necessary to combine the functions of different product versions in order to develop a configurable product platform. This meant a number of core components had to be redesigned. During the second subproject, one module was migrated to a new technological basis to make future module expansions both possible and more efficient.
The project's technical challenges lay in improving the software's quality features, without compromising its functionality. In particular, the software's character had to be retained so that the users didn't need to adapt their working processes and habits in line with the changed system. Although a migration like this always comes with certain risks, the allocated budget and the allotted time frame should not be exceeded. As regards project management, the aim was to combine the benefits of agile development with a traditional and highly regulated market environment. This included a dynamic adaptation of the scope and the option of short feedback cycles.
The organizational challenge lay in the team's distribution. The team comprised developers from ZEISS Digital Innovation and ZEISS Vision Care, who worked in different physical locations. This challenge was overcome through the intensive use of tools for distributed work, such as screen sharing. A daily update meeting was also used to define any further communication needs.