Tag Archives: requirements

Software Development Models: Waterfall

Waterfall model

medium_8054381402The waterfall model originated in manufacturing and construction where changes are costly and investment in design of the production line is often much less than potential loss if the actual production fails. It is based on idea that planning and design costs are much lower than those used in the actual production.

## Software development life-cycle (SDLC)

The software waterfall model often uses some variation of following phases:

  • Requirements specification (Requirements Analysis) resulting in Requirements Document
  • Software design resulting in Software Design (SD) document
  • Implementation resulting in the actual software
  • Integration
  • Testing (or Validation)
  • Deployment (or Installation)
  • Maintenance
    Continue reading

Behavior Driven Development (BDD): Value Through Collaboration (Part 2: Narrative)

This post is part of the “Behavior Driven Development (BDD): Value Through Collaboration” series.


“User stories are a promise for a conversation” (Ron Jeffries)

A BDD story consists of a narrative and one or more scenarios. A narrative is a short, simple description of a feature told from the perspective of a person or role that requires the new functionality. The intention of the narrative is NOT to provide a complete description of what is to be developed but to provide a basis for communication between all interested parties (business, analysts, developers, testers, etc.) The narrative shifts the focus from writing features to discussing them.

Even though it is usually very short, it tries to answer three basic questions that are often overlooked in traditional requirements. What is the benefit or value that should be produced (In order to)? Who needs it (As a)? And what is a feature or goal (I want to)? With those questions answered, the team can start defining the best solution in collaboration with the stakeholders. The narrative is further defined through scenarios that provide a definition of done, and acceptance criteria that confirm that narrative that was developed fulfills expectations.

Continue reading