My presentation to MTA (The Academic College of Tel Aviv-Yaffo) postgraduate students offering my take on the latest advancements in the Software Requirements Engineering field. This was a fantastic opportunity to bridge key concepts that have intrigued me for the long time.
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”
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
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
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