Agile Stories are Actually Requirements

Agile Stories are Actually Requirements

It's popular in the Agile community to speak about User Stories and how they are?Not requirements.?

As a System Engineer, here's some background on Systems Architecture and Requirements Engineering.

Let's start with some background about Systems and their engineering. Every system is a component of a more extensive system. This will take us from the lowest level up the Universe as a system. Large systems are the environment in which the component system operates.?

Systems are made up of layered sets of subsystems and layered sets of supersystems. This layer structure defines a set of essential requirements that meet the needs of the context or environment without imposing specific implementation constraints. These requirements reflect the architectural and design decisions that satisfy the essential?requirements needed to provide capabilities to the system's user.

Let's start with the characteristics of a system. People make systems. Systems have the following attributes:

  • They exist for some purpose that benefits people
  • They consist of components that fulfill an intended purpose through the interrelationships of their components.
  • Through exchanges of information, the system interacts with its environment.
  • The system must fit into an operating environment which defines the restrictions on its behavior

Back to Stories as Requirements

Let's consider Stories as components of Features and Features as components of Capabilities. We can model the evolution of software development with a hierarchy of?objects, each with an attribute.? ??

The notion that Agile Stories are NOT requirements is similar to the stalking horse of Waterfall development.

Let's look at an actual definition of a requirement from the Systems Engineering discipline point of view. There is a credible complaint between business and developers that the business should not define the design of the solution but rather state what capabilities are needed to fulfill the business's mission. The implication is that customers and management should not design the solution. There are reasons for placing restrictions on the implementation, though.?

  • The need to reuse previously developed software to maintain continuity of the business processes
  • The need for standard components?
  • The need for commonality of functions and interfaces with existing systems

These and others are the basis of?requirements constraints and impact the?evolution of the components of the system. This contradicts the naive notion that suitable architectures emerge from the developers. Which is counter to all sound Systems Engineering Architecture principles [1], [2], and [3]

Back to the notion of requirements and User Stories

A requirement is a statement, usually in conventional narrative form, of one or more related stakeholder needs that a system must fulfill

This description narrative of a requirement comes in several forms, including:

A Primitive Requirement that is?

A statement containing enough detail for design decisions, expressible in the form on an indivisible sentence with? single verb actioning on a single object

A Performance Requirement that is a?

A statement expressing how well the system must conform with one or more Primative Requirements. Performance requirements measure respnse times, repetition rates, accuracy.

An example of this approach is the statement

The system shall calculate aircraft position at least once every 10 seconds with an accuracy of 15 meters to provide the users of the system (pilots or operators) with the ability to navigate along a desired course to a defined destination?

Those agile advocates who claim user stories are NOT requirements may want to learn about systems engineering principles and how to apply them in an agile domain before making such statements.

In the Systems Engineering paradigm, Stories as requirements means stating

  • Required constraints
  • Required capabilities
  • Performance requirements

“As a user, I need the systems to perform it’s function over the temperature range of -20℃ to +40℃ with no more than 1 failure in 2000 hrs of continuous operation"

However, we have to remember that not all systems are requirements-driven and are not driven by?formal requirements. An example is a city, where it is likely that no one sits down and writes a requirements specification and builds the city. Cities and towns emerge from a set of guidelines (building codes and urban plans) from settlements and grow into large systems, roads, and buildings. The original settlers of Manhatten Island never dreamed what their creation would evolve into. [1], pp. 27.

Resources for the Basis of Requirements and Their Description of Capabilities

[1] Systems Architecting: Creating and Building Complex Systems

[2] The Art of Systems Architecting

[3] The Timeless Way of Building

If Agile stories aren’t requirements, despite being statements of user-desired [system] functionality, then it’s not clear they have any value in building a software system.

回复

要查看或添加评论,请登录

Glen Alleman MSSM的更多文章

  • Don Yaeger's 16 Consistent Characteristics of Greatness

    Don Yaeger's 16 Consistent Characteristics of Greatness

    Don Yeager has a small bookmark-sized card on 16 Consistent Characteristics of Greatness. I got my card at a PMI…

  • Making Choices in the Absence of Information

    Making Choices in the Absence of Information

    Decision-making in uncertainty is a standard business function and a normal technical development process. The world is…

  • Quote of the Day

    Quote of the Day

    Rights are won only by those who make their voices heard. - Harvey Milk

  • Digital Engineering

    Digital Engineering

    I'm engaged on supporting our US DoD and the Austrailan Defence Force (ADF) and the Capability Acquisition…

  • Creating the Project Vision

    Creating the Project Vision

    Long ago, I was VP of Program Management at the Rocky Flats Environmental Technology Site in Golden, Colorado. Rocky…

  • Focus on Value is Only ? the Equation

    Focus on Value is Only ? the Equation

    Whenever I hear, "We need to focus on value over cost and schedule," it tells me that only ? of the project success…

  • Critical Thinking - The Missing Element in Project Management Processes

    Critical Thinking - The Missing Element in Project Management Processes

    Complex and unstable environments encountered in project work - especially software development project work - call for…

    9 条评论
  • Quote of the Day

    Quote of the Day

    Care about what other people think, and you will always be their prisoner - Lau Tzu

  • Invisible Means Difficult to Measure

    Invisible Means Difficult to Measure

    The software doesn't have visible artifacts in the same way a highway construction or an environmental cleanup project…

  • Failed Process or Failed Execution?

    Failed Process or Failed Execution?

    I'm currently working on several jobs at three different sites. Two are process improvements, and one is product…

    4 条评论

社区洞察

其他会员也浏览了