Working at a distance is hard. There is a reason all the Agile methodologies recommend co-location. You miss: A sense of presence Hallway conversations Rich shared environment (whiteboards, flipcharts, …) Personal cues – you can’t tell when someone is focused or would welcome interruption. It’s very difficult to build trust. You don’t share the same […]
Software Development
Protected variables cause subtle bugs – don’t use them
This has been said before: Protected variables are evil (blog post gone). But apparently as I’ve been doing some debugging into the Eclipse code I’m reminded it needs saying again. Let’s suppose we write a base class public class SimpleBase { protected Object value = new Integer(10); public printValue() { system.out.println(value.toString()); […]
Don’t call overridable methods in constructors
MS has a rule about this in FxCop. PMD has a rule: ConstructorCallsOverridableMethod. In both cases the point is to discourage the following weird behaviour. From Eclipse: public abstract class CellEditor { protected CellEditor(Composite parent, int style) { this.style = style; System.out.println(“CellEditor constructor”); create(parent); } […]
Which Mock to Mock with? JMock? RMock? EasyMock?
After years of making half hearted attempts at test driven development I’m finally taking the plunge and doing it properly. After only a few days of doing TDD I got tired of implementing interfaces long hand. It’s especially annoying since you typically only care about one or two methods in the object but have to fill […]
Why Scrum Works?
The first of my three part series “Why Scrum Works?” has been posted on Miskin Berteig’s blog: Agile Advice. The last two parts will be published here on Wednesday and next Tuesday (Monday’s a holiday in Canada). Why Does Scrum work? Why do any of the Agile methodologies work? How does Scrum help teams deliver […]
Top 8 Agile Books: Beyond the Basics
Now you’ve read the basic introductory books to Agile Software development and you want to learn more, here’s my recent reading list: Agile Software Development: The Cooperative Game (2nd Edition)” by Alistair Cockburn. Possibly the most interesting book I’ve ever read about agile software development. Its not about any one methodology, instead Alistair analyses game […]