Lessons Learned from Ancient Wisdom

A Software Review Story
Better Software Magazine
Volume-Issue: 
2013-01
Summary:
Lessons learned long ago from reviews and inspection can be effective today, particularly in collaboration within agile teams. Learn how an organization used review techniques as part of its agile collaboration, including the advantages and potential problems of this ancient wisdom.

This past summer, Dot Graham and I, Rob Sabourin, were working together in the hallowed offices of Grove House in the picturesque hamlet of Macclesfield, England. I was sharing some recent research and task-analysis experiences in the area of agile project collaboration. In many of the successful agile teams I work with, testers collaborate frequently and directly with programmers, business analysts, customers, and other team members.

I collected many examples by interviewing team members and by observing collaboration in action. I documented each collaboration story. My goal was to build resources to help teach collaboration over and above the generic warm and fuzzy team-building approaches. I want to look deeply into how collaboration takes place.

As I started to share collaboration stories, Dot observed that there were several aspects of agile collaboration that bore a striking similarity to a team-based collaboration technique known as "software inspection." In software inspection, a small group of individuals work together to identify defects, weaknesses, and potential improvements in any software development work product. Software inspections have been used since the late 1970s and are implemented independent of the lifecycle model in use. I have been implementing software inspections since the 1980s, and Dot's book, Software Inspection , co-authored with Tom Gilb, has been an important inspiration and guide.

Dot has taught software inspection techniques to inspection moderators and inspectors over many years, focusing in later years on a lean version of the process called "agile inspection." However, interest in inspection seems to have declined in recent years, or at least people aren't admitting to doing it. It is no longer an attractive topic at conferences or discussed much in blogs, magazines, or forums.

We both feel that it is a real shame that these techniques, which are extremely effective, have been abandoned. What is the reason for this? Have these techniques just "gone out of fashion," or have they stopped working?

The agile story in this article is just one example. The story is real, with the company and context sanitized to protect the innocent. Note that the practices described are imperfect and include adaptations that may vary from recommended agile practices or strict adherence to the Agile Manifesto or agile guiding principles.

I present the story with our comments in italics. Dot comments on similarities to recommendations from the "ancient wisdom" but also highlights possible dangers—lessons learned from the past that can help you in the future.

A Software Review story
Sunsoft is the world leader in its product market. It has built this leadership position through rich product innovations and many strategic corporate acquisitions. Its products run on highend workstations and desktops, and typical development projects involve adding new capabilities to existing product families.

Sunsoft products have been on the market for more than ten years. They are based on a large amount of legacy code that has an eclectic history, poor documentation, and is very difficult to maintain. Frequently, small changes to this code introduce regression bugs that are difficult to identify during development sprints. Implementing new features often requires the modification or complete refactoring of code. Sunsoft does not have automated regression testing of legacy features. Automated unit and story tests are being created for new features but not for legacy enhancements.

Sunsoft implements a variation of Scrum. Each product has several feature teams. Each feature team includes a ScrumMaster, designer, test lead, development lead, and documentation lead. Each team also includes a mix of developers, testers, and writers. Team size does not exceed ten members.

Sprints are three weeks long. Products experience a beta release cycle of about two

File: 

About the author

Dorothy Graham's picture
Dorothy Graham

Dorothy Graham has been in testing for more than thirty years and is co-author of Software Inspection, Software Test Automation, and Foundations of Software Testing. She was a founding member of the ISEB Software Testing Board and a member of the working party that developed the ISTQB Foundation Syllabus. A popular and entertaining speaker at conferences and seminars worldwide, Dorothy was the program chair in 1993 and 2009 for the EuroSTAR Conference and holds the European Excellence Award in Software Testing. She has been speaking at STAR conferences since 1992. Now semi-retired, Dorothy has more time to spend on her main hobby—choral singing. Dorothy holds the European Excellence Award in Software Testing and was Program Chair for EuroSTAR in 1993 and 2009.

About the author

Robert Sabourin's picture
Robert Sabourin

Rob Sabourin has more than twenty-five years of management experience, leading teams of software development professionals. A well-respected member of the software engineering community, Robert has managed, trained, mentored, and coached hundreds of top professionals in the field. He frequently speaks at conferences and writes on software engineering, SQA, testing, management, and internationalization. The author of I am a Bug!, the popular software testing children’s book, Robert is an adjunct professor of Software Engineering at McGill University.

Upcoming Events