subscribe via RSS
Recent Articles
-
How I'd Like Automation Engineers to Support Delivering Features
Between the programmers and the testers stand the automation engineers, who allow each of those other groups of people to focus on what they do best, all in the service of delivering features more effectively.
-
Making Use of 'Silly' Advice: Part 3
When we read advice that ignores our context, we have a choice: ignore it, refute it, or allow it to help us. Here, we explore a way to get more value from that advice, even when we feel the impulse to merely react to it.
-
Forecast Costs Responsibly
I routinely encourage clients to resist forecasting project costs, especially at the detailed level of tasks, stories, features. I do this because I think they could spend their precious energy elsewhere more effectively and with greater benefit. Even so, project costs tend to stir up intense emotions, so people struggle mightily to set those concerns aside. If you insist on trying to forecast cost more accurately, then I’d like to point you towards helpful advice on doing that without tying yourself up in knots.
-
Slack's Role in Managing Software Projects: Revisited
When I first read the “Slack” section of Extreme Programming Explained, nearly 20 years ago, it shocked me. It instantly repelled me. Over time, however, I have seen the wisdom of that approach and I’d like to share that wisdom with you.
-
Making Use of 'Silly' Advice: Part 2
A simple substitution is all it takes to transform silly advice into something valuable! Here is an example that you can find just about everywhere on the internet.
-
Our Collective Struggle Over Technical Debt
People have struggled to understand and make use of the concept of Technical Debt for over 20 years now. I offer one idea with the hopes of reducing even just a small amount of our collective suffering.
-
Making Use of 'Silly' Advice
Some advice seems just silly: pointless, nitpicking, arbitrary. You could yell at it, complain about it, ignore it, or perhaps find a way to make use of it. I offer you an example of how to do that.
-
Giraffe Ears: An Example
A practical example of how to use the “Giraffe Ears” concept from Nonviolent Communication, taken from conversations that programmers routinely have with their coworkers.
-
Two Simple Tools for Handling Open Loops
Get things out of your head by combining
sleep
andsay
, or whatever those tools are called on your system. Schedule 30 minutes to investigate them and figure out how to use them. -
How TDD Seems To Go Against Agility
Yet another person yells absurd thoughts about TDD that seem ludicrously easy to debunk. But what if their absurd thoughts are perfectly sensible? What would that mean about TDD and its role in Lightweight Software Development or “agility”? If we put on our Giraffe Ears, we can see the situation differently and possibly even—shockingly—be helpful.
-
The Trouble With 'Readable' Code
I routinely encounter programmers complaining about “unreadable” code, who then play games of refactoring tug-of-war in their code base. By describing more precisely what they don’t like about the code, they can agree with less effort and move on with their lives.
-
Not Only X, But Also Y
Learning a new way doesn’t immediately invalidate the old way. Recommending one way doesn’t mean recommending against the alternatives.