Category Archives: Software

Metrics: When the Numbers become the Goal

In general, I’m in favor of development teams gathering metrics. Metrics about your codebase or test execution times can tell you a lot, especially if you track them over time for trending. Metrics about your development process can help you … Continue reading

Posted in Process, Rant, Software | Tagged , | Leave a comment

The Limits of Specifications

Most descriptions of software development processes begin with the idea that you have some notion of what you want to build. The degree of specificity varies. At the least precise is the very loose, one-sentence story point or “product idea”, and at the … Continue reading

Posted in design, Process, requirements, Software | Tagged | Leave a comment

Complexity and Third-party Tools

Great article here from Alan Holub. The only thing I would add is that I don’t think his experiences with Jersey are, in any way, an exception. I think they are the rule. Which is why it is vitally important … Continue reading

Posted in design, Software | Leave a comment

Interviewing Candidates

I was reading an interesting post on interviewing today, and came across this: Whiteboard and coding interviews also routinely ask people to re-implement some common solution or low-level data structure. This is the opposite of good engineering. A good engineer will try … Continue reading

Posted in Software | Tagged | 3 Comments

“Friend” classes, C#, and encapsulation

Ran into an interesting situation today: Client-server application A class representing domain data that is used by both client and server assemblies — so that’s three assemblies: One for the data class One for the server class (uses the data … Continue reading

Posted in Coding, design, Software | Tagged , | Leave a comment

Design Damage and Mocks

Two recent articles that are well worth reading. First, from David Hansson: Test-induced design damage And a rebuttal from Bob Martin Test-Induced Design Damage? I think both articles make some good points. On this issue I tend to agree more … Continue reading

Posted in design, Software, Testing | Leave a comment

The Requirements Conundrum

Requirements are handled in a variety of ways by different projects. They might be written down formally, or stated informally, or not really written down at all. They might be determined before work begins, or be discovered during development, or … Continue reading

Posted in Process, Software | Tagged | Leave a comment