Improve your .NET code quality with NDepend

siemens logo

How Siemens Healthcare manages over 500 million lines of code – An NDepend Case Study

Siemens Healthcare produces imaging equipment for the medical sector in a variety of fields and is based in Germany. Looking to reduce development costs on the next generation of medical imaging equipment, Siemens decided on a platform approach. They have been kind enough to share what they did in an NDepend Case Study.

This brought forth three specific challenges for the company:

  • How can we guarantee the stability of APIs?
  • Can we even make a breaking change?
  • How do we guarantee quality over builds?

Keep in mind that Siemens’ code base is over 5 million lines of code that has been worked on by over 200 developers. Most of their code are also part of multiple .NET technologies. Operating in the medical sector means that their code has to be extremely reliable. With customers constantly requesting new features, maintaining such a large code base was really difficult as even small changes could impact the code’s reliability. Throw in the constant battle of code erosion, and you have a potential recipe for an expensive process as the code becomes too big to maintain.

However, Siemens was able to overcome these challenges by doing the following:

  • Using NDepend to help developers document and distribute their breaking changes.
  • Using NDepend’s CQLinq feature to quickly asses and deal with dependencies and address breaking changes.
  • Developing a custom tool based on the NDepend API to compare two snapshots of two different code bases

The end result is that Siemens has successfully managed to improve efficiency, cut costs, and maintain code quality over a huge code base being worked on by tens of developers. As a side effect, their teams of architects and developers now work much better together and have better communication. Overall, Siemens overcame all the challenges in their new approach by using the best tool available – NDepend.

“The benefits of adopting NDepend in our development efforts are clear. The work of our architects is made more concrete and a lot of time is saved. Meantime, the overall code quality has increased, making our code base a better place to develop.”



Click below to download the full NDepend Case Study : Siemens Healthcare

ndepend case study siemens button


My dad being an early programmer in the 70's, I have been fortunate to switch from playing with Lego, to program my own micro-games, when I was still a kid. Since then I never stop programming.

I graduated in Mathematics and Software engineering. After a decade of C++ programming and consultancy, I got interested in the brand new .NET platform in 2002. I had the chance to write the best-seller book (in French) on .NET and C#, published by O'Reilly and also did manage some academic and professional courses on the platform and C#.

Over my consulting years I built an expertise about the architecture, the evolution and the maintenance challenges of large & complex real-world applications. It seemed like the spaghetti & entangled monolithic legacy concerned every sufficiently large team. As a consequence, I got interested in static code analysis and started the project NDepend in 2004.

Nowadays NDepend is a full-fledged Independent Software Vendor (ISV). With more than 12.000 client companies, including many of the Fortune 500 ones, NDepend offers deeper insight and full control on their application to a wide range of professional users around the world.

I live with my wife and our twin kids Léna and Paul in the beautiful island of Mauritius in the Indian Ocean.