Is Allurent an Agile Shop?
(The current VP of Engineering at my last company put that question to me today. Here is my quick reply.)
A lot of shops call themselves “Agile,” and it’s not clear that they all mean the same thing when they say it. I’ll describe some of the agile-like practices going on at Allurent.
We use the Scrum methodology for a lot of our projects. There are plenty of benefits to Scrum, and you can read all about them from various Web sources. I find the biggest benefit to be the way it makes progress toward the goal measurable and immediately visible to all concerned. Also, I love the short daily meetings - they really keep the team focused. There’s a structure to those meetings, but it seems to matter less what is discussed than to have a regular, non-disruptive forum for discussion. I find that scrum works best for projects that have proceeded well into the implementation phase, and less so in research and design phases, when the task breakdown is fuzzy. Adopting scrum really calls for a project manager who totally buys into the concept and is willing to push the organization that way.
We do pair code reviews. Every change to get checked in has a second pair of eyes on it first. It’s relatively rare for us to do true pair programming, but that may be a flaw in our culture. It’s just as rare for us to do group code reviews. I find these unproductive in general. Pair code reviews seems like a practical compromise. Low cost, high benefit.
We take automated building and testing to a fair degree. There is a continuous “build watch” automaton that is triggered by a check-in. It alerts the entire team when the build breaks or a unit test fails, and embarrasses the guilty party into immediate action! Our nightly build builds the entire distribution, runs tests against it, and posts the results to an internal web site. As implied, we do write unit tests, using standard frameworks. We are in the process of adopting code coverage measurements as a way to point to potential holes in the unit tests. We have yet to find a satisfactory integration test framework for Flash/Actionscript. Integration testing is our weak spot currently, but there’s hope that a year from now, we’ll have this covered as well. The object is to detect a wide range of problems swiftly and automatically, and stick them right under the developers’ noses.
If that sounds Agile to you, then I guess Allurent is an Agile shop!