subscribe via RSS

Recent Articles

  • Avoiding Distractions While Programming

    If you have read Getting Things Done, then you can already guess what I’m about to write here: use your inbox. If you haven’t read Getting Things Done, then you need to know what I mean.

  • Flow Requires Focus, Not Time

    You’ve almost certainly heard about flow, an immersive state of intense focus during which a person often does their best, most effective, most rewarding work. I see many people use flow to justify recommending against certain working practices, like open workspaces, pair programming, and incremental delivery, arguing that people need long stretches of time to enter the flow state. Not only does working for long stretches not necessarily help me reach “the zone”, but by working in short bursts, I’ve conditioned myself to reach “the zone” quicker, and more often. I’d like to tell you what I do and how I think it might work.

  • What If We Forget To Write the Tests?

    When programmers forget to write tests for features, we might interpret that as a sign that their heart’s not in it. This easily leads one to look for ways to ensure compliance. Even if you’re well-intentioned, you’re probably barking up the wrong tree.

  • No, Estimates Are Not Evil

    No, estimates are not evil. I beg you not to limit yourself to trying to categorize estimates as entirely good or entirely evil. I don’t have the energy to argue with people who limit themselves to such superficial analysis. This nonsense tires and bores me, so please let’s move on.

  • Redirect Permanent

    Just a little note to tell you this blog has now completely moved to its new home. I hope you find it nicer, especially more mobile-friendly. Feel free to click here to tell me about any problems or annoyances and I’ll do what I can to improve things.

  • Do We Need A New Word For 'Velocity'?

    I don’t know whether we need a new word for “velocity”, but I would like to see more people using the concept of velocity for better purposes than merely to decide how big a stick to beat the programmers with. Given this behavior, I both understand and support the impulse to find a different word.

  • A Farewell to #NoEstimates

    So it seems that in order to enjoy some peace and quiet in 2016 and beyond, I have to give up #NoEstimates. Frankly, I find the whole situation silly, but I no longer get enough value from the hashtag and surrounding discussions to justify the psychic cost. And so it goes.

  • Should We Even Debate Refactoring With Stakeholders?

    Do stakeholders ever need even to hear the word “refactoring”? At all? Can’t we just consider it “part of the job of building software”? If we seek permission to refactor, then shouldn’t we also seek permission to use “if” statements? How extreme a view is this?

  • Extreme Programming Is People!

    I needed to remind myself that Extreme Programming, and indeed any approach to agile software development, focuses on real people solving real problems, and not merely on targets for a change agent’s work, no matter how well-meaning that change agent might be.

  • Stop Giving Away Your Greatest Advantage at Work

    There’s a good chance that you’re working too hard right now. Well, maybe not right now, because you’re reading this sentence, so perhaps these days. I’d bet there’s a very good chance that you’re working too hard these days, and you should consider stopping.