Nimble Rabbit

Nimble Rabbit (aka Lapin Agile) is our software development process / guideline we will follow for our development efforts including NTOSpider.

History

In 2009, Dan Kuykendall and the team at NT OBJECTives, Inc decided to make slight adjustments to their product development. At the time, the team would struggle to put releases out in a timely fashion. The team was creating good software and communicated fairly well and simply needed a bit of improvement to the process that would help sync up tasks to create stability windows in which a stable build could be generated with a reasonably predictable set of new features.

The innovation of the product is not driven purely by a design team, but rather started by the design team with customer input and then adjusted based on developer feedback. The developers are also encouraged to innovate during the daily development as issues are found while reviewing code needed to make their changes. This iterative development cycle allows and encourages developers to also be innovators.

Characteristics

Nimble Rabbit is a flexible development process/framework with a set of practices and overlapping roles that are intended to help define what we do well and the solutions to improve our process. Nimble Rabbit is also specifically designed to work well in a telecommuting/distributed environment. It also avoids many of the false assumptions and traps of existing Agile frameworks such as Scrum.

The project is run by a “Freddy”, which takes its tasks from the decisions of the “Picasso Group”. The Picasso Group is comprised of management, research, the engineers as well as customers.

During each “Hop”, typically a two-to-four week period (with the length being decided by the team), there is the intention of having a releasable build. During the entire Hop, the Trouton Group will be performing tests against the daily builds, and ramp up stability testing efforts in earnest toward the end of the Hop.

If during a Hop a developer finds an issue in the code while reviewing code needed to make their changes, the issues are discussed briefly during the “Morning Checkup” or a follow up meeting and are either “Bunny Eared” for later, or considered “Cecal” which gets done right away.

Roles

The roles in Nimble Rabbit are intended to overlap in order to foster shared goals.

Meetings

Terminology

History of the naming scheme

The naming scheme came from a group discussion about a fun play on the “Agile” development process and the “Picasso at the Lapin Agile” play by Steve Martin. Using this play on words began the process of naming the groups, steps and organization. The play is a fun little debate between Einstein and Picasso about the value of their genius and talents. The cast was used for naming the groups and the little guest appearance from Elvis Presley (The Visitor) was used for naming the daily morning conference calls.

Lapin Agile means Nimble Rabbit, so the “Rabbit” part inspires the naming of the process steps, such as Hop, Pellets (rabbit poop, alternate name for bugs) and the Cecal (the rabbit poop that they re-digest as part of the digestion process).

Since the developers are the Einstein group, the QA team gets to be named after Frederick Trouton, who was one of the early experimenters that confirmed parts of the Theory of Relativity. The big meetings are named after the location that the play takes place in.

The name “Pocket Builds” does not derive from the play. It was made up long ago by Matthew Cohen to refer to custom builds the developers would provide him when he was running the QA department.