1 of 38

AGILE RE

How is RE done in agile processes?

Lecture 15

Material in this lecture based on: https://www.ireb.org/content/downloads/34-cpre-re-agile-primer-syllabus/ireb_cpre_re%40agileprimersyllabusandstudyguide_en_v1.3.pdf

2 of 38

Announcements

  • HW6 peer eval (optional) closes tonight 11:59pm
  • No discussion Monday
  • HW7 due Tuesday 11:59pm
  • Last lecture is Tuesday (no lecture Thursday)
  • Please maintain an attitude of respect for all people, any behavior otherwise will not be tolerated

Text questions to (562) 684-8307

2

3 of 38

Canvas Quiz

Lecture 15: Lecture 14 Review

Text questions to (562) 684-8307

3

4 of 38

Last Time (I) – Did we specify the right thing?

  • Requirements validation/QA is a major concern in view of error diversity, frequency, criticality, cost
  • Requirements validation should check the [near] final draft of the requirements document for conflicts, omissions, and deviations from standards (among other errors)

4

Text questions to (562) 684-8307

5 of 38

Last Time (II) – Did we specify the right thing?

  • Requirements validation techniques:
    • Requirements reviews/inspections
      • More effective if using well-planned process & specific checklists
    • Requirement prototyping
      • Testing a prototype that has been developed during elicitation
    • Model validation
      • Paraphrasing (into natural language)
    • Requirements testing
      • Designing tests for requirements can reveal problems with the requirements
    • Formal checking
      • Powerful, automated, but requires formal specs

5

6 of 38

Today’s Lecture – How is RE done in agile processes?

  • Agile motivation and mindset
  • Fundamentals of agile RE
  • Agile RE work products
  • Agile RE techniques

Text questions to (562) 684-8307

6

7 of 38

Today’s Lecture – How is RE done in agile processes?

  • Agile motivation and mindset
  • Fundamentals of agile RE
  • Agile RE work products
  • Agile RE techniques

Text questions to (562) 684-8307

7

8 of 38

Today’s Lecture

  • Agile

9 of 38

10 of 38

11 of 38

Text questions to (562) 684-8307

12 of 38

Some Agile Principles

  • Welcome change in requirements
  • Face-to-face conversation is the best way to convey information
  • Working software is the primary measure of progress; documentation is just a means to an end
  • Business people and developers work together daily throughout the project
  • The best architectures, requirements, and designs emerge from self-organizing teams

Text questions to (562) 684-8307

Models, plans, and documentation are important and have their value, but exist only to support the development of working software.

13 of 38

Today’s Lecture – How is RE done in agile processes?

  • Agile motivation and mindset
  • Fundamentals of agile RE
  • Agile RE work products
  • Agile RE techniques

Text questions to (562) 684-8307

13

14 of 38

Requirements in agile development

No classic requirements specification document (unless mandated by regulators)

Various work products that ...

  • specify requirements: vision, user stories, epics, use cases, models...
  • have requirements-related content: prototypes, mockups, storyboards, roadmap, early product versions (e.g., MVP)

Value-driven creation of work products

Text questions to (562) 684-8307

14

15 of 38

16 of 38

16

Source: https://www.pm-partners.com.au/insights/the-agile-journey-a-scrum-overview/

17 of 38

18 of 38

Agile Requirements - Product Backlog

18

19 of 38

Requirements Engineer (RE) vs. Product Owner (PO)

  • RE core activities:
    • Elicitation
    • Documentation
    • Validation
    • Negotiation
    • Management

  • PO core activities:
    • Ensure the team delivers constant business value
    • Manage all stakeholders
    • Continuously supply the team with items from the backlog having the greatest business value

19

Both REs and POs perform the same basic tasks, but the notations and tools are usually less formal in agile processes.

20 of 38

RE as a continuous process

  • In agile, RE is less a distinct development phase and more an iterative, ongoing activity
    • High-priority requirements should be refined/detailed enough to be ready for implementation
    • Lower priority requirements will only be refined once the urgent ones are complete
  • Upfront RE activities are still required
    • e.g., defining vision/goals, analyzing stakeholders, establishing project scope

Text questions to (562) 684-8307

20

21 of 38

Value-driven development

  • Agile methods strive to continuously deliver business value to the end user
  • Value expressed in:
    • Financial terms
    • Increased market share
    • Customer satisfaction
    • …
  • In order to determine which requirements lead to the optimal value, agile methods often strive for MVPs

Text questions to (562) 684-8307

21

22 of 38

Simplicity as an essential concept

  • In a complex world, simplicity is a way to embrace complexity by:
    • Creating a simple (and potentially incomplete) response to a problem, thus creating a small increment of value
  • MVP (Minimum Viable Product)
    • The smallest product that can create an end user experience and provide feedback to the team

Text questions to (562) 684-8307

22

23 of 38

Inspect and adapt

Agile methods emphasize the importance of frequent and fast feedback

  • about the team
  • about the development process
  • about the product

Text questions to (562) 684-8307

23

24 of 38

Assumptions for Successful Agility

  • All stakeholder roles are reducible to one single role
    • β€œUser/customer” that is on-site
  • Project small enough for one small co-located development team
  • Functionality can be provided quickly, consistently, incrementally from essential to less important
  • Non-functional aspects, environment assumptions, objectives, alternative options, risks may receive little attention
  • Little documentation required for work coordination and maintenance; requirements precision not required; verification before coding is less important than early release
  • Requirements changes are not likely to require major code refactoring

Text questions to (562) 684-8307

24

Source: modified from van Lamsweerde, 2009

25 of 38

When to use Agile?

Text questions to (562) 684-8307

26 of 38

Why not just do agile and forget RE?

  • Yes, the majority of projects nowadays are agile
    • But there are still those that follow traditional processes, and for most of those, doing requirements engineering right is often a life or death matter!
  • Even with agile, you still need a good understanding of requirements

Text questions to (562) 684-8307

26

More/less agile is achievable by less/more weight in RE activities

27 of 38

Canvas Quiz

Lecture 15: Agile RE Fundamentals

Text questions to (562) 684-8307

27

28 of 38

Today’s Lecture – How is RE done in agile processes?

  • Agile motivation and mindset
  • Fundamentals of agile RE
  • Agile RE work products
  • Agile RE techniques

Text questions to (562) 684-8307

28

29 of 38

Documenting agile requirements

  • General guideline: do things only if they add value
  • A simple approach:
    • Writing user stories (using a standard template; see lecture 8)
    • Adding detail with acceptance criteria
    • Structuring stories with epics and features
    • Organizing stories in a product backlog

  • Implementation-oriented approach
  • Does not scale well to settings with > 1 agile team

Text questions to (562) 684-8307

29

30 of 38

Agile work products (1)

  • Product backlog
    • Ordered list of everything (functional) that might be needed in the product
    • User stories
    • Acceptance criteria
    • Index cards, sticky notes, captured in a SW tool
  • Product vision
    • Defines the goals and provides the definition of success
  • Context model
    • Defines context in which the product will operate
    • Used to clarify scope, external interfaces

Text questions to (562) 684-8307

30

31 of 38

Agile work products (2)

  • Graphical models with textual descriptions
    • Activity diagrams
    • Sequence diagrams
    • Use case diagrams
    • …
  • Glossary of business terms
  • Non-functional requirements

Text questions to (562) 684-8307

31

32 of 38

Granularity of requirements

Text questions to (562) 684-8307

32

33 of 38

Today’s Lecture – How is RE done in agile processes?

  • Agile motivation and mindset
  • Fundamentals of agile RE
  • Agile RE work products
  • Agile RE techniques

Text questions to (562) 684-8307

33

34 of 38

Agile requirements elicitation

  • Intensive communication between all stakeholders
    • Mostly informal, direct (does not scale well)
  • Quick feedback through prototypes and product increments

Text questions to (562) 684-8307

34

35 of 38

Agile requirements documentation

  • Avoid documentation overkill and achieve a minimum set of useful documentation
  • Documentation done for:
    • Legal purposes
    • Preservation purposes
    • Communication purposes
    • Thinking purposes

Text questions to (562) 684-8307

35

36 of 38

Agile requirements validation

  • Validation primarily done through early and frequent feedback on product increments
  • If the increment does not meet the requirements of stakeholders, the missing requirements are put into the product backlog and evaluated/prioritized with all other backlog items

Text questions to (562) 684-8307

36

37 of 38

Agile requirements management

  • Backlogs:
    • Designed to keep only the latest and best version of all requirements yet to be implemented
    • Their items are typically deleted or archived as soon as they are implemented
  • Backlog requirements management activities:
    • Prioritization
    • Estimation

Text questions to (562) 684-8307

37

38 of 38

Summary – How is RE done in agile processes?

  • Agile processes welcome changes in requirements, believe in face-to-face conversation, and consider documentation as just a means to and end
  • Agile RE processes are continuous and iterative, and focus on value, simplicity, and frequent feedback
  • Agile work products include the backlog, vision, context model, graphical models, glossary, and NF requirements

Text questions to (562) 684-8307

38