Blog

Software Analysis - Richard Seidl

Written by Richard Seidl | Dec 10, 2024 6:00:00 AM

The acquisition of complex software for a public mobility provider presented the project team with unexpected challenges. With an approach that combined static analysis, agile methodology and close customer coordination, the project was successfully completed. Particularly noteworthy was the flexible response to new requirements and the development of a strong relationship of trust with the customer. The insights gained provide valuable inspiration for similar projects and offer practical advice on how to successfully handle complex projects.

Podcast episode on software analysis

In this episode, I have Sonja and Helmut as guests. They talk about taking on a complex software project for a public mobility provider, where they encountered numerous unexpected problems. Using a combination of static analysis, agile methodology and close customer coordination, they were able to successfully complete the project. Particularly impressive was their ability to respond flexibly to new challenges and gain the client’s trust. Their key findings and advice provide valuable insights for anyone facing similar projects.

“We then simply provided an expert and a developer in advance, so to speak, to take a big, rough look and simply check whether the thing was worth taking over or not.” - Helmut Nitsch, Sonja Trimmel

Helmut Nitsch has been Head of Digital Assurance at Eviden since 2022 and has more than 20 years of experience in software testing. He started his career as a project manager and head of the billing team at UPC Austria, where he also led the user acceptance test team for more than seven years. He also built up the test organization at Austria’s largest telecommunications provider (A1) and did the same at Austrian Post.

Sonja Trimmel is an experienced project manager and scrum master with a solid technical background in computer science. Over the past nine years at Atos/Eviden, she has successfully managed numerous projects, demonstrating her ability to master complex technical challenges and deliver innovative solutions. Her academic background in computer science and data science has contributed significantly to her success.

Highlights of the Episode

  • Automated tools for code analysis help to assess the quality, maintainability and security of software.
  • It was found that a third of the code was missing or was only available in the form of compiled black boxes.
  • Close collaboration and regular communication with the customer were crucial to the success of the project.
  • An agile mindset and flexibility proved to be key success factors.
  • Migration rehearsals were carried out to ensure a smooth process, especially as the migration took place during the vacation period.

Software analysis and migration: Success strategies from the field

The first impression counts

A successful software project begins with a clear analysis of the current situation. In an example project, which included a ticket store for local public transport, the software was introduced without detailed knowledge of the code base that had been adopted. It was therefore necessary to first gain a rough overview of the system. By providing experts to analyze the code base, it was possible to determine whether the system was at all viable and maintainable. There were numerous surprises and ambiguities in the code, which made the start of the project more difficult.

Automated analyses as the key to success

Automated tools such as SonarQube played a central role in analyzing the code quality. Static analyses provided valuable insights into the maintainability, robustness and security of the system within a very short time. These tools identified critical weaknesses and provided concrete suggestions for improvement. This made it possible to carry out a well-founded evaluation of the system even under high time pressure.

The challenge of missing documentation

Insufficient or non-existent documentation was one of the biggest hurdles in the project. Some system components were delivered late or were only available as black boxes. This made it considerably more difficult to understand the entire system. However, these hurdles were overcome through close cooperation and clear communication. The team’s flexibility and adaptability proved to be decisive factors here.

Agile mindset as a success factor

An agile mindset was essential in order to be able to react quickly to unexpected challenges. Flexibility was required from both the customer and the team. This attitude made it easier to find solutions to problems that suddenly arose and to successfully complete the project despite numerous surprises. The client’s willingness to actively participate and apply agile methods also contributed significantly to the success.

Top learnings for future projects

A diversified team setup is a key factor for successful projects. Even if a project seems easy to plan at first glance, there should always be room for adjustments. In addition, testing should never be neglected. A comprehensive testing strategy saves time and money in the long term, as it helps to identify and eliminate weaknesses at an early stage. These findings are essential for the successful implementation of future projects.

Frequently asked questions about software analysis