SlideShare a Scribd company logo
1 of 38
Requirements Engineering @ Agile
Opportunities for getting requirements right in Agile
Take Aways From This Session
Quick Refresher < 5 minutes
• Agile Basics
• Fundamentals of Requirements Engineering (RE)
RE Practices in the Agile World (Scrum)
Comparison of RE Practices – Classic vs. Agile
Assessment of RE @ Agile
Version 5.1 | 2
Why Agile?
Version 5.1 | 3
Flexibility
 New and changed requirements are welcome
Time to Market
 Turn requirements fast into functional software and deliver it
Feedback
 Make sure that requirements and deliverables meet the needs of the customer
Productivity
 Concentrate on action, that will …
• Create value
• Facilitate team work and efficiency
Agile Basics
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
What is agile ? – Values of the “Agile Manifesto”
That is, while there is value in the items on
the right, we value the items on the left more.
4Version 5.1 |
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile Basics
Principles behind the “Agile Manifesto”
Source: http://agileManifesto.org/
5Version 5.1 |
• Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.
• Welcome change, even late in development. Agile processes harness change for the
customer's competitive advantage.
• Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter timescale.
• Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done. The most efficient and effective method
of conveying information to and within a development team is face-to-face
conversation.
• Simplicity--the art of maximizing the amount of work not done--is essential.
• The best architectures, requirements, and designs emerge from self-organizing
teams. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.
Agile Basics
Big Bang = Big Risk
6Version 5.1 |
Just one delivery to the customer
First shot has to meet the aim
No feedback about the Usability
for a long time
Risk: Customer is in the end
Source:
Agile Basics
Agile Approach: Continued Integration/Delivery and Feedback
7Version 5.1 |
Customer feedback
about usability
Product-
increments
Source:
Agile Basics
What is a requirement?
Version 5.1 | 8
IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990
Fundamentals of Requirements Engineering
A requirement is ...
• (1) ... a condition or capability, needed by a user (person or system) to solve a
problem or to achieve an objective.
• (2) ... a condition or capability, that must be met or possessed by a system or system
component to satisfy a contract, standard, specification or other formally imposed
documents.
• (3) ... a documented representation of a condition or capability as in (1) or (2).
Three Requirement Types
Version 5.1 | 9
• Functional Requirements define functions
to be provided by the system
• Quality Requirements define quality characteristics,
which the system or its functions shall possess.
• Constraints are organizational or technical guidelines to be
followed during design and implementation of the system.
Non-Functional
Requirements
Fundamentals of Requirements Engineering
Requirements Engineering consists of four activities
Version 5.1 | 10
Elicitation Documentation Management
Validation and
Negotiation
Requirements Engineering
• Elicitation: Requirements from stakeholders and other sources are identified, detailed
and refined.
• Documentation: The compiled requirements are described adequately.
• Validation and Negotiation: Documented requirements are validated and negotiated
at an early stage in order to comply with the required quality criteria.
• Management: Requirements management includes all measures to structure
requirements, to prepare them for different roles and to change and implement
requirements in a consistent way.
Fundamentals of Requirements Engineering
11Version 5.1 |
RE Practices in the Agile World (Scrum)
Take Aways From This Session
Quick Refresher
RE Practices in the Agile World (Scrum)
• Scrum Process
• User Stories
• Product Backlog
• Sprint Planning
• Definition of Done
Comparison of RE Practices – Classic vs. Agile
Assessment of RE @ Agile
Version 5.1 | 12
Scrum Process
Version 5.1 | 13
Source: https://commons.wikimedia.org/wiki/File:Scrum_process-de.svg#filelinks/
RE Practices in the Agile World (Scrum)
Development team
• Discusses and
improves Stories with
the Product Owner
• Delivers for each
Iteration ( Sprint)
Increments, that
implement the
planned User-Stories
Scrum Master
• Coach for the Scrum Team
• Establishes Scrum Rules
• Removes Obstacles and
disturbances for the Team
Product Owner
• Is held responsible
for the Value of the
Product
• Manages Sources of
Requirements and
Stakeholders
• Monitors the Product
Backlog: Which
Requirements ( Stories)
have to be done first ?
Roles in Scrum Processes
Version 5.1 | 14
RE Practices in the Agile World (Scrum)
Maturing of Requirements with Scrum
Version 5.1 | 15
Product Discovery
• General objectives of the product in connection with business value
• Target groups and their needs e.g. as fictitional person ( Personas)
Epics
• High-Level Requirements for overall product features
User Stories
• Represent Requirements
• Sound Stories comply with the INVEST- Principles:
I ndependent
N egotiable
V aluable
E stimatable
S mall
T estable
RE Practices in the Agile World (Scrum)
Why Stories?
Version 5.1 | 16
Small and focused contains  easy to plan and realize
Will improve communications and interaction with the customer  more precise
Will focus on business value and costs of the requirements (Stories)
Stories will reduce waste.
• They’ll be written when needed
• The way they are compiled they’ll stay useful and relevant.
• They’ll delay decisions to the last possible moment.
• They are placeholders, to keep the detailed descriptions till later
Stories (and their acceptance criteria, tests) describe the relevant requirements.
They can be split and joined with little effort.
RE Practices in the Agile World (Scrum)
3 C’s of a User Story
Version 5.1 | 17
Card: A sentence representing the story:
As a <role> I want <wish>, so that <purpose>
Conversation:
Team and Product Owner agree on a common understanding of the Story
Confirmation: Acceptance criteria …
… define, when a Story is done (Definition of Done)
… should be SMART :
Specific Measurable Acceptable Realistic Timed
Acceptance Test Driven Development  Test cases are part of the requirements:
• Realistic examples / Scenarios ( Specification by Example)
• Expected results ( Given <context>, when <event>, then <result>)
RE Practices in the Agile World (Scrum)
Agile Requirements Management
Version 5.1 | 18
Product Backlog
• Sorted sist of stories, to develop the product
• Contains epics and user stories
• Stories clustered by technically related subjects
• Sorted according to value, risk, priority and necessity
• Keeps continuously evolving and changing over time
Task of RE: The Product Backlog has to be “DEEP“ :
D etailed appropriately
E stimated
E mergent
P rioritized
Detailed Stories
ready for the next Sprint
Stories with less detail, to be
improved for future Sprints
Rough Stories
e.g. Epics or Ideas
RE Practices in the Agile World (Scrum)
Working the Product Backlog
Version 5.1 | 19
Backlog Refinement (Grooming)
• Development Team and Product Owner discuss Stories in order to get a better
understanding of the stories
• Details (e.g. Acceptance criteria) are added and effort (Story Points) estimated
• The Team splits big Stories ( Epics) into smaller ones
• The Product Owner prioritizes the Stories
Definition of Ready  When is a Story ready for a Sprint?
Example:
• Story has been estimated for Functionality / Complexity / Testability
• Functional and nonfunctional Requirements are defined
• Test cases for each Story are defined (are often added while planning the Sprint)
• Constraints and Dependencies for each Story have been defined
• Acceptance criteria for each Story are known and defined
• Functionality is drafted (Mockup, Prototype, Design Briefing...)
• Tasks for Implementing und Testing the Story have been identified and estimated
RE Practices in the Agile World (Scrum)
What is “done”? – Definition of Done (DoD)
Version 5.1 | 20
Definition of Done  Criteria of what it means that a Product has been completely
implemented
Examples:
• All Acceptance Criteria are met
• Code has been delivered and checked into the Versioning Tool
• Documentation / Update was done
• Release Documentation has been updated
• Code Review has been performed or the coding was done by Pair Programming
• Coding Guidelines and Standards have been observed
• Unit Tests executed and "Green"
• No critical Bugs unsolved
• "Functional Tests" have been successful on all levels
The criteria for “done” are applied to each single User Story (Story Level), that
means, they have to be met, so that the stories can be regarded as delivered
and approved
RE Practices in the Agile World (Scrum)
Other Levels of the Definition of Done
Version 5.1 | 21
Sprint Level Criteria …
 … have to be met, so that the artifacts (systems or components) of a sprint could be
released (which doesn’t necessarily mean that they will be released for production)
 … should ensure, that all artefacts together with other systems and components will
run properly in the operational environment
Examples:
• Separate deployment on the integrations-(test)-system.
• Stories are tested together with other external systems and components.
Integrations- and Interface tests have been defined and successfully executed
• Performance is as defined
• Tests on business case level have been successful
• No release preventing errors open
• Technical documentation of the system has been done or is updated
• All changes of the system have been documented
RE Practices in the Agile World (Scrum)
Other Levels of the Definition of Done
Version 5.1 | 22
Release- and Product level criteria
 Successful run on the PreLive environment is a precondition for releasing the software
into production
Examples:
• Artefacts are ready for release ( DoD at Sprint Level) and cleared for Deployment
• Binaries are in the Repository with their respective Release numbers
• All Business Case Tests have been defined and the results have been documented
• Release-Notes contain all information regarding configuration
• Known defects and possible effect on operation are documented
• Results of the PreLive Tests are available
• Depending on the release more tests have been performed e.g. Security, Performance
• Tolerated-Online-Time for open defects has been calculated
• Adequate Performance has been proved for performance critical changes
• On Release Level the operation of the system has been tested successfully : start; stop;
restart (functional/ technical), Monitoring
RE Practices in the Agile World (Scrum)
23Version 5.1 |
Comparison of RE Practices - Classic v/s Agile
Take Aways From This Session
Quick Refresher
RE Practices in the Agile World (Scrum)
Comparison of RE Practices – Classic vs. Agile
• Order of Activities
• Roles in the Organization
• Stakeholder Involvement
• Requirements Elicitation
• Requirements Documentation
• Feedback and Rework of Requirements
Assessment of RE @ Agile
Version 5.1 | 24
Order of Activities
Version 5.1 | 25
Classic: RE-Activities are located in an closed first Phase of the Project
 Requirements Engineering happens as a first closed phase in a project.
 At the end of the phase the requirements are complete and in full detail.
 Later Changes (Change Requests) are treated as exceptions.
Agile: RE-Activities will be iterative and parallel to Design, Implementation and Test
 RE-Activities go along side the complete software life cycle.
 Stakeholders will give their feedback for early delivered product-Increments.
 Requirements will be changed and refined following that feedback.
Comparison of RE Practices – Classic vs. Agile
Roles in the Organization
Version 5.1 | 26
Classic: RE- Activities will be performed by predefined Roles
 The RE-Role is often personally and organizational separated from other roles.
 Team members often occupy just one role:
• Product Manager
• Business Analyst
• Software engineer or
• Tester
and belong to their respective organizational unit.
Agile: RE-Activities are performed by interdisciplinary teams
 Each single team member will have multiple roles:
• Requirements Engineer
• Software engineer and
• Tester
And has to develop the necessary skills
Comparison of RE Practices – Classic vs. Agile
Stakeholder Involvement
Version 5.1 | 27
Classic: Including of the Stakeholders happens in specific phases
 Requirements engineering
 Proof of Concept A-Sample (e.g. Prototype)
 Test of B-Sample (Functions operational, Components not completely approved)
 Field test with C-Sample (All Components of a serial production)
 Pre-production with D-Sample (pre-production sample)
Agile: Continuous Collaboration with Stakeholders and Customers
 Identify the functional requirements at business case level
 Improve / split the requirements so that they be “Ready” according to definition
 Discover and consider non-functional requirements
 Confirm that requirements are fulfilled
Comparison of RE Practices – Classic vs. Agile
Requirements Elicitation
Version 5.1 | 28
Classic: Experts predict what the Customer wants
 Marketing Experts …
• analyze the market,
• Create Customer segments,
• define and advertise the product-features.
 Till the product is delivered, customer segments and needs will change.
Agile: Customer feedback will determine the Evolution of the Products
 Fast delivery of a minimalistic, useful product
 Gather real feedback from real customers
 Define customer segments with more detail ( Personas)
 Understand the needs of the customer segments
 Develop intuition for innovations, that will meet the customer segments needs
 Deliver product improvements fast and get feedback etc.
Comparison of RE Practices – Classic vs. Agile
Requirements Documentation
Version 5.1 | 29
Classic: “Complete and detailed” – “as early as possible”
• Lots of assumptions, that will only be validated much later
• Long project duration will make changes of the environments more probable
• Documentation will be outdated and produce a lot of maintenance effort
Agile: “Just Enough” – “Just in Time”
• Documents only, what will produce lasting value for the stakeholders or the team
• … and only up to the necessary depth of detail (that can be rather high)
• Up to date, accurate, useful
• Example: Test cases enhance and detail the requirement documentation
Comparison of RE Practices – Classic vs. Agile
Feedback and Rework of Requirements
Version 5.1 | 30
Classic: Tedious and long-lasting rework
 “First shot has to hit the goal”
 More effort and more defects in the process of adapting of the requirements to…
• Feedback from stakeholders
• New findings from implementation and test
• Changes in the product context
 High Risk, to develop software that won’t meet the stakeholders expectations for a
long time before it can be discovered
Agile: Fast follow up of small, incremental changes and development of the product
 Knowledge gained in one sprint will be considered in the next one
 Continuous, direct feedback will allow a fast adjustment of the requirements
Comparison of RE Practices – Classic vs. Agile
31Version 5.1 |
Assessment of RE @ Agile
Take Aways From This Session
Quick Refresher
RE Practices in the Agile World (Scrum)
Comparison of RE Practices – Classic vs. Agile
Assessment of RE @ Agile
• Advantages
• Disadvantages
• Recommendations
Version 5.1 | 32
Advantages
Version 5.1 | 33
Flexibility:
• Fast and flexible handling of requirement changes
Feedback:
• Stakeholder are actively and continuously involved in the validation of requirements
Productivity:
• Implementation of requirements will timely be demonstrated to the stakeholders
Continuous Improvement of product and cooperation
• Small user stories will be quickly implemented and the value confirmed through
regular feedback
• Lessons Learned is often performed  within each Sprint there is a retrospective
• Concentration on few improvements for each spring will increase the chance to
succeed
Assessment of RE @ Agile
Disadvantages
Version 5.1 | 34
Fuzzy planning for product releases
• No definite commitment, which requirement will be delivered when and at what cost
More Management Resources needed:
• Business analysts and product owner need to invest more time to participate in the RE
Not used to:
• Stakeholders need to change their mindset to adopt agile principles and practices
Challenging
• Small Teams need a larger range of skills and knowledge including RE
No one size fits all
• Big projects and safety critical systems need an appropriate approach
 e.g. Traceability and change control of the requirements have to be guaranteed
Assessment of RE @ Agile
Recommendations – Improve classic RE Skills in Agile Teams
Version 5.1 | 35
Product Owner (PO) needs classic RE Practices
• Stakeholder Management
• Source of Requirements
• Elicitation Techniques
• Use of the Kano Model
• Methods for prioritizing (Kano, Cost/Benefit Analysis)
Project teams need classic RE Practices (together with many other skills)
• Elicitation Techniques (PO can delegate elicitation, but will remain accountable)
• Improve and split the requirements (in Dialog with PO)
• Validation of requirements (through Feedback)
Assessment of RE @ Agile
Recommendations – Structure RE
Version 5.1 | 36
Control the abstraction level of the requirements
• Long-term Planning (3 to 12 months in advance)
 Goals describe the product vision from a business point of view
• Medium-term Planning (1,5 to 6 months in advance)
 Epics describe rough features in the product backlog
 Backlog Refinement: Stories have to be split into easy to handle User Stories
• Short-term Planning (1 to 3 sprints in advance)
 User Stories detailed to a level appropriate to facilitate their implementation
 Stories fulfill the definition of Ready and can be implemented in the next sprint
Story Mapping
• High-Level Use Case Model gives an overall picture of the product
• Each User Story will incrementally increase the functionality of one Use Cases
• Mapping: Refer the stories to the extended Use Cases
Assessment of RE @ Agile
Recommendations – Consider Constraints for RE
Version 5.1 | 37
Industrial norms and process reference models formulate expectations for
• The quality of the requirements documentation
• The quality of the requirements engineering process
Examples:
• IEC 61508 (interbranch)
• ISO 26262 (automotive)
Agile Teams have to know and implement the standards of their respective domain
• How they achieve this remains in their own sovereignty
Approved Practices
• Split User Stories into functional groups ( Story Mapping)
• Add acceptance criteria to the User Stories
• Map Traceability with a tool
Assessment of RE @ Agile
Thank you for your attention.
Girish Khemani
https://www.linkedin.com/in/girishkhemani

More Related Content

What's hot

How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
ShriKant Vashishtha
 

What's hot (20)

JIRA System Admin Traning
JIRA System Admin Traning JIRA System Admin Traning
JIRA System Admin Traning
 
Agile modeling
Agile modelingAgile modeling
Agile modeling
 
Scrum - Requirements and User Stories
Scrum - Requirements and User StoriesScrum - Requirements and User Stories
Scrum - Requirements and User Stories
 
Agile Project and Portfolio Management Using Jira - AgileSolutions
Agile Project and Portfolio Management Using Jira - AgileSolutionsAgile Project and Portfolio Management Using Jira - AgileSolutions
Agile Project and Portfolio Management Using Jira - AgileSolutions
 
12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development
 
Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process
 
Jira fundamentals
Jira fundamentalsJira fundamentals
Jira fundamentals
 
Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 
Extreme Programming ppt
Extreme Programming pptExtreme Programming ppt
Extreme Programming ppt
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Jira fundamentals and bug tracking tool Guide
Jira fundamentals and bug tracking tool GuideJira fundamentals and bug tracking tool Guide
Jira fundamentals and bug tracking tool Guide
 
User Story Maps: Secrets for Better Backlogs and Planning
 User Story Maps: Secrets for Better Backlogs and Planning User Story Maps: Secrets for Better Backlogs and Planning
User Story Maps: Secrets for Better Backlogs and Planning
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Use of Jira Confluence as Project Management Tool
Use of Jira Confluence as Project Management ToolUse of Jira Confluence as Project Management Tool
Use of Jira Confluence as Project Management Tool
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Jira overview
Jira overviewJira overview
Jira overview
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
 
Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform Engineering
 

Similar to Requirements Engineering @ Agile

Similar to Requirements Engineering @ Agile (20)

Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
Agile mODEL
Agile mODELAgile mODEL
Agile mODEL
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12
 
Software testing
Software testingSoftware testing
Software testing
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Agile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz SaracevicAgile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz Saracevic
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
An Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel SkyAn Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel Sky
 
Agile Requirement Development - A Breathtakingly Quick Introduction
Agile Requirement Development - A Breathtakingly Quick IntroductionAgile Requirement Development - A Breathtakingly Quick Introduction
Agile Requirement Development - A Breathtakingly Quick Introduction
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Using Agile In A Quality Driven Environment
Using Agile In A Quality Driven EnvironmentUsing Agile In A Quality Driven Environment
Using Agile In A Quality Driven Environment
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandran
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process Overview
 
Agile Development – Why requirements matter
Agile Development – Why requirements matterAgile Development – Why requirements matter
Agile Development – Why requirements matter
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Agile Development Process
Agile Development ProcessAgile Development Process
Agile Development Process
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 

Requirements Engineering @ Agile

  • 1. Requirements Engineering @ Agile Opportunities for getting requirements right in Agile
  • 2. Take Aways From This Session Quick Refresher < 5 minutes • Agile Basics • Fundamentals of Requirements Engineering (RE) RE Practices in the Agile World (Scrum) Comparison of RE Practices – Classic vs. Agile Assessment of RE @ Agile Version 5.1 | 2
  • 3. Why Agile? Version 5.1 | 3 Flexibility  New and changed requirements are welcome Time to Market  Turn requirements fast into functional software and deliver it Feedback  Make sure that requirements and deliverables meet the needs of the customer Productivity  Concentrate on action, that will … • Create value • Facilitate team work and efficiency Agile Basics
  • 4. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: What is agile ? – Values of the “Agile Manifesto” That is, while there is value in the items on the right, we value the items on the left more. 4Version 5.1 | Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile Basics
  • 5. Principles behind the “Agile Manifesto” Source: http://agileManifesto.org/ 5Version 5.1 | • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • Welcome change, even late in development. Agile processes harness change for the customer's competitive advantage. • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. • Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. • Simplicity--the art of maximizing the amount of work not done--is essential. • The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Agile Basics
  • 6. Big Bang = Big Risk 6Version 5.1 | Just one delivery to the customer First shot has to meet the aim No feedback about the Usability for a long time Risk: Customer is in the end Source: Agile Basics
  • 7. Agile Approach: Continued Integration/Delivery and Feedback 7Version 5.1 | Customer feedback about usability Product- increments Source: Agile Basics
  • 8. What is a requirement? Version 5.1 | 8 IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990 Fundamentals of Requirements Engineering A requirement is ... • (1) ... a condition or capability, needed by a user (person or system) to solve a problem or to achieve an objective. • (2) ... a condition or capability, that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed documents. • (3) ... a documented representation of a condition or capability as in (1) or (2).
  • 9. Three Requirement Types Version 5.1 | 9 • Functional Requirements define functions to be provided by the system • Quality Requirements define quality characteristics, which the system or its functions shall possess. • Constraints are organizational or technical guidelines to be followed during design and implementation of the system. Non-Functional Requirements Fundamentals of Requirements Engineering
  • 10. Requirements Engineering consists of four activities Version 5.1 | 10 Elicitation Documentation Management Validation and Negotiation Requirements Engineering • Elicitation: Requirements from stakeholders and other sources are identified, detailed and refined. • Documentation: The compiled requirements are described adequately. • Validation and Negotiation: Documented requirements are validated and negotiated at an early stage in order to comply with the required quality criteria. • Management: Requirements management includes all measures to structure requirements, to prepare them for different roles and to change and implement requirements in a consistent way. Fundamentals of Requirements Engineering
  • 11. 11Version 5.1 | RE Practices in the Agile World (Scrum)
  • 12. Take Aways From This Session Quick Refresher RE Practices in the Agile World (Scrum) • Scrum Process • User Stories • Product Backlog • Sprint Planning • Definition of Done Comparison of RE Practices – Classic vs. Agile Assessment of RE @ Agile Version 5.1 | 12
  • 13. Scrum Process Version 5.1 | 13 Source: https://commons.wikimedia.org/wiki/File:Scrum_process-de.svg#filelinks/ RE Practices in the Agile World (Scrum)
  • 14. Development team • Discusses and improves Stories with the Product Owner • Delivers for each Iteration ( Sprint) Increments, that implement the planned User-Stories Scrum Master • Coach for the Scrum Team • Establishes Scrum Rules • Removes Obstacles and disturbances for the Team Product Owner • Is held responsible for the Value of the Product • Manages Sources of Requirements and Stakeholders • Monitors the Product Backlog: Which Requirements ( Stories) have to be done first ? Roles in Scrum Processes Version 5.1 | 14 RE Practices in the Agile World (Scrum)
  • 15. Maturing of Requirements with Scrum Version 5.1 | 15 Product Discovery • General objectives of the product in connection with business value • Target groups and their needs e.g. as fictitional person ( Personas) Epics • High-Level Requirements for overall product features User Stories • Represent Requirements • Sound Stories comply with the INVEST- Principles: I ndependent N egotiable V aluable E stimatable S mall T estable RE Practices in the Agile World (Scrum)
  • 16. Why Stories? Version 5.1 | 16 Small and focused contains  easy to plan and realize Will improve communications and interaction with the customer  more precise Will focus on business value and costs of the requirements (Stories) Stories will reduce waste. • They’ll be written when needed • The way they are compiled they’ll stay useful and relevant. • They’ll delay decisions to the last possible moment. • They are placeholders, to keep the detailed descriptions till later Stories (and their acceptance criteria, tests) describe the relevant requirements. They can be split and joined with little effort. RE Practices in the Agile World (Scrum)
  • 17. 3 C’s of a User Story Version 5.1 | 17 Card: A sentence representing the story: As a <role> I want <wish>, so that <purpose> Conversation: Team and Product Owner agree on a common understanding of the Story Confirmation: Acceptance criteria … … define, when a Story is done (Definition of Done) … should be SMART : Specific Measurable Acceptable Realistic Timed Acceptance Test Driven Development  Test cases are part of the requirements: • Realistic examples / Scenarios ( Specification by Example) • Expected results ( Given <context>, when <event>, then <result>) RE Practices in the Agile World (Scrum)
  • 18. Agile Requirements Management Version 5.1 | 18 Product Backlog • Sorted sist of stories, to develop the product • Contains epics and user stories • Stories clustered by technically related subjects • Sorted according to value, risk, priority and necessity • Keeps continuously evolving and changing over time Task of RE: The Product Backlog has to be “DEEP“ : D etailed appropriately E stimated E mergent P rioritized Detailed Stories ready for the next Sprint Stories with less detail, to be improved for future Sprints Rough Stories e.g. Epics or Ideas RE Practices in the Agile World (Scrum)
  • 19. Working the Product Backlog Version 5.1 | 19 Backlog Refinement (Grooming) • Development Team and Product Owner discuss Stories in order to get a better understanding of the stories • Details (e.g. Acceptance criteria) are added and effort (Story Points) estimated • The Team splits big Stories ( Epics) into smaller ones • The Product Owner prioritizes the Stories Definition of Ready  When is a Story ready for a Sprint? Example: • Story has been estimated for Functionality / Complexity / Testability • Functional and nonfunctional Requirements are defined • Test cases for each Story are defined (are often added while planning the Sprint) • Constraints and Dependencies for each Story have been defined • Acceptance criteria for each Story are known and defined • Functionality is drafted (Mockup, Prototype, Design Briefing...) • Tasks for Implementing und Testing the Story have been identified and estimated RE Practices in the Agile World (Scrum)
  • 20. What is “done”? – Definition of Done (DoD) Version 5.1 | 20 Definition of Done  Criteria of what it means that a Product has been completely implemented Examples: • All Acceptance Criteria are met • Code has been delivered and checked into the Versioning Tool • Documentation / Update was done • Release Documentation has been updated • Code Review has been performed or the coding was done by Pair Programming • Coding Guidelines and Standards have been observed • Unit Tests executed and "Green" • No critical Bugs unsolved • "Functional Tests" have been successful on all levels The criteria for “done” are applied to each single User Story (Story Level), that means, they have to be met, so that the stories can be regarded as delivered and approved RE Practices in the Agile World (Scrum)
  • 21. Other Levels of the Definition of Done Version 5.1 | 21 Sprint Level Criteria …  … have to be met, so that the artifacts (systems or components) of a sprint could be released (which doesn’t necessarily mean that they will be released for production)  … should ensure, that all artefacts together with other systems and components will run properly in the operational environment Examples: • Separate deployment on the integrations-(test)-system. • Stories are tested together with other external systems and components. Integrations- and Interface tests have been defined and successfully executed • Performance is as defined • Tests on business case level have been successful • No release preventing errors open • Technical documentation of the system has been done or is updated • All changes of the system have been documented RE Practices in the Agile World (Scrum)
  • 22. Other Levels of the Definition of Done Version 5.1 | 22 Release- and Product level criteria  Successful run on the PreLive environment is a precondition for releasing the software into production Examples: • Artefacts are ready for release ( DoD at Sprint Level) and cleared for Deployment • Binaries are in the Repository with their respective Release numbers • All Business Case Tests have been defined and the results have been documented • Release-Notes contain all information regarding configuration • Known defects and possible effect on operation are documented • Results of the PreLive Tests are available • Depending on the release more tests have been performed e.g. Security, Performance • Tolerated-Online-Time for open defects has been calculated • Adequate Performance has been proved for performance critical changes • On Release Level the operation of the system has been tested successfully : start; stop; restart (functional/ technical), Monitoring RE Practices in the Agile World (Scrum)
  • 23. 23Version 5.1 | Comparison of RE Practices - Classic v/s Agile
  • 24. Take Aways From This Session Quick Refresher RE Practices in the Agile World (Scrum) Comparison of RE Practices – Classic vs. Agile • Order of Activities • Roles in the Organization • Stakeholder Involvement • Requirements Elicitation • Requirements Documentation • Feedback and Rework of Requirements Assessment of RE @ Agile Version 5.1 | 24
  • 25. Order of Activities Version 5.1 | 25 Classic: RE-Activities are located in an closed first Phase of the Project  Requirements Engineering happens as a first closed phase in a project.  At the end of the phase the requirements are complete and in full detail.  Later Changes (Change Requests) are treated as exceptions. Agile: RE-Activities will be iterative and parallel to Design, Implementation and Test  RE-Activities go along side the complete software life cycle.  Stakeholders will give their feedback for early delivered product-Increments.  Requirements will be changed and refined following that feedback. Comparison of RE Practices – Classic vs. Agile
  • 26. Roles in the Organization Version 5.1 | 26 Classic: RE- Activities will be performed by predefined Roles  The RE-Role is often personally and organizational separated from other roles.  Team members often occupy just one role: • Product Manager • Business Analyst • Software engineer or • Tester and belong to their respective organizational unit. Agile: RE-Activities are performed by interdisciplinary teams  Each single team member will have multiple roles: • Requirements Engineer • Software engineer and • Tester And has to develop the necessary skills Comparison of RE Practices – Classic vs. Agile
  • 27. Stakeholder Involvement Version 5.1 | 27 Classic: Including of the Stakeholders happens in specific phases  Requirements engineering  Proof of Concept A-Sample (e.g. Prototype)  Test of B-Sample (Functions operational, Components not completely approved)  Field test with C-Sample (All Components of a serial production)  Pre-production with D-Sample (pre-production sample) Agile: Continuous Collaboration with Stakeholders and Customers  Identify the functional requirements at business case level  Improve / split the requirements so that they be “Ready” according to definition  Discover and consider non-functional requirements  Confirm that requirements are fulfilled Comparison of RE Practices – Classic vs. Agile
  • 28. Requirements Elicitation Version 5.1 | 28 Classic: Experts predict what the Customer wants  Marketing Experts … • analyze the market, • Create Customer segments, • define and advertise the product-features.  Till the product is delivered, customer segments and needs will change. Agile: Customer feedback will determine the Evolution of the Products  Fast delivery of a minimalistic, useful product  Gather real feedback from real customers  Define customer segments with more detail ( Personas)  Understand the needs of the customer segments  Develop intuition for innovations, that will meet the customer segments needs  Deliver product improvements fast and get feedback etc. Comparison of RE Practices – Classic vs. Agile
  • 29. Requirements Documentation Version 5.1 | 29 Classic: “Complete and detailed” – “as early as possible” • Lots of assumptions, that will only be validated much later • Long project duration will make changes of the environments more probable • Documentation will be outdated and produce a lot of maintenance effort Agile: “Just Enough” – “Just in Time” • Documents only, what will produce lasting value for the stakeholders or the team • … and only up to the necessary depth of detail (that can be rather high) • Up to date, accurate, useful • Example: Test cases enhance and detail the requirement documentation Comparison of RE Practices – Classic vs. Agile
  • 30. Feedback and Rework of Requirements Version 5.1 | 30 Classic: Tedious and long-lasting rework  “First shot has to hit the goal”  More effort and more defects in the process of adapting of the requirements to… • Feedback from stakeholders • New findings from implementation and test • Changes in the product context  High Risk, to develop software that won’t meet the stakeholders expectations for a long time before it can be discovered Agile: Fast follow up of small, incremental changes and development of the product  Knowledge gained in one sprint will be considered in the next one  Continuous, direct feedback will allow a fast adjustment of the requirements Comparison of RE Practices – Classic vs. Agile
  • 31. 31Version 5.1 | Assessment of RE @ Agile
  • 32. Take Aways From This Session Quick Refresher RE Practices in the Agile World (Scrum) Comparison of RE Practices – Classic vs. Agile Assessment of RE @ Agile • Advantages • Disadvantages • Recommendations Version 5.1 | 32
  • 33. Advantages Version 5.1 | 33 Flexibility: • Fast and flexible handling of requirement changes Feedback: • Stakeholder are actively and continuously involved in the validation of requirements Productivity: • Implementation of requirements will timely be demonstrated to the stakeholders Continuous Improvement of product and cooperation • Small user stories will be quickly implemented and the value confirmed through regular feedback • Lessons Learned is often performed  within each Sprint there is a retrospective • Concentration on few improvements for each spring will increase the chance to succeed Assessment of RE @ Agile
  • 34. Disadvantages Version 5.1 | 34 Fuzzy planning for product releases • No definite commitment, which requirement will be delivered when and at what cost More Management Resources needed: • Business analysts and product owner need to invest more time to participate in the RE Not used to: • Stakeholders need to change their mindset to adopt agile principles and practices Challenging • Small Teams need a larger range of skills and knowledge including RE No one size fits all • Big projects and safety critical systems need an appropriate approach  e.g. Traceability and change control of the requirements have to be guaranteed Assessment of RE @ Agile
  • 35. Recommendations – Improve classic RE Skills in Agile Teams Version 5.1 | 35 Product Owner (PO) needs classic RE Practices • Stakeholder Management • Source of Requirements • Elicitation Techniques • Use of the Kano Model • Methods for prioritizing (Kano, Cost/Benefit Analysis) Project teams need classic RE Practices (together with many other skills) • Elicitation Techniques (PO can delegate elicitation, but will remain accountable) • Improve and split the requirements (in Dialog with PO) • Validation of requirements (through Feedback) Assessment of RE @ Agile
  • 36. Recommendations – Structure RE Version 5.1 | 36 Control the abstraction level of the requirements • Long-term Planning (3 to 12 months in advance)  Goals describe the product vision from a business point of view • Medium-term Planning (1,5 to 6 months in advance)  Epics describe rough features in the product backlog  Backlog Refinement: Stories have to be split into easy to handle User Stories • Short-term Planning (1 to 3 sprints in advance)  User Stories detailed to a level appropriate to facilitate their implementation  Stories fulfill the definition of Ready and can be implemented in the next sprint Story Mapping • High-Level Use Case Model gives an overall picture of the product • Each User Story will incrementally increase the functionality of one Use Cases • Mapping: Refer the stories to the extended Use Cases Assessment of RE @ Agile
  • 37. Recommendations – Consider Constraints for RE Version 5.1 | 37 Industrial norms and process reference models formulate expectations for • The quality of the requirements documentation • The quality of the requirements engineering process Examples: • IEC 61508 (interbranch) • ISO 26262 (automotive) Agile Teams have to know and implement the standards of their respective domain • How they achieve this remains in their own sovereignty Approved Practices • Split User Stories into functional groups ( Story Mapping) • Add acceptance criteria to the User Stories • Map Traceability with a tool Assessment of RE @ Agile
  • 38. Thank you for your attention. Girish Khemani https://www.linkedin.com/in/girishkhemani

Editor's Notes

  1. Source: http://agilemanifesto.org/iso/en/manifesto.html