First presentation today was about code metrics. Sure, he threw the word agile in the title, and it had some relevance, but at the end of the day, the talk was about metrics. The presenter was Neal Ford, and he was pretty good. I had mixed expectations coming into this talk - I wasn't sure if it was going to be a lot of crazy math and theories. It turned out to be a really good look at some meaningful metrics, and more evidence against KLOC.
Some interesting points:
We aren't engineers, and we probably won't ever be - software engineering is a myth.
Automated metrics gathering is the best way to go - and even better would be to track how they change over time
Java has a lot of really good tools in this space, .Net has some catching up to do (although we do have FxCop, NDepend, and SourceMonitor (which actually does most languages), but they have Panopticode, which totally rocks)
Some useful metrics:
Unit Test Code Coverage (Branch coverage is most important)
Cyclomatic Complexity
Npath complexity - an improved Cyclomatic - it counts actual paths through the code
Chidamber & Kemerer object-oriented metrics suite
Crap Complexity (crap4j - there are rumors of a .Net version)
My "grand-boss" has been on a hunt for metrics, and KLOC and Feature Points have come up a lot. I'm hoping maybe with this newfound knowledge, I can help steer him away from those outdated metrics... Wish me luck!