Agile Open Northwest 2016 recap

Last week, I spent three days at Agile Open Northwest 2016, a small (300-ish people) agile conference held at the Exhibition Hall at Seattle Center. Well, perhaps ‘conference" is the wrong word; one of the first things that I read about the conference said the following: Agile Open Northwest runs on Open Space Technology (OST)….


You suck at TDD #4 – External dependencies

When I started doing TDD, I thought it was pretty clear what to do with external dependencies. If your code writes to a file system – for example – you just write a file system layer (what would typically be called a façade, though I didn’t know the name of the pattern back then), and…


Response to comments : You suck at TDD #3–Design sensitivity and improvement

I got some great comments on the post, and I answered a few in comments but one started to get very long-winded so I decided to convert my response into a post. Integration tests before refactoring The first question is around whether it would be a good idea to write an integration test around code…


You suck at TDD #2–Mocking libraries

Note: I am focusing only on the design impact of TDD. To better understand the overall impact, see this series of posts by Jay Bazuzi. My first experience with TDD was back in 2002 or so, and it was in C++, so there weren’t any mocking libraries available. That meant that I had to use…


You suck at TDD #1: Rewrite the steps

I’ve been paying attention to TDD for the past few years – doing it myself, watching others doing it, reading about it, etc. – and I’ve been seeing a lot of variation in the level of success people are having with it. As is my usual approach, I wrote a long and tedious post about…


Agile Transitions Aren’t

A while back I was talking with a team about agile. Rather than give them a typical introduction, I decided to talk about techniques that differentiated more successful agile teams from less successful ones. Near the end of the talk, I got a very interesting question: "What is the set of techniques where, if you…


Resharper tip #1: Push code into a method / Pull code out of a method

Resharper is a great tool, but many times that operation that I want to perform isn’t possible with a single refactoring; you need multiple refactorings to get the result that you want. I did a search and could find these anywhere, so I thought I’d share them with you. If you know where more of…


Port/Adapter/Simulator and error conditions

An excellent question on an internal alias came up today, and I wanted to share my response more widely. The question is around simulating error conditions when doing Port/Adapter/Simulator. For example, if my production adapter is talking to a database, the database might be unreachable and the real adapter would throw a timeout exception. How…


Agile team evaluation

I’ve been thinking a bit about team evaluation. In the agile world, this is often done by looking at practices – is the team doing pairing, are they doing story mapping, how long is their iteration length? This is definitely a useful thing to do, but it can sometimes be too prescriptive; a specific practice…


Agile management

A friend at work posted a link to the following article: I’m Sorry, But Agile Won’t Fix Your Products and I started to write a quick note but thought it deserved a bigger response +++++++++++++ Okay, so, I agree with pretty much all of the article. As is often the case, I went and wrote…