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