carnival of the agilists, 9-nov-07

Welcome to the latest edition of the Carnival of the Agilists, the blogroll that skims the cream from the top of the agile blogsphere. This week’s theme is: a bumper bag of liquorice allsorts

Brian Marick has posted the transcript of his OOPSLA talk in several parts. Part 3 discusses Pasteur’s attempts to educate the French about the causes of anthrax, and relates that to a fun idea for energizing daily stand-up meetings: “another example of using a weirdo theory from sociologists to give myself ideas.” Meanwhile Mark Levison has revived his team’s iteration boundaries by introducing good agendas: “By breaking things down into smaller more focused chunks the new agenda (and prompting questions) has made our retrospectives more valuable”. Dale Emery also chips in on the subject of efficiency, with a great discussion of the causes of multitasking: “If I split my time among all six tasks, I get to tell all six people every day that I’m making progress on their important tasks. And I get to be sincere about that”. (I have no idea why this post appeared in my RSS reader this week, as it was written over two years ago. Still, it fits here and its still very relevant today; think of it as this Carnival’s “Two Years Ago This Week” entry…)

Both Mark Levison and Dave Rooney discuss the downsides of working remotely from the team. And while Mark (and his commenters) provides a list of tools and techniques to help improve communications, Dave’s top tip is: “Remind your significant other that hay and shavings from the rabbit’s cage shouldn’t be washed down the drain in the laundry room.”. Now why didn’t that practice make it into the white book?

Rebecca Wirfs-Brock reports on the findings of a workshop that discussed Challenges When Communicating Designs: “I started by making the connection between telling others about designs and storytelling. Effective designers need to tell good stories. And the tone and means by which we communicate design ideas should vary depending on the reasons we have for telling a particular story, and our audience’s background and expectations”. Now I think about it, the great developers I’ve worked with are all great story-tellers too; Rebecca’s discussion suggests that’s no coincidence.

Michael Feathers’ latest addition to the Beautiful Code blog is a post entitled Elegant Byte Counting, which centres on the use of the SpecialCase pattern to solve a tricky little code duplication problem: “This is a particularly elegant way of handling things. Rather than having separate code to traverse writable things for size and write, all of the work can be done with the same piece of code, the write method. There’s less duplication and less possibility of error in maintenance.” There are nowhere near enough of these great little design vignettes around, in my opinion.

After the summer-long debates about certification of various sorts, Willem van den Ende has discovered that you’ll make more money if you are not certified. He quotes Mark Gallaher thus: “A new report from industry research firm Foote Partners LLC finds that the average pay for noncertified IT skills topped that for certified professionals […]”. Less is more, it seems.

And finally…

The calls-for-participation have been published for both Agile 2008 and Scotland on Rails. Give them a look and submit a few sessions — I know I will!

To suggest items for a future carnival – especially from a blog we haven’t featured before – email us at agilists.carnival@gmail.com. As ever, this and all previous editions of the Carnival are catalogued at the Agile Alliance website. Look out for the next edition of the Carnival around the end of November, hosted by Pete Behrens.

Advertisements

carnival of the agilists, 6-sep-07

Welcome to the latest edition of the Carnival of the Agilists, the blogroll that takes an oblique slice through current events in the agile blogsphere. This week’s theme is: visualization

First up is Kenji Hiranabe’s InfoQ article entitled Visualizing Agile Projects using Kanban Boards. Hiranabe describes and explores a number of different ways of visualizing the current state of a project, including the niko-niko calendar that charts the team’s moods: “a Japanese creation, showing team member’s mood for each day. Everyone puts a smiley mark onto their own calendar after the day’s work, before leaving the team room. It looks at the project from the viewpoint of member’s mental health and motivation.” (Jason Yip wants to try this with South Park avatars!) An interesting survey, even though I’m not sure about the utility of translating these boards into a software system.

In Magnetized Teams Simon Baker uses the metaphor of magnetism to explain the value of having everyone in the team focused on the same things: “In a magnetized material the magnetic dipole moments are aligned in parallel and in the same direction. […] Imagine for a moment that every magnetic dipole moment is a person in a team. In a magnetized team everyone shares the same vision and pulls in the same direction, working together to achieve the same goal”. Simon has also turned his Agile Zealot’s Handbook into a helluva ride poster.

In Towards A Unified Model of Dependency Management Jason Gorman is looking for ways to model and visualize the spread of change through a software system. Does change spread among code snippets in the same way that forest fires spread? And how can we simulate the impact of change using simple models and games? “If we visualise our code as a network of nodes and connections, we can begin to get a handle on how this ripple effect might spread through the network, and what properties of the network might help to localise the effect. More importantly, we might be able to relate these network properties to software design principles and begin to build a general theory of dependency management that could be applied at the code level all the way up to the enterprise level.”

In Continuous Integration as Quality Reflection Oren Ellenbogen reminds us all that making the state of the build visible – via a continuous integration server such as CruiseControl – can act as a spur to drive many of the steps of quality improvement in a software process: “The immediate value is priceless. the ability to SEE whether your source-code is stable enough to allow other programmers perform Get Latest and continue their work and the “fail-fast” attitude can save you a lot of time in the long run.”

And to continue with the benefits of continuous integration, Jay Flowers has been doing some systems thinking. In Loop Diagrams he presents a series of models showing the effects of delayed feedback, finishing with a seriously complex model of effects related to build frequency. Jay points out that this is just the beginning: “This diagram is by no means complete. It is meant to spark a dialogue on this subject. I would like it to to be a resource for people who are evaluating possible changes to their environment or even just to understand what is going on in there existing environment.” I’ve found myself using systems models like these more and more frequently in recent months, and I believe our industry has a lot to gain from modelling and visualising the complex feedback systems inherent in our working environments; so I will be watching the development of Jay’s models with great interest…

And finally…

Deb Hartmann notes that “Agilists are more likely to gather in a pub or cafe to exchange ideas, than to write a formal paper. As a result, the number of small local gatherings held within the international Agile community is staggering” – so she’s created a public AgileEvents Calendar at upcoming.org. I’ve already added the next AgileNorth event – why not add yours now!

To suggest items for a future carnival – especially from a blog we haven’t featured before – email us at agilists.carnival@gmail.com. As ever, this and all previous editions of the Carnival are catalogued at the Agile Alliance website. Look out for the next edition of the Carnival around September 20th, hosted by Pete Behrens.

carnival of the agilists, 3-aug-07

John Brothers has posted the latest edition of the Carnival, entitled I’m running late. This is a perennial topic for all software development projects, and doubly so for those of us who take a lean or TOC view of productivity and change, so props to John for bringing that focus to the carnival this time around.

Speaking of TOC, one recent post that escaped John’s attention is Multi-Tasking: Why projects take so long and still go late by Kevin Fox. Every time I work in a large organisation I find myself writing about multi-tasking – and wondering why “common sense” is so rare…

carnival of the agilists, 19-jul-07

The latest edition of the Carnival is brought to you by Pete Behrens, with a distinctively “management” flavour. And having myself been called an Agile Nazi – and worse – I gained some support from the posts I had missed first time around, particularly Julie Brooks’ Who Coaches the Coach?.

The next Carnival is due in the first week of August; subscribe to this blog or a search feed to be notified of future Carnivals of the Agilists.

how to subscribe to the Carnival of the Agilists

Brian Marick emailed me to ask whether the Carnival has an RSS feed. The simple answer is ‘no’, but there are several services around that will allow you to subscribe to a search for Carnival of the Agilists articles – Technorati or Google, for example. In fact, either of these is likely to be more foolproof than relying on us to always remember to tag our carnival posts correctly.

carnival of the agilists, 5-jul-07

This latest edition of the Carnival focuses on what is rapidly becoming a cornerstone of agile methods: Test-Driven Development. Or Test-Driven Design if you prefer. Or Example-Driven Development. Or Behaviour-Driven Development.

First up, Jeremy Miller discusses Designing for Testability: “I have yet to see a codebase that wasn’t built with TDD that was easy to test.”

New blogger Eric Mignot gets a lot of Pleasure from introducing a developer to the joys of TDD: “He had discovered that even if you don’t use it from the beginning of your project, TDD is the most fun and efficient way to correct bugs.”

And David Laribee speaks about the suspension of disbelief to those who have never tried TDD, afraid to make the leap of faith: “Check your disbelief at the door, stay in the cycle, and wait for the payoff. A bit further down the path, when you’ve finished the story and tests are passing, you’ll all of a sudden have a working, shippable, F5-able feature without ever having hit the debugger.”

Brian Marick laments the standard pitfall of demonstrating TDD using an existing codebase: “The usual reason it fails is that the code wasn’t written test-first, so it’s hard to do anything without instantiating eighteen gazillion objects.” So Brian has created a (draft) TDD workbook, in which you get to add features to a real application that has already been developed for you using TDD; potentially the best of both worlds.

When it comes to writing good tests (as opposed to just writing tests), many bloggers – most recently James Newkirk – have mentioned or reviewed Gerard Meszaros’ xUnit Test Patterns, which Eugene Wallingford says is really three books in one: “I have the best of two worlds: a relatively short, concise, well-written story that shows me the landscape of automated unit testing and gets me started writing tests, plus a complete reference book to which I can turn as I need”.

If you prefer behaviour-driven development (BDD) to TDD Dan North has recently developed rbehave for Ruby: “Inspired by [rspec], I wanted to find a simple and elegant way in Ruby to describe behaviour at the application level.” Moments later Joe Ocampo ported the idea to NUnit for C# too! The BDD world is fast-moving right now, with new tools and new experience posts popping up all over; is it the “next big thing”?

And finally, please nominate someone for one of this year’s Gordon Pask awards. If you don’t know what they are, or what they mean to the software development community, read the thoughts of Laurent Bossavit, one of last year’s winners. And then nominate someone from your corner of that community.

(While putting this carnival together I was shocked to discover that many recent “TDD” blog posts involved writing code and then writing tests. As so often, it seems the buzzword has greater velocity than the practice itself…)

To suggest items for a future carnival – especially from a blog we haven’t featured before – email us at agilists.carnival@gmail.com. All previous editions of the Carnival are referenced at the Agile Alliance website. The next carnival is due to appear around July 19, hosted by Pete Behrens.