SlideShare a Scribd company logo
1 of 31
Download to read offline
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

More Related Content

Similar to Essence of Requirements Engineering: Pragmatic Insights for 2024

Artificial Intelligence (AI) in construction
Artificial Intelligence (AI) in construction Artificial Intelligence (AI) in construction
Artificial Intelligence (AI) in construction LogiKal Projects
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AINeo4j
 
How to Use Open Source Technologies in Safety-critical Medical Device Platforms
How to Use Open Source Technologies in Safety-critical Medical Device PlatformsHow to Use Open Source Technologies in Safety-critical Medical Device Platforms
How to Use Open Source Technologies in Safety-critical Medical Device PlatformsShahid Shah
 
Gen AI_Object Automation_TechnologyWorkshop
Gen AI_Object Automation_TechnologyWorkshopGen AI_Object Automation_TechnologyWorkshop
Gen AI_Object Automation_TechnologyWorkshopObject Automation
 
Omg co p proactive computing oct 2010
Omg co p   proactive computing oct 2010Omg co p   proactive computing oct 2010
Omg co p proactive computing oct 2010Opher Etzion
 
Analysis of software architectures
Analysis of software architecturesAnalysis of software architectures
Analysis of software architecturesHoria Constantin
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateHironori Washizaki
 
Trusted, Transparent and Fair AI using Open Source
Trusted, Transparent and Fair AI using Open SourceTrusted, Transparent and Fair AI using Open Source
Trusted, Transparent and Fair AI using Open SourceAnimesh Singh
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.pptRohanBorgalli
 
20070921 Uni Softwareengineering
20070921 Uni Softwareengineering20070921 Uni Softwareengineering
20070921 Uni SoftwareengineeringTony Bibbs
 
Emerging tech industry sector sessions
Emerging tech industry sector sessionsEmerging tech industry sector sessions
Emerging tech industry sector sessionsSupportGCI
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureHironori Washizaki
 
SSP Presentation V2.0
SSP Presentation V2.0SSP Presentation V2.0
SSP Presentation V2.0ahaggar
 
Machine learning and the challenges of digital transformation in the law
Machine learning and the challenges of digital transformation in the lawMachine learning and the challenges of digital transformation in the law
Machine learning and the challenges of digital transformation in the lawSebastian Ko
 
reStartEvents September 23rd Nationwide Cleared Career Fair Employer Directory
reStartEvents September 23rd Nationwide Cleared Career Fair Employer DirectoryreStartEvents September 23rd Nationwide Cleared Career Fair Employer Directory
reStartEvents September 23rd Nationwide Cleared Career Fair Employer DirectoryKen Fuller
 
Neo4j y GenAI
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI Neo4j
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdfAkilaGamage2
 
Software Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessarySoftware Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessaryYazid Hamdi
 

Similar to Essence of Requirements Engineering: Pragmatic Insights for 2024 (20)

Artificial Intelligence (AI) in construction
Artificial Intelligence (AI) in construction Artificial Intelligence (AI) in construction
Artificial Intelligence (AI) in construction
 
SLDC Presentation
SLDC PresentationSLDC Presentation
SLDC Presentation
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AI
 
How to Use Open Source Technologies in Safety-critical Medical Device Platforms
How to Use Open Source Technologies in Safety-critical Medical Device PlatformsHow to Use Open Source Technologies in Safety-critical Medical Device Platforms
How to Use Open Source Technologies in Safety-critical Medical Device Platforms
 
Gen AI_Object Automation_TechnologyWorkshop
Gen AI_Object Automation_TechnologyWorkshopGen AI_Object Automation_TechnologyWorkshop
Gen AI_Object Automation_TechnologyWorkshop
 
Omg co p proactive computing oct 2010
Omg co p   proactive computing oct 2010Omg co p   proactive computing oct 2010
Omg co p proactive computing oct 2010
 
Analysis of software architectures
Analysis of software architecturesAnalysis of software architectures
Analysis of software architectures
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
Trusted, Transparent and Fair AI using Open Source
Trusted, Transparent and Fair AI using Open SourceTrusted, Transparent and Fair AI using Open Source
Trusted, Transparent and Fair AI using Open Source
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt
 
Evanta 2018 msp big 3 tech
Evanta 2018 msp big 3 techEvanta 2018 msp big 3 tech
Evanta 2018 msp big 3 tech
 
20070921 Uni Softwareengineering
20070921 Uni Softwareengineering20070921 Uni Softwareengineering
20070921 Uni Softwareengineering
 
Emerging tech industry sector sessions
Emerging tech industry sector sessionsEmerging tech industry sector sessions
Emerging tech industry sector sessions
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
SSP Presentation V2.0
SSP Presentation V2.0SSP Presentation V2.0
SSP Presentation V2.0
 
Machine learning and the challenges of digital transformation in the law
Machine learning and the challenges of digital transformation in the lawMachine learning and the challenges of digital transformation in the law
Machine learning and the challenges of digital transformation in the law
 
reStartEvents September 23rd Nationwide Cleared Career Fair Employer Directory
reStartEvents September 23rd Nationwide Cleared Career Fair Employer DirectoryreStartEvents September 23rd Nationwide Cleared Career Fair Employer Directory
reStartEvents September 23rd Nationwide Cleared Career Fair Employer Directory
 
Neo4j y GenAI
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdf
 
Software Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessarySoftware Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessary
 

More from Asher Sterkin

Cloud Infrastructure from Python Code: PyCon DE-23
Cloud Infrastructure from Python Code: PyCon DE-23Cloud Infrastructure from Python Code: PyCon DE-23
Cloud Infrastructure from Python Code: PyCon DE-23Asher Sterkin
 
pyjamas22_ generic composite in python.pdf
pyjamas22_ generic composite in python.pdfpyjamas22_ generic composite in python.pdf
pyjamas22_ generic composite in python.pdfAsher Sterkin
 
If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?Asher Sterkin
 
Serverless flow programming a new perspective (py web meetup, sept 2nd, 2019...
Serverless flow programming  a new perspective (py web meetup, sept 2nd, 2019...Serverless flow programming  a new perspective (py web meetup, sept 2nd, 2019...
Serverless flow programming a new perspective (py web meetup, sept 2nd, 2019...Asher Sterkin
 
Documenting serverless architectures could we do it better - o'reily sa con...
Documenting serverless architectures  could we do it better  - o'reily sa con...Documenting serverless architectures  could we do it better  - o'reily sa con...
Documenting serverless architectures could we do it better - o'reily sa con...Asher Sterkin
 
Developing cloud serverless components in Python: DDD Perspective
Developing cloud serverless components in Python: DDD PerspectiveDeveloping cloud serverless components in Python: DDD Perspective
Developing cloud serverless components in Python: DDD PerspectiveAsher Sterkin
 
Shaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-ilShaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-ilAsher Sterkin
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsAsher Sterkin
 
Domain driven design: a gentle introduction
Domain driven design:  a gentle introductionDomain driven design:  a gentle introduction
Domain driven design: a gentle introductionAsher Sterkin
 
Strategy toolbox for startsups
Strategy toolbox for startsupsStrategy toolbox for startsups
Strategy toolbox for startsupsAsher Sterkin
 
Software strategy for startups
Software strategy for startupsSoftware strategy for startups
Software strategy for startupsAsher Sterkin
 
What is exactly anti fragile in dev ops - v3
What is exactly anti fragile in dev ops - v3What is exactly anti fragile in dev ops - v3
What is exactly anti fragile in dev ops - v3Asher Sterkin
 

More from Asher Sterkin (16)

Cloud Infrastructure from Python Code: PyCon DE-23
Cloud Infrastructure from Python Code: PyCon DE-23Cloud Infrastructure from Python Code: PyCon DE-23
Cloud Infrastructure from Python Code: PyCon DE-23
 
PyCascades-23.pdf
PyCascades-23.pdfPyCascades-23.pdf
PyCascades-23.pdf
 
PyConFR-23 Talk.pdf
PyConFR-23 Talk.pdfPyConFR-23 Talk.pdf
PyConFR-23 Talk.pdf
 
pyjamas22_ generic composite in python.pdf
pyjamas22_ generic composite in python.pdfpyjamas22_ generic composite in python.pdf
pyjamas22_ generic composite in python.pdf
 
If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?
 
Serverless flow programming a new perspective (py web meetup, sept 2nd, 2019...
Serverless flow programming  a new perspective (py web meetup, sept 2nd, 2019...Serverless flow programming  a new perspective (py web meetup, sept 2nd, 2019...
Serverless flow programming a new perspective (py web meetup, sept 2nd, 2019...
 
Documenting serverless architectures could we do it better - o'reily sa con...
Documenting serverless architectures  could we do it better  - o'reily sa con...Documenting serverless architectures  could we do it better  - o'reily sa con...
Documenting serverless architectures could we do it better - o'reily sa con...
 
Developing cloud serverless components in Python: DDD Perspective
Developing cloud serverless components in Python: DDD PerspectiveDeveloping cloud serverless components in Python: DDD Perspective
Developing cloud serverless components in Python: DDD Perspective
 
Shaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-ilShaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-il
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patterns
 
Domain driven design: a gentle introduction
Domain driven design:  a gentle introductionDomain driven design:  a gentle introduction
Domain driven design: a gentle introduction
 
Strategy toolbox for startsups
Strategy toolbox for startsupsStrategy toolbox for startsups
Strategy toolbox for startsups
 
AI as a service
AI as a serviceAI as a service
AI as a service
 
Serverless ddd
Serverless dddServerless ddd
Serverless ddd
 
Software strategy for startups
Software strategy for startupsSoftware strategy for startups
Software strategy for startups
 
What is exactly anti fragile in dev ops - v3
What is exactly anti fragile in dev ops - v3What is exactly anti fragile in dev ops - v3
What is exactly anti fragile in dev ops - v3
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Essence of Requirements Engineering: Pragmatic Insights for 2024

  • 1. Asher Sterkin, 2024 The Essence of Requirements Engineering Pragmatic Insights for 2024
  • 2. 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
  • 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 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
  • 5. 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
  • 6. 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
  • 7. 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)
  • 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 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”
  • 13. Asher Sterkin, 2024 The Critical Role of Context 13 Cynefin Framework
  • 15. 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
  • 16. Asher Sterkin, 2024 Technology Evolution and Strategic Adaptation 16 Flexious Curves Framework Wardley Maps
  • 17. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 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 - Breaking the Methodology Prison 24
  • 27. 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”
  • 28. 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
  • 29. Asher Sterkin, 2024 I asked DELL-E to illustrate this 29