Category: Project Management
Articles on project management in development teams, and how project managers can get the most out of their engineers’ work with NDepend.
What Makes a Codebase Acquirable?
What makes a codebase acquirable? This is the rare question that affects software developers, managers, and executives in a surprisingly similar way. And that’s saying something since, by and large,...
Code Coverage Should Not Be a Management Concern
You could easily find yourself mired in programmer debates over code coverage. Here’s one, for instance. It raged on for hundreds of votes, dozens of comments, many answers, and eight...
In Defense of Using Your Users as Software Testers
In most shops of any size, you’ll find a person that’s just a little too cynical. I’m a little cynical myself, and we programmers tend to skew that way. But this...
How to Use NDepend’s Trend Charts
Imagine a scene for a moment. A year earlier, a corporate VP spun up a major software project for his organization. He brought a slew of his organization’s software developers into...
How to Evaluate Your Static Analysis Process
I often get inquiries from clients and prospects about setting up and operationalizing static analysis. This makes sense. After all, we live in a world short on time and with...
Pulling Your Team Through a Project Crunch
Society dictates, for the most part, that childhood serves as a dress rehearsal for adulthood. Sure, we go to school and learn to read, write, and ‘rithmetic, but we also...
What DevOps Means for Static Analysis
For most of my career, software development has, in a very specific way, resembled mailing a letter. You write the thing, and then you go through the standard mail piece...
Computing Technical Debt with NDepend
For years, I have struggled to articulate technical debt to non-technical stakeholders. This struggle says something, given that technical debt makes an excellent metaphor in and of itself. The concept...
What Metrics Should the CIO See?
I’ve worked in the programming industry long enough to remember a less refined time. During this time, the CIO (or CFO, since IT used to report to the CFO in...
Recovering from a Mission Critical Whiff
A career in software produces a handful of truly iconic moments. First, you beam with pride the first time something you wrote works in production. Then, you recoil in horror...
The Relationship Between Team Size and Code Quality
Over the last few years, I’ve had the occasion to observe lots of software teams. These teams come in all shapes and sizes, as the saying goes. And, not surprisingly,...
The Best Christmas Present to Give Your Developers
When Christmas time arrives, it comes with the need to buy gifts, eat too much food, and attend various gatherings. All of that comes awkwardly together each year in the...
New Year’s Resolutions for Code Quality
Perhaps more than any other holiday I can think of, New Year’s Day has specific traditions. With other holidays, they range all over the map. While Christmas has trees, presents, rotund...
How Much Code Should My Developers Be Responsible For?
As I work with more and more organizations, my compiled list of interesting questions grows. Seriously – I have quite the backlog. And I don’t mean interesting in the pejorative...
How to Scale Your Static Analysis Tooling
If you wander the halls of a large company with a large software development organization, you will find plenty of examples of practice and process at scale. When you see this...
Alternatives to Lines of Code (LOC)
It amazes me that in 2016, I still hear the occasional story of some software team manager measuring developer productivity by committed lines of code (LOC) per day. In fact,...
Making Devs, Architects, and Managers Happy with the Static Analysis Tool
Organizations come to possess a static analysis tool in a variety of ways. In some cases, management decides on some kind of quality initiative and buys the tool to make...
Static Analysis for the Build Machine?
I remember my earliest experiences with static analysis. Probably a decade ago, I started to read about it during grad school and poke around with it at work. Immediately, I...
The Relationship between Static Analysis and Continuous Testing
As an adult, I have learned that I have an introvert type personality. I do alright socially, don’t mind public speaking, and do not (I don’t think) present as an...
How to Perform Effective Team Code Reviews
I’ve heard people say (paraphrased) that teams succeed uniformly, but fail each in its own unique way. While I might argue the veracity of this statement, it evokes an interesting...
Rewrite or Refactor?
I’ve trod this path before in various incarnations and I’ll do it again today. After all, I can think of few topics in software development that draw as much debate...
Secrets of Maintainable Codebases
You should write maintainable code. I assume people have told you this at some point. The admonishment is as obligatory as it is vague. So, I’m sure, when you heard...
How to Get Company Coding Standards Right (and Wrong)
Nothing compares with the first week on a new job or team. You experience an interesting swirl of anticipation, excitement, novelty, nervousness, and probably various other emotions I’m forgetting. What...
Keep Your Codebase Fit with Trend Metrics
A while back, I wrote a post about the importance of trends when discussing code metrics. Metrics have an impact when teams are first exposed to them, but that tends...
Considering a Port to .NET Core? Use NDepend
An American colloquialism holds, “only two things are certain: death and taxes.” If I had to appropriate that for the software industry, I might say that the two certainties are death and...
Measure Your Code to Get Back on Track
When I’m called in for strategy advice on a codebase, I never arrive to find a situation where all parties want to tell me how wonderfully things are going. As...
How to Deliver Software Projects on Time
Someone asked me recently, almost in passing, about the keys to delivering software projects on time. In this particular instance, it was actually a question of how to deliver .NET...
Static Analysis Isn’t Just for Techies
I do a lot of work with and around static analysis tools. Obviously, I write for this blog. I also have a consulting practice that includes detailed codebase and team...
Avoid Technical Debt with NDepend
The term “technical debt” has become ubiquitous in the programming world. In the most general sense, it reflects the idea that you’re doing something easy in the moment, but that...
How to Get Developers to Adopt Coding Standards
If you’re a manager, there’s a decent chance that the subject of coding standards makes you want to bang your head against a wall repeatedly. If you’re a developer, you...