Patrick Smacchia [MVP C#]

Sponsors

The Lounge

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Using NDepend on large project, a success story

 

Sébastien Andreo just wrote a blog post explaining how using some NDepend features made the life of its team easier. Sébastien is a software architect at Siemens Healthcare in Germany and its team uses NDepend for over 18 months. The team is massive with more than 100 developers located on several sites and the project is around 7 years old. With around 2.5M Lines of Code, the code base is very large. For example, the entire .NET Framework v3.5 (including ASP.NET, WindowsForm, WPF, WCF...) weights 8.5M IL instructions while these 2.5M Lines of Code compiles to 13M IL instructions (+ some C++ code that compiles to x86).

Sébastien explains that thanks to the fine impact estimation made possible with Code Query Language (CQL) the team can now rationalize deliveries and avoid breaking accidentaly the build. Making a clear estimation of changes consequences enhances the communication between co-workers and leverages the team anticipation skill. With NDepend, the team can precisely estimate which part of the code needs more attention (typically brand new code, complex code, entangled code, refactored code...). Thus they can increase the value of their smoke tests and focus automatic tests effort.

Also Sébastien confirms that all our work on performances is relevant. In a context of such a large code base the analysis duration dropped from 25 minutes to 6 minutes (from a Clear Case virtual file system which has a negative impact on performance). On smaller code base the analysis duration is a matter of a few seconds. In 2009 we plan more performance improvements because the time of users is precious.

Sébastien ends up its post with a wish list and I take a chance here to answer it:

  • Plug-in mechanism  for Runtime dependency check (private, spring.Net, …): This is planned in the mid-term, and I will write some blog posts soon to explain our stance on the subject.
  • Multi language support (Java seems to be on track with  www.xdepend.com): Yes XDepend (NDepend for Java), will see the light of the day within the next months. A public beta will be available within the next weeks.
  • CQL complex Query support (multi select in one query): Yes query composition will be delivered in 2009. However, we can hardly provide a clear date by now.
  • In the visualNDepend class browser the possibility to apply some filter, (a CQL filter perhaps). If you have a lot of assemblies you can easily find the targeted one without scrolling through the whole list. Yes, we are currently working on increasing the CQL results panel usability to add even more flexibility to VisualNDepend.
  • Plug-in mechanism for the NDepend project. You are currently supporting VisualStudio but what’s about MonoDevelop, SharpDevelop eclipse or others… I am not sure that we will support others IDE than Visual Studio in the future. But more integration is part of our plan for 2009 and some integration APIs will be made public for those who want to integrate some NDepend capabilities into some environments.


 



Posted Sun, Jan 4 2009 7:24 PM by Patrick Smacchia

[Advertisement]

Comments

Alan Wake wrote re: Using NDepend on large project, a success story
on Sun, Jan 4 2009 3:09 PM

Is XDepend running on Windows only?

Dew Drop - January 4, 2009 | Alvin Ashcraft's Morning Dew wrote Dew Drop - January 4, 2009 | Alvin Ashcraft's Morning Dew
on Sun, Jan 4 2009 4:44 PM

Pingback from  Dew Drop - January 4, 2009 | Alvin Ashcraft's Morning Dew

Patrick Smacchia wrote re: Using NDepend on large project, a success story
on Sun, Jan 4 2009 6:20 PM

Alan, yes it will run on Windows only due to the fact that a lot of .NET code will be shared by NDepend and XDepend.

Alan Wake wrote re: Using NDepend on large project, a success story
on Mon, Jan 5 2009 6:22 AM

Ok, thanks for the reply.

Friday Links #33 | Blue Onion Software * wrote Friday Links #33 | Blue Onion Software *
on Sat, Jan 10 2009 9:46 AM

Pingback from  Friday Links #33 | Blue Onion Software *

Add a Comment

(required)  
(optional)
(required)  
Remember Me?