Day 2 of the conference, and after last night’s conference party there are a few sore heads and yawns. With user groups taking up part of the afternoon, it was a slightly shorter day, but still plenty of good sessions and chat in between.
Agile at mid-life track: Fractal TDD
Steve Freeman talked about how We can use tests to help us identify places in our system that need to be refactored, in particular where we may want to begin pulling out new classes to take care of things like logging. He presented many examples of code before and after refactoring, so that it was clear how the changes could make the code clearer and neater. Many of the changes introduced for tests also had uses and benefits in production. He also described common unit test smells: too many assertions, magic set ups and long, long tests with an unclear purpose.
Technologies and Tools: Programmer Anarchy
As so many of my ex-colleagues work at Forward, I wanted to see what all the fuss was about, and Fred George didn’t disappoint! He described their working environment with a high level of trust both within the development team and between them and the business. One of the interesting points for me was how all of the applications are tiny, just a few hundred lines each. Instead of creating one monstrous codebase, each application just does one thing and does it well – like store data, or produce one report. This also means they can use the best technology for each part, and they use a wide variety including hadoop, clojure and Ruby. It certainly sounds like a programmer’s paradise.
Agile at mid-life track: Beyond Retrospectives
Linda Rising reminded us all of the importance of retrospectives as a driver for change, rather than a whinging session. She suggested at the next stage beyond retrospectives is continuous feedback: why not have a real time timeline in the team area? Some other things we can all try: take five minutes at the end of every day to reflect on the small wins of the day, experimenting with one or two new practices every day, making all meetings stand ups or even standing up to work (moving more keeps us healthier and happier).
Agile at mid-life track: Measuring Progress and Performance in Large Agile Developments
Andy Carmichael described his role as a lead scrum master across about a dozen scrum teams, out of a total of a hundred. He acknowledged the management attitudes that make it difficult to run agile in large, waterfall organisations, such as wanting to harass the team (sorry, “give them a pep talk”) when it doesn’t look like velocity is high enough. It’s not easy to move management away from the belief that the guys doing the (shortened) upfront planning are “all knowing” when it comes to estimating large projects accurately, and towards considering how to change the plan when things go wrong. The metrics were detailed and I can think of many managers I’ve worked with and for who would love this kind of visibility, but I can’t help thinking it moves the focus away from trust and empowerment.