December 13, 2016

Could BDD have prevented Judgement Day?

BDD training courseIt is 1995 and Cyberdyne Systems are on the verge of launching their new automated military artificial intelligence software, CloudNet.

“Come with me if you want to live!” cries Ant Schwarter, the enthusiastic Scrum Master, as he ushers the development team at Cyberdyne Systems into the conference room.

Ant has been sent back in time from 2029, by the leaders of the human resistance, to save the human race from Judgement Day. Ant is no killing machine with a powerful exoskeleton, instead he has been skilled with humanity’s most powerful competitive advantage - business agility effected through behaviour driven development.

“We’ve been struggling with re-work over the last three months”, explains Dyson – lead engineer on the CloudNet product. “The military say that it’s critical for maps in the war room to centre on Washington, not Greenwich. And all of the ‘fire missile’ buttons are the wrong colour. With current ways of working, we’ll never review, deliver and deploy on time.”

“Glad you brought that up,” says Ant. “I’ve observed a disconnect between stakeholders from the Pentagon and the engineers building the system. I’d like to show you a new technique called Behaviour Driven Development (BDD), which can help us explore how software will behave BEFORE it’s built”.

The door flies open and half a dozen men breeze in, medals gleaming on their immaculate dress uniforms. “I’ve invited the command and control team from the Digital Defence Network to our product backlog refinement session.” Ant adds.

As they get down to work, Dyson introduces the first backlog item:

Backlog item

Everyone agrees that this is a valuable feature, and that they’d all feel safer knowing that it was in place.

“First, we need a list of all the scenarios that CloudNet (the product) might encounter. Then we can discuss how the system should behave in those scenarios” explains Ant. Everyone starts scribbling on post-it notes, and eventually the list is organised and de-duplicated:
scenario list

Ant leads the team to decide how the system should behave in each of these scenarios by breaking them down into their preconditions, the action that occurs and how the system should respond. Each scenario is an opportunity to expose assumptions and make decisions. Ant uses ‘We need to switch back to manual control’ as the first scenario.

Given, when, then

“Wait a minute” says General Buck Turgidson… “Who should have the final say over what is safe? Man… or machine?”

“I just assumed you wanted the artificial intelligence to be the ultimate failsafe” says Dyson, biting his pen and gazing quizzically at a children’s playground across the road…

(Note from the author: all names and references are fictional and any resemblance to persons, living or dead and/or incidents portrayed in this article are fictitious. No identification with actual persons, places, buildings, and products is intended or should be inferred)