August 2012 Archives

YAPC::Europe 2012

I'm now back in Paris after a week in Germany. I was attending YAPC::Europe 2012 and the only negative thing I can say is that it was hot. Sitting in stuffy rooms on a hot day with no air conditioning is not fun, but obviously this is not something the organizers had any control over.

Corion did a fantastic job of organizing the conference and when the main hotel wasn't available for me, he found a hotel close to a zoo so that my wife and daughter could have something to do. I wish I could have joined them, but skipping conference days wouldn't have been very respectful given the work the conference did to have me there.

Slides for my YAPC::Europe 2012 Keynote

When I gave my keynote at YAPC::Europe 2012, I had not yet put the slides online because the talk was very much a work in progress. My intent was to repeatedly update the slides until I felt comfortable with them, but the talk was popular enough that people kept requesting the slides, so here are the slides for Agile Companies Go P.O.P.

A few notes:

  • Slideshare did an awful job of converting them
  • Slides are like subtitles: you can lose a lot of important information
  • There a few areas which need to be rewritten.

The basic idea of the talk is simple: just as having a powerful V8 engine doesn't mean you have a car, using XP, Scrum or similar agile project management methodology doesn't mean you're agile. An agile company goes P.O.P.:

  • People
  • Organization
  • Process

The process bit is what most of us think when we say "agile", but you need the right people and the right organizational mindset to get to truly have an agile company.

In later posts, I'll expand on this topic.

In other news, I have a workaround for that awful "Text was entered wrong" error on my blog. You should be able to comment, even if you're anonymous (it will be held for approval). Also, we've gotten syntax highlighting working again.

And if you really pay attention, you'll notice that there is paging at the bottom of the front page now. Thanks Aaron :)

Use exceptions instead of calling croak()

This little bit of test code was causing me a lot of grief:

You see the regex for qr/Table.1111111111.doesn't exist/? Due to a slight rewording in the error message, that test kept failing. However, it was failing in a way that the following test used to keep failing. As it turns out, I had fixed a bug these tests were designed to catch but it looked at first like I hadn't fixed the bug. Because of the changed error message (and me misreading the test number), I spent a lot of time trying to track down a bug that did not exist.

If I had been throwing proper exceptions, my tests would be trying to validate the class of the exception, rather than the text of the exception. I could have changed my error messages at will without worrying about breaking my tests. Yet another reason why you usually want exceptions instead of calling die or croak.

Agile Companies?

I've been doing some research into how different companies operate and I was curious if people would be kind enough to give me examples of companies they would consider "agile" in overall company organization, project management, or some other aspect. For example, I've heard some companies update their live site when devs push their changes to the main branch. That would be far more agile than than the typical change management process most companies require. Other companies avoid project managers under the premise that projects requiring managers have grown too complex.

If you can think of any examples, I would love to see them. Links would be helpful as I'd like to be able to do some more digging.

On a completely related note: I'm finding most studies on how successful companies are run are full of crap.

About Ovid

user-pic Freelance Perl/Testing/Agile consultant and trainer. See http://www.allaroundtheworld.fr/ for our services. If you have a problem with Perl, we will solve it for you. And don't forget to buy my book! http://www.amazon.com/Beginning-Perl-Curtis-Poe/dp/1118013840/