Archive for April, 2009

Test-driving desktop GUIs (with RubyCocoa)

At MountainWest RubyConf, I gave a 30-minute talk in which I used TDD to implement double-clicking on a table cell to pop open a file chooser, collect a pathname, and put it in the cell. It was recorded. Here’s a page with a selection of video formats. In order to read the code, I recommend the big version.

There are a few problems. The sound goes crackly for a while in the beginning, I messed up my resolution so that long code lines are cut off in the first bit, and I’m not used to being recorded, so I used a laser pointer to point at the code. That was fine for the audience, but leaves you having to hunt for what I’m pointing at.

The video shows not just the flow of TDDing a GUI, but also shoulda, assert{2.0}, and my idiosyncratic wrapper around FlexMock.

The presentation is based on chapter 19 in my RubyCocoa.

The offer of a signed copy of the design sketch is no longer valid.

Enterprise adoption of Agile? What should you have been told/taught?

This is the Age of Enterprise Adoption of Agile. More and more of my email includes sentences like: “Currently, most of our software development follows the
traditional waterfall approach, but we are quickly shifting over to
more accelerated agile approaches like Scrum.”

In many of these places, adoption results in people saying things like “at least my job doesn’t suck as much as it used to”. (That’s an exact or near-exact quote.) Like James Shore, I find that both sad and infuriating. So naturally I’m off to Fix It All, ASAP.

First step: research

It seems to me that what gets lost in enterprise-wide adoption is (1) a clear picture of what project life will be like when everything’s working as it should be, (2) anything like a gut feel for the values that help teams make the right decisions under pressure, and (3) an emphasis on nitty-gritty technical or semi-technical skills (as opposed to quasi-formalised social skills like standups). But I could be wrong.

So let me ask a question to those of you who’ve been involved in an enterprise-wide or otherwise top-down shift to Agile. What do you wish someone had told you at the beginning of the adoption? (Suppose you could go back in time to then: what would you tell yourself?)

Me being me, I hope your message is about actions you could have taken (”you should practice X”, “you should take care to go slow at first“, “drop by Sophie’s desk every day and tell her what’s up”), but you’re the expert on what you needed to hear.

Either reply as a comment to this post or via email to I’ll keep all mail confidential.

If I get enough information, I’ll post a summary.

If this research has already been done, let me know. Not so interested in doing reresearch.