Livestock Improvement Goes Agile

[article]

Addressing the Pain
Prior to the workshop, some of the team had attended an “introduction to agile” training class and Software Education’s Software Development Conference (SDC)in March 2009, including a requirements-by-collaboration workshop by Ellen Gottesdiener. This gave them an understanding of the principles and philosophies behind agile methods.

Part of our workshop involved a presentation on the various agile software development practices, followed by extensive debate among the team members about how (if at all) the team could apply these practices to address the pain points and whether the team was prepared to apply them.

The team identified specific practices that could improve the software development process, including the following:

Daily Standups: Meetings that provide rapid and efficient information sharing from within the team.

Retrospectives: Meetings to discuss what has been going well, what has not gone well, and what are we puzzled by; these retrospectives are key in moving these learnings forward every day.

Showcases: Sharing with our stakeholders progress, which enables early and continuous feedback.

It is important to note here that while management provided support, encouragement, and the leeway to make the changes, the team was responsible for selecting those changes.

What resulted was not a branded agile methodology (for instance, we didn’t adopt Scrum or Dynamic Systems Development Method (DSDM)as our approach), but rather a pragmatic set of practices that fit with the agile philosophy and aligned with LIC’s values and behaviors. Our selected practices (iterative development, requirements as stories, sustainable pace, daily standups, social contracts, retrospectives,co-location, adaptive planning, continuous feedback, frequent small releases, automated testing, continuous integration, test-driven development, refactoring, and pair programming)form the core of LIC’s agile, iterative approach, specifically aimed at creating a more collaborative environment with cross-functional teams, each dedicated to a single work stream along with open communication with the customer representatives. We have drawn from the social, management, and technical practices of a variety of branded agile methods as they reinforce each other and provide us with the improvements we were seeking.

Learning the Practices
Having identified the practices that team members felt would help them improve the software development process, the next step was for everyone to agree upon an implementation approach. After a team discussion, we decided to train everyone in the practices using real LIC projects, reorganize team members into two cross-functional teams, co-locate those teams into a reorganized space, and get them started on two work streams.

Our first step was to provide some structured training on agile for the whole group, including courses in team practices, stories, testing, project management, and programming techniques. To ensure that the team could implement this training in a real-life scenario, they undertook the training using real LIC projects. (We had hoped to select non-critical projects in terms of scope, time, and budget, but this wasn’t possible in our commercial environment.) Farm systems needed to deliver two major projects within the next year: the next release of the MINDA product and a new, pasture-to-plate traceability product. The group formed two cross-functional teams, and the training began.

During the excercises, the two teams worked on identifying the stories for their projects. In a single, one-day, collaborative workshop, they scoped the two projects, identified the user stories, prioritized and estimated the stories, and produced initial release plans for the products. This was an enlightening experience. The teams were totally focused on their individual projects with no task switching, and they had the right people in the room and the necessary tools (flip chart, paper, pens, and wall space) to achieve their goal.

Rob Ford, general manager of the farm systems division, said during day one of the “Requirements as Stories” training course, “We achieved in one day what normally takes us six weeks!”

We had learned a powerful lesson. Given the right people, a dedicated focus, a collaborative approach, the right tools, and the right environment, we could deliver.

Story writing workshop

Figure 1: The story-writing workshop

About the author

Jenny Saunders's picture Jenny Saunders

Jenny Saunders has worked in the IT industry for a variety of organizations and varying disciplines over the last twenty-three years. Eighteen of those years have been in the UK working for the banking sector, automation industry, electronics retail industry and the Metropolitan Police. For the last five years she has been based in Hamilton, New Zealand working for Livestock Improvement Corporation; managing the Farm Systems Software Development Group, who are responsible for delivering, maintaining and supporting their customer facing software technology products.

About the author

Shane Hastie's picture Shane Hastie

Shane Hastie (@shanehastie) is the Chief Knowledge Engineer and Agile Practice Lead for Software Education (www.softed.com) a training and consulting company working in New Zealand & Australia. Since first using XP in 2000 Shane's been passionate about helping organisations and teams adopt Agile practices. Shane is a key member of Software Education's Agile Practice, offering training, consulting, mentoring and support for organisations and teams working to improve their project outcomes. In August 2011 he was elected to the board of the Agile Alliance (www.agilealliance.org).  Shane is a news editor for InfoQ (http://www.infoq.com/author/Shane-Hastie) and he blogs on the Software Education Trainers Blog (http://blog.softed.com/)

 

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Nov 09
Nov 09
Apr 13
May 03