Skip to main content

Author: Shyam Nandan

New Age Requirements Capturing Methodologies- Are Requirement Documents Dead?

Overview: Are requirement documents dead?

Let me put it this way “Do users actually read the requirement documents to use it in the manner it is intended for?” In this generation of Agile, SCRUM and other faster than ever technologies, do you still have the burden of creating a functional specification document detailing each and every screen element? Does your Subject Matter Expert have the time to read the entire document and provide the feedback within the stipulated timelines? With Twitter like mindset can requirements be communicated completed and approved in 140 characters or less? How do you write less and still get approval on requirements?

The answer: Yes, can be done and like any other change this one also requires a paradigm shift.

Nandan IMG01 Aug1
(Source: http://www.dilbert.com/)

Atomic use cases and Gherkin are some of the concepts which will help in this requirements maze.

What are atomic use cases?

A concept introduced in 2003 by Kinh Nguyen, Tharam Dillon from La Trobe University & University of Technology Sydney, Australia, as the name suggests it is the basic, core and single action/ step carried out by an actor. It has three main and important characteristics:

  1. Is very unique building block and cannot be further broken down
  2. Effects a change in the system/ application
  3. Has a binary outcome

The advantages of having details at such level are:

  1. Clear relationship between business layer and User interface layer
  2. Simplified Traceability
  3. Highly granular
  4. Easily Verifiable
  5. Easy to understand by all stakeholders especially developers

Now a question may arise, that if such detail has to be provided how can one expect a smaller requirements document? How can this simplify things, won’t it be even more tedious?
For this reason, we take help of two things:

  1. Evergreen rules: By creating the use case / business rules catalogue which will never change unless there is a change in regulation. For e.g. for withdrawing money from an ATM, the user will always have provide identification that the user is the rightful owner and can withdraw the money. This forms the core functionality. Experienced Business Analysts can create such evergreen rulebook as a reference document which can be reused & recycled across multiple clients.
  2. Visual aids: As the saying goes and advocated by Industry practitioners “A picture is worth a 1k words”. There are many tools available in the market for visually representing the use cases and the UI itself. Screens/ wireframes/ mock-ups all these are now created more and more by Business analysts. There is a very thin and diminishing line between an Information architect and business analyst. Barring the aesthetic sense of the UI elements, BAs are expected to know how the “look & feel” of the application should be.

While working on BPM projects, I have come across two such tools promoted by two leading BPM product companies which highly promote both the concepts mentioned.

One of the product companies, has been championing the idea of DCO or Direct capture of objectives which is the based on atomic use cases. Within DCO, it gives the ability to create a set of predefined use cases and also empowers the Business process analyst to create a visual by providing UI tools. This indirectly cuts down the development effort as all the screens created are used directly by the development team with some minor changes of course.

While the other product company provides the business users with a “touch” based modelling table so that users themselves can create the process flow with a little bit of training. With the concept of Subject oriented BPM, this product company uses only 5 symbols to define every process. Strategy is to keep business stakeholders interested and is based a little on the concept of gamification.

What is Gherkin?

Gherkin is a business readable and testable language for capturing requirements. It is a behavior driven development methodology which allows developers and business analysts to collaborate in the application development. Introduced in 2007 by Dan North and team, the business analysts are expected to write the story in English from which application development team can map to the steps in the actual code. For writing the story it uses four keywords: “Given, When, Then & And” syntax for every business scenario.

As an illustration: If I want to withdraw money from an ATM machine.

Title: Withdraw money from ATM machine

Narrative

As a person who needs cash
I want: withdraw money
Scenario: Withdraw cash from ATM machine
Given: I have inserted the Debit card into the ATM machine
And: I have entered the ATM PIN into the ATM machine
And: I have entered the amount to be withdrawn into the ATM machine
When: I press the Confirmation button
Then: the amount should be deducted from my balance
And: ATM machine should give me the cash withdrawn

Once such scenario based user stories are created it also helps the testing/ QA team to create required test cases. One thing to note here is the term “Gherkin” itself is specific to the software tools Cucumber and JBehave.
The advantages of creating such user stories are:

  1. Helps in deriving the complexity based on the data, features required and also the scenario
  2. Very intuitive
  3. Easy to understand as it is more like a story narrative
  4. Excellent tool while during brainstorming sessions with business stakeholders
  5. Will help in scoping exercises and iterations based on the feedback from team

The fusion process:

Atomic design: The marriage of atomic uses along with Gherkin language creates the “Atomic design”. It is a very useful tool for creating requirements for portals, websites, Apps and other user interactive heavy applications.

Atomic design builds on 5 layers from atoms, molecules, organisms, templates to pages.

Nandan IMG02 Aug1.jpg
(Source: http://bradfrostweb.com/blog/post/atomic-web-design/)

Nandan IMG03 Aug1.jpg

The atomic design:

  1. Is more granular
  2. Is more collaborative as it is more conversation based
  3. Helps in identifying the complexity to arrive at accurate estimation
  4. Allows reuse of atomic use cases for creating various organisms & pages
  5. Creates bottom up approach
  6. Shows the business users the final context being developed

However:

  1. They are limited to web design/ portals
  2. Needs high level of dedication and time from the business stakeholders
  3. Various methodologies available in the market. Business buy-in required for following the methodology

Conclusion:

Based on the application being developed, the requirements methodology can change. For e.g. In case of creating a front end mobile application for banking which is more customer focused has to do more with the User experience. In such cases, the Gherkin or atomic use cases methodology would be highly successful. In contrast, while building a back end application with heavy business rules and numerous calculations would rather be more suited for the traditional way of requirements gathering. Requirements documentation is meant for two main consumers business and developers, and both should understand what is written.

Don`t forget to leave your comments below.

Reference Links:
http://bradfrostweb.com/blog/post/atomic-web-design/#atoms
http://tynerblain.com/blog/2006/06/14/writing-atomic-requirements/
http://jbehave.org/introduction.html
http://dannorth.net/whats-in-a-story/
http://en.wikipedia.org/wiki/Behavior-driven_development
https://github.com/cucumber/cucumber/wiki/Gherkin
http://www.lcc.uma.es/~av/mdwe2005/camera-ready/10-KN-MDWE-05-FinalVersion-Reformatted1.pdf
http://knowledgewarriors.blogspot.com/2009/08/atomic-use-cases-fission-or-fusion.html