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…

9

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…

1

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…

6

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…

0

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…

5

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…

0

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…

1

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…

2

A little something that made me happy…

Last week, I was doing some work on a utility I own. It talked to some servers in the background that could be slow at times and there was no way to know what was happening, so I needed to provide some way of telling the user that it was busy. I started writing a…

0

What makes a good metric?

I got into a discussion at work today about metrics – a discussion about correctness vs utility – and I wrote something that I thought would be of general interest. —— The important feature of metrics is that they are useful, which generally means the following: a) Sensitive to the actual thing that you are…

0