Agile and the Theory of Constraints – Part 3: The Development Team (1)

(Note: The first version of this was a very random draft rather than the first part that I wrote. I blame computer elves. This should be a bit more coherant) This episode of the series will focus on the development team – how a feature idea becomes a shippable feature. A few notes before we…

0

Stop writing bad tests. Write only the tests that you can do great.

I’ve been working on a talk on ways to make unit testing easier. I has not been going well; I’d come up with an approach I liked, do most of the slides for it, come back to it, and be unhappy with what I had written. This happened – and I am not exaggerating –…

4

You Suck at TDD #8 – Doing fewer things

Welcome back to You Suck at TDD. Today’s code will show up in the Improvements-Phase-3 branch if you would like to follow along. In our last episode, we concentrated mostly on the Employee fetching and filtering. Things are better, but we still have a problem… Well, actually, we have a number of problems, but we’ll start…

1

Agile and the Theory of Constraints – Part 2: The development cycle

In the last post, I talked about some of the analysis used in lean. Now, let’s see how we can apply the same principles to the software world. I will start by trying to create a value-stream map. But where to start? There are three levels at which we can do the mapping: The entire organization,…

0

Agile and the Theory of Constraints – Part 1

I’ve been spending some time over the past few months exploring the lean side of the house and looking for things I can adapt into the agile side of the house. The most interesting thing I found was the theory of constraints. After spending some time writing this, I realized that I need to split…

3

Doesn’t pairing cost twice as much?

(I was recently involved in a discussion about pairing, and I think what I wrote will be of more general interest.) Many teams evaluate pairing from a simple mathematical perspective. Total work done = # of team members * amount of time spent working If you want to increase the amount of total work done, then…

3

You Suck at TDD #6 – Improvements Phase 1

Welcome to the first post on improving the yucky code. I have a few points I’d like to cover briefly, and then we’ll dive into the code. First off, I’m going to end up refactoring to a specific endpoint, but that is not necessarily the only endpoint or even the best endpoint. Not only are…

0

You Suck at TDD #5 – Homework

It is now time for me to turn the tables on you, to present you with some homework. If you take a trip to my Github account, you will find the following lovingly crafted repo. In it, you will find some yucky code. It’s not terrible code – in fact, it’s pretty average code from my…

0

Port/Adapter/Simulator: read-only and write-only dependencies…

When dealing with many external dependencies, the Port/Adapter/Simulator pattern works great. But what about dependencies that are read-only – such as consuming an information feed from another system – or write-only – such as sending a notification to a user? Can we use P/A/S in those scenarios? The answer is a qualified "yes" – we…

0

You suck at TDD #3 – On Design sensitivity and improvement

Through an above-average display of ineptness, I managed to overwrite my first version of this post with a response I wrote to the comments. Since I’m too lazy to try to reconstruct it, I’m going to go a different direction. In a recent talk about design, I told the attendees that I was going to…

4