Today at the Scrum Gathering in Seattle, I held a session on “Managing Software Debt in Practice” where we got into: Using Sonar for trending metrics and spelunking into code quickly Executable Design using Behaviour-Driven Development (BDD) Acceptance Test-Driven Development Teams developing towards 1 Product Backlog item at a time rather than design/code/test throughout a [...]
Archives for Java
Using Sonar Metrics to Assess Promotion of Builds to Downstream Environments
For those of you that don’t already know about Sonar you are missing an important tool in your quality assessment arsenal. Sonar is an open source tool that is a foundational platform to manage your software’s quality. The image below shows one of the main dashboard views that teams can use to get insights into [...]
Extreme Feedback from My Tools – Part 1: Maven 2 Configuration
For many years now, it has been a goal of mine to get feedback as early as possible when developing software. Past blog entries here and here have discussed how we can approach increased feedback. A tweet from Jason Gorman mentioned his list of tools that provide continuous feedback on his code and design: “Emma, [...]
Designing Through Programmer Tests (TDD)
To reduce duplication and rigidity of the programmer test relationship to implementation code, move away from class and methods as the definition of a “unit” in your unit tests. Instead, use the following question to drive your next constraint on the software: What should the software do next for the user? The following coding session [...]
Top 25 Open Source Projects — Recommended for Enterprise Use
This is a bit off my usual topics on this blog but I am a heavy open source user and this article is something that I hope gets to more enterprise operations, managers and executives. I have been using and deploying production available applications using open source tools, libraries, and platforms for over 12 years [...]
Executable Design — A New Name for TDD?
For multiple years now I have thrown around the name “Executable Design” to describe Test-Driven Development (TDD) and how it is used for design rather than a test-centric tool. The name itself causes problems for those who are initially introduced to the technique. As a coach I was looking for a way to introduce it [...]




