A blog about the joys and perils of software development

Category Archives: Software Development

Unit Test Presentation at Edgeware

Slides from a presentation on unit testing I gave for Edgeware. Continue reading

Was This Test Written to Specify or Fixate Behavior?

When you read unit test code, have you ever wondered why some tests tell a story (easy to read) while others just feel mechanical (more computer readable than human). Continue reading

Measure Your Code Un-coverage

Maximizing code coverage is not the way to maximize the benefits of unit testing. Instead (1) identify the most important user scenarios and (2) measure and analyze the code un-coverage. Continue reading

How Do We Know Our Tests Work Tomorrow?

When writing a test case, good practices suggest that we verify the test can fail. But how can we know the test code doesn’t break later? Continue reading

The Random Sustainable Coder

Looking for good books? Here are two on software development and one on… randomness. “How much of the success in your own career is due to chance? If you’re a stock broker, it’s probably close to 100%. If you’re a software developer, …” Continue reading

Sustainable Software Development, Part 2: Managing Complexity

As the code base grows, the complexity of your code increases. The pace of software development often slows down as the product matures. Why is this? What can we do to manage complexity? Continue reading

Characteristics of a Software Professional

At work, I have been challenged with the question “What are the most important characteristics of a software developer?”. I have created a summary of what I think it takes. Continue reading

Great Videos (and Articles) for a Software Developer

What makes a World Class Software Company? How do I create a good API? Here’s a selection of great videos and articles from the web. Continue reading

Behavior Driven Development

Behavior Driven Development (BDD) is a flavor of Test Driven Development (TDD). In BDD, we have a specification focus instead of a test focus. What does that mean? And how can it help us write better software? Continue reading

Sustainable Software Development, Part 1: Managing Technical Debt

Software projects sometimes go bad. The pace of development is not sustainable. To achieve sustainable software development, we need to keep our focus on what’s important: the long-term health and maintainability of our source code Continue reading