“Continuous attention to technical excellence and good design enhances agility,” is one of the principles of the Agile Manifesto. In retrospect, at their ten-year reunion, at least some of the original authors of the Agile Manifesto felt they didn’t state this strongly enough. I believe technical excellence doesn’t just enhance agility, it enables it. Cobbling …
Continue reading “Just Telling Teams to Self-Organize Doesn’t Work”
Read MoreI have had the good fortune of working on two dolphin research projects in my life so far. Dolphins are highly intelligent and their brains are, on average, larger than ours. I like to say that I have the privilege of working with the two most intelligent species on the planet, dolphins and developers. When …
Continue reading “Be Anthropomorphic”
Read MoreOf the handful of programming principles that I live by, the Open-Closed Principle is perhaps the most important. I consider the Open-Closed Principle to be the central goal of all software development and what we should be striving for when doing development, beyond just getting our features to work. I was talking with Jim Shore, …
Continue reading “How Open-Closed are you?”
Read MoreThe Single Responsibility Principle says that any entity, whether a class, a method, or a module, should have a single responsibility. But what is a “responsibility” and how big is it? Is a feature a responsibility or a task or what? I like how Bob Martin defines a responsibility. He says any entity such as …
Continue reading “The Single Responsibility Principle”
Read More