Asher
Sterkin,
2024
The Essence of
Requirements Engineering
Pragmatic Insights for 2024
Asher
Sterkin,
2024
Disclaimer
This is a technology research report rather than a structured training course.
Reflects my current understanding of the Software Requirements Engineering field.
In my experience, the best way to learn something is to teach somebody :-).
Some of the graphical illustrations were generated by DALL-E.
Wording and grammar fixes were suggested by ChatGPT.
The underlying ideas are entirely mine.
2
Asher
Sterkin,
2024
Who Am I?
● A Software Engineer since 1978
● From EC2 Assembler to Gen AI and Clouds
● From SRS to RUP, to Agile, to Essence
● Senior engineering positions at NDS and Cisco
● An independent software technology researcher
3
Asher
Sterkin,
2024
Objectives of this Presentation
● To introduce modern methods in Software Requirements Engineering.
● To explain how different techniques can be combined to enhance final results.
● To clarify why certain methods succeed in some situations but not in others.
4
Asher
Sterkin,
2024
The Uncomfortable Truth of Software Engineering
5
“Despite the advances made in engineering
and technology, software itself is an immature
discipline, dominated by behaviours more
reminiscent of a craft than the engineering
profession many assumed it was (and arguably
should be!).
Ivar Jacobson at Chalmers University
Asher
Sterkin,
2024
We looked like the Fashion Industry
6
● We had a war of methods
● We were relying on gurus rather than
experts
● We had no common ground between
methods
● We lacked credible experimental
evaluation and validation
● We had a split between industry
practice and academic research
Asher
Sterkin,
2024
7
One cannot replicate successfully a
practice which worked within one
context into another context unless
there is a clear theoretical
understanding of why it worked in
the first place
D. Snowden
(wording is mine)
Asher
Sterkin,
2024
The Big Picture (as we think it is)
8
Requirements Design Implementation Test Deployment Usage
Needs
Features
Use Cases
Non-Functional
Risk
Asher
Sterkin,
2024
Table of Contents
● Understanding Stakeholder Needs
● The Critical Role of Context
● Navigating System Dynamics
● Technology Evolution and Strategic Adaptation
● Delivering Features Through Use Cases
● Addressing Non-Functional Concerns
● Extracting the Essence Kernel
● Decomposition and Recombination
● Takeaway Points
9
Asher
Sterkin,
2024
Understanding the Needs
10
Mother Child
Jobs to be done Home, Office School, Street
Pains Child misbehaving
Home messed up
Crisis at Office
Headache
Bullying at School
Bullying on Street
Gains Child’s success
Promotion at office
Something cool
Good friends
Pain Killers Child calms down
Help at home
Help at office
Chemicals to kill the virus
Improved immune system
Gain Creators Some automation
New skills
Physical activity
Interests Match
Products and
Services
Automation
Online Training
Virtual Assistant
Medicine for flu
Sport activities
Discover “True Self”
Asher
Sterkin,
2024
Books to Read
11
Asher
Sterkin,
2024
Customer Types
12
Asher
Sterkin,
2024
The Critical Role of Context
13
Cynefin Framework
Asher
Sterkin,
2024
Navigating System Dynamics
14
Estuarine Framework
Asher
Sterkin,
2024
System Dynamics in Action
15
● Unless we change the landscape,
we could go only from here to there
within our current capabilities and
skills
● Beware of unintended
consequences of landscape
change
● If you want more virtue than vice,
change the energy cost
Asher
Sterkin,
2024
Technology Evolution and Strategic Adaptation
16
Flexious Curves Framework Wardley Maps
Asher
Sterkin,
2024
System Features and Use Cases
17
Use Case
Actor
Goal
Actor
Volume
Velocity
Variety
Volume
Velocity
Variety
Main
event
flow
step
Alternative
event flow
~ XP User Story (Feature)
condition predicate
capability
toggle
user input
~ RUP/FODA Feature
~ FDD Feature
Asher
Sterkin,
2024
System Features and Use Cases
18
Asher
Sterkin,
2024
System Features and Use Cases
● Feature - system capability
○ Could be switched on/off
○ Often has a hierarchical structure
○ Could exclude other feature(s)
○ Could require other feature(s)
○ Within a context of particular use case, triggers one or more painkillers and/or gain
creators
● Use Case - way of system interaction
○ Initiated by some Actor with a particular goal in mind
○ Usually involves communication with other Actors
○ Has one main event flow
○ Usually has one or more alternative and/or exceptional event flows
○ Alternative event flows are triggered by user input and/or particular feature switched on
19
Asher
Sterkin,
2024
Features and Use Cases: Pay TV System
20
Manage Account
Viewer
Watch Program
Timer
Subscriber
Charge Monthly
Fee
Send Billing
Statement
Clearance
Subscription Pay-Per-View
Asher
Sterkin,
2024
4+1 View of Software Architecture
Conceptual Physical
Process View Deployment View
Logical View
Use-Case View
Implementation View
End-user
Functionality
Programmers
Software management
Performance
Scalability
Throughput
System integrators
System topology
Delivery, installation
communication
System engineering
Analysts/Designers
Structure
21
Asher
Sterkin,
2024
Deployment Location
22
Device gateway Edge location
Region
AWS Wavelength AWS Local Zone
AWS Outposts servers
Privacy
Latency
Aggregation
Flexibility
Operation cost
Sustainability!!!
IFC
Code
22
Asher
Sterkin,
2024
Non-Functional Concerns
● Regulations
● Privacy
● Intellectual Property Protection
● Environmental Impact
● Ethics
● Culture and Language
● Fashion and Aesthetics
● Competition
● Novelty vs Familiarity
● …
23
Asher
Sterkin,
2024
Essence - Breaking the Methodology Prison
24
Asher
Sterkin,
2024
Essence Kernel Elements
25
Asher
Sterkin,
2024
Use Case 2.0 Concept Map
26
Asher
Sterkin,
2024
Agile Hexi: Scaling by Recombination
27
… you don’t scale a complex system by aggregation or imitation but by decomposition to an optimal level of granularity followed by
recombination (possibly exaptive) in context: complexity is about how things connect far more than what the things are.
Dave Snowden, “Scaling in complex systems”
Asher
Sterkin,
2024
Takeaway Points
● Software Requirements depend on the context.
● Ordered (obvious, complicated) systems have goals.
● Unordered (complex, chaotic) systems have directions.
● Without changing the environment, our choices are limited.
● At the macro level, timing is crucial.
● Methods vary in effectiveness depending on the context.
● Combining different methods can enhance outcomes.
● AI will eventually assist with fundamental modeling tasks, yet there's further
progress to be made.
28
Asher
Sterkin,
2024
I asked DELL-E to illustrate this
29
Asher
Sterkin,
2024
Stay In Touch
30
Asher
Sterkin,
2024
31
Questions

Essence of Requirements Engineering: Pragmatic Insights for 2024

  • 1.
    Asher Sterkin, 2024 The Essence of RequirementsEngineering Pragmatic Insights for 2024
  • 2.
    Asher Sterkin, 2024 Disclaimer This is atechnology research report rather than a structured training course. Reflects my current understanding of the Software Requirements Engineering field. In my experience, the best way to learn something is to teach somebody :-). Some of the graphical illustrations were generated by DALL-E. Wording and grammar fixes were suggested by ChatGPT. The underlying ideas are entirely mine. 2
  • 3.
    Asher Sterkin, 2024 Who Am I? ●A Software Engineer since 1978 ● From EC2 Assembler to Gen AI and Clouds ● From SRS to RUP, to Agile, to Essence ● Senior engineering positions at NDS and Cisco ● An independent software technology researcher 3
  • 4.
    Asher Sterkin, 2024 Objectives of thisPresentation ● To introduce modern methods in Software Requirements Engineering. ● To explain how different techniques can be combined to enhance final results. ● To clarify why certain methods succeed in some situations but not in others. 4
  • 5.
    Asher Sterkin, 2024 The Uncomfortable Truthof Software Engineering 5 “Despite the advances made in engineering and technology, software itself is an immature discipline, dominated by behaviours more reminiscent of a craft than the engineering profession many assumed it was (and arguably should be!). Ivar Jacobson at Chalmers University
  • 6.
    Asher Sterkin, 2024 We looked likethe Fashion Industry 6 ● We had a war of methods ● We were relying on gurus rather than experts ● We had no common ground between methods ● We lacked credible experimental evaluation and validation ● We had a split between industry practice and academic research
  • 7.
    Asher Sterkin, 2024 7 One cannot replicatesuccessfully a practice which worked within one context into another context unless there is a clear theoretical understanding of why it worked in the first place D. Snowden (wording is mine)
  • 8.
    Asher Sterkin, 2024 The Big Picture(as we think it is) 8 Requirements Design Implementation Test Deployment Usage Needs Features Use Cases Non-Functional Risk
  • 9.
    Asher Sterkin, 2024 Table of Contents ●Understanding Stakeholder Needs ● The Critical Role of Context ● Navigating System Dynamics ● Technology Evolution and Strategic Adaptation ● Delivering Features Through Use Cases ● Addressing Non-Functional Concerns ● Extracting the Essence Kernel ● Decomposition and Recombination ● Takeaway Points 9
  • 10.
    Asher Sterkin, 2024 Understanding the Needs 10 MotherChild Jobs to be done Home, Office School, Street Pains Child misbehaving Home messed up Crisis at Office Headache Bullying at School Bullying on Street Gains Child’s success Promotion at office Something cool Good friends Pain Killers Child calms down Help at home Help at office Chemicals to kill the virus Improved immune system Gain Creators Some automation New skills Physical activity Interests Match Products and Services Automation Online Training Virtual Assistant Medicine for flu Sport activities Discover “True Self”
  • 11.
  • 12.
  • 13.
    Asher Sterkin, 2024 The Critical Roleof Context 13 Cynefin Framework
  • 14.
  • 15.
    Asher Sterkin, 2024 System Dynamics inAction 15 ● Unless we change the landscape, we could go only from here to there within our current capabilities and skills ● Beware of unintended consequences of landscape change ● If you want more virtue than vice, change the energy cost
  • 16.
    Asher Sterkin, 2024 Technology Evolution andStrategic Adaptation 16 Flexious Curves Framework Wardley Maps
  • 17.
    Asher Sterkin, 2024 System Features andUse Cases 17 Use Case Actor Goal Actor Volume Velocity Variety Volume Velocity Variety Main event flow step Alternative event flow ~ XP User Story (Feature) condition predicate capability toggle user input ~ RUP/FODA Feature ~ FDD Feature
  • 18.
  • 19.
    Asher Sterkin, 2024 System Features andUse Cases ● Feature - system capability ○ Could be switched on/off ○ Often has a hierarchical structure ○ Could exclude other feature(s) ○ Could require other feature(s) ○ Within a context of particular use case, triggers one or more painkillers and/or gain creators ● Use Case - way of system interaction ○ Initiated by some Actor with a particular goal in mind ○ Usually involves communication with other Actors ○ Has one main event flow ○ Usually has one or more alternative and/or exceptional event flows ○ Alternative event flows are triggered by user input and/or particular feature switched on 19
  • 20.
    Asher Sterkin, 2024 Features and UseCases: Pay TV System 20 Manage Account Viewer Watch Program Timer Subscriber Charge Monthly Fee Send Billing Statement Clearance Subscription Pay-Per-View
  • 21.
    Asher Sterkin, 2024 4+1 View ofSoftware Architecture Conceptual Physical Process View Deployment View Logical View Use-Case View Implementation View End-user Functionality Programmers Software management Performance Scalability Throughput System integrators System topology Delivery, installation communication System engineering Analysts/Designers Structure 21
  • 22.
    Asher Sterkin, 2024 Deployment Location 22 Device gatewayEdge location Region AWS Wavelength AWS Local Zone AWS Outposts servers Privacy Latency Aggregation Flexibility Operation cost Sustainability!!! IFC Code 22
  • 23.
    Asher Sterkin, 2024 Non-Functional Concerns ● Regulations ●Privacy ● Intellectual Property Protection ● Environmental Impact ● Ethics ● Culture and Language ● Fashion and Aesthetics ● Competition ● Novelty vs Familiarity ● … 23
  • 24.
    Asher Sterkin, 2024 Essence - Breakingthe Methodology Prison 24
  • 25.
  • 26.
  • 27.
    Asher Sterkin, 2024 Agile Hexi: Scalingby Recombination 27 … you don’t scale a complex system by aggregation or imitation but by decomposition to an optimal level of granularity followed by recombination (possibly exaptive) in context: complexity is about how things connect far more than what the things are. Dave Snowden, “Scaling in complex systems”
  • 28.
    Asher Sterkin, 2024 Takeaway Points ● SoftwareRequirements depend on the context. ● Ordered (obvious, complicated) systems have goals. ● Unordered (complex, chaotic) systems have directions. ● Without changing the environment, our choices are limited. ● At the macro level, timing is crucial. ● Methods vary in effectiveness depending on the context. ● Combining different methods can enhance outcomes. ● AI will eventually assist with fundamental modeling tasks, yet there's further progress to be made. 28
  • 29.
  • 30.
  • 31.