Editorial Note: I originally wrote this post for the NDepend blog. You can check out the original here, at their site. While you’re there, have a look around at some of the documentation around code metrics and queries.
I’ve made no secret of, and even frequently referred to my consulting practice, including aspects of IT management consulting. In short, one of my key offerings is to help strategic decision makers (CIOs/CTOs, dev managers, etc) make tough or non-obvious calls about their applications and codebases. Can we migrate this easily to a new technology, or should we start over? Are we heading in the right direction with the new code that we’re writing? We’d like to start getting our codebase under test, but we’re not sure how (un) testable the code is — can you advise?
This is a fairly niche position that’s fairly high on the organizational trust ladder, so it’s good work to be had. Because of that, I recently got a question along the lines of, “how do you get that sort of work and then succeed with it?” In thinking about the answer, I realized it would make a good blog post, specifically for the NDepend blog. I think of this work as true consulting, and NDepend is invaluable to me as I do it.
Before I tell you about how this works for me in detail, let me paint a picture of what I think of as a market differentiator for my specific services. I’ll do this by offering a tale of two different consulting pitfalls that people seem to fall into if tasked with the sorts of high-trust, advisory consulting engagements.