SlideShare a Scribd company logo
1
THE MISSING PART OF
SOFTWARE DEVELOPMENT:
ENGINEERING
M I C H E L E O R S I
2
WHAT
DO
WE
DO
HERE?
C R E A T E V A L U E
3
HOW DO WE DEVELOP A
PROJECT/PRODUCT/FEATURE?
I D E A
I M P L E M E N TAT I O N
C H A N G E ( S )
I M P L E M E N TAT I O N
R E F I N E M E N T
I M P L E M E N TAT I O N
A N A LY S I S
4
HOW DO WE
USUALLY
PERCEIVE
THIS
WORFLOW?
F R U S T R A T I O N
5
HOW THIS
WOULD
BE SEEN
BY CIVIL
ENGINEERS?
O P P O R T U N I T Y
6
WHERE’S THE OPPORTUNITY?
Q U I C K A N D E A S Y T O C H A N G E
L O W G R A N U L A R I T Y F I X E S
E A S Y T O M O V E S T U F F A R O U N D
A B S T R A C T I O N F R I E N D LY
D E V E L O P E D W I T H F E W T O O L S
P O S S I B I L I T Y T O I T E R AT E
7
WHERE’S DEVELOPER PAIN?
Q U I C K A N D E A S Y T O C H A N G E S
L O W G R A N U L A R I T Y F I X E S
E A S Y T O M O V E S T U F F A R O U N D
A B S T R A C T I O N F R I E N D LY
D E V E L O P E D W I T H F E W T O O L S
P O S S I B I L I T Y T O I T E R AT E
R I G I D I T Y
F R A G I L I T Y
I M M O B I L I T Y
V I S C O S I T Y
O PA C I T Y
B I G D E S I G N U P F R O N T
8
NOT SO
EASY
TO
EXPLAIN
B E D = B E D R O O M
9
10
“The creative application of scientific principles to
design or develop structures [..] utilising them
singly or in combination; or to construct or
operate the same with full cognisance of their
design; or to forecast their behaviour under
specific operating conditions; all as respects
an intended function, economics of operation
and safety to life and property.”
A m e r i c a n E n g i n e e r s ' C o u n c i l f o r P r o f e s s i o n a l D e v e l o p m e n t
“ENGINEERING”
11
ENGINEERING BEST PRACTICES
IN SOFTWARE
S O L I D P R I N C I P L E S
H E X A G O N A L / P O R T A D A P T E R / O N I O N A R C H I T E C T U R E
D O M A I N D R I V E N D E S I G N
D E S I G N PAT T E R N
O B J E C T O R I E N T E D D E S I G N P R I N C I P L E S
G R A S P P R I N C I P L E S
C Q R S PAT T E R N
12
T E S T A B S T R A C T I O N D E T A I L S
WHERE SHOULD WE START FROM?
U S E
C A S E
13
L I B R A R Y D E T A I L S F E A T U R E
WHERE SHOULDN’T WE START FROM?
I N T E G R AT I O N
T E S T
14
USE CASE DRIVEN APPROACH
CREATE
LICENSE
W H AT I S A L I C E N S E ?
W H AT ’ S T H E P U R P O S E ?
W H I C H A R E T H E E X P E C TAT I O N S ?
W H AT A R E U N N E C E S S A R Y D E TA I L S ?
T A C K L I N G C O M P L E X I T Y I N T H E H E A R T
W H AT C A N W E H I D E B E H I N D A N
A B S T R A C T I O N ?
15
HIDING COMPLEXITY
16
TEST DRIVEN DEVELOPMENT
CREATE
LICENSE
E N C A P S U L AT E D O M A I N O B J E C T
H I D E D E TA I L S
M O C K A B S T R A C T I O N
T E S T E X P E C TAT I O N S
S T A R T F R O M E X P E C T A T I O N S
V E R I F Y I N T E R A C T I O N S
17
UBIQUITOUS LANGUAGE
CREATE
LICENSE
L O A D E N C R Y P T I O N K E Y
S AV E T H E L I C E N S E
E N C R Y P T T H E L I C E N S E
L A N G U A G E B E T W E E N D E V S A N D U S E R S
18
DEPEND UPON ABSTRACTION
CREATE
LICENSE
<<interface>>
LOAD
ENCRYPTION
KEY
<<interface>>
ENCRYPTER
<<interface>>
SAVE
LICENSE
L O W C O U P L I N G
19
MULTIPLE LOW-LEVEL IMPLEMENTATION
CREATE
LICENSE
<<interface>>
LOAD
ENCRYPTION
KEY
<<interface>>
ENCRYPTER
<<interface>>
SAVE
LICENSE
F A S T I N T E G R A T I O N T E S T S
LOAD FROM DISK
LOAD FROM DB
LOAD FROM RPC
SAVE TO DISK
SAVE TO DB
SAVE THROUGH RPC
SIMPLE ENCRYPTER
20
MAIN PARTITION
public static void main
B U I L D T H E A P P L I C A T I O N
FACTORY
+newLicenseApp()
CREATE
LICENSE
LOAD FROM DISK
SAVE TO DISK
SIMPLE ENCRYPTER
<<create>>
<<create>>
ADAPTER
21
ONION/HEXAGONAL ARCHITECTURE
D O M A I N A N D A D A P T E R S
DOMAIN
DATABASE FILESYSTEM
MEMORY
NETWORK
REST
22
DEMO
TIME
23
HANDLE
WITH
CARE!
E X P E N S I V E
24
EVALUATE
THE
BENEFITS!
L E A R N I N G
25
WHAT
DO
WE
DO
HERE?
C R E A T E V A L U E
26
THANKS

More Related Content

PDF
Apple Watch - Jak tworzyć aplikacje na SmartWatcha z problemami wieku dziecię...
PDF
Informed Design - Color by Numbers
PDF
Lessons learned in business
PDF
User Experience within software Testing
PDF
Assigned to assist: Robots are not here to take your job (Industry)
PDF
Technology Trends, Consumer Experience @MICA 2016
PDF
Rp2-2015-Interface & digital experiences
PDF
Rp2-2015-technology trends enriching consumer experience
Apple Watch - Jak tworzyć aplikacje na SmartWatcha z problemami wieku dziecię...
Informed Design - Color by Numbers
Lessons learned in business
User Experience within software Testing
Assigned to assist: Robots are not here to take your job (Industry)
Technology Trends, Consumer Experience @MICA 2016
Rp2-2015-Interface & digital experiences
Rp2-2015-technology trends enriching consumer experience

What's hot (19)

PDF
Rp2-2015 - Experience - Tools n Methods
PDF
Rp2-2015 - technology driven macro trends in marketing space
PDF
Ville Hulkko - Artificial Intelligence as a service
PDF
Startup na sua Empresa
PPTX
Lean startup - ProductTank Talk
PDF
Practical Ontology: Collaborating and Communicating with Concept Maps
PDF
BS portfolio
PDF
Keynote: Retos de un continuo crecimiento profesional en Drupal
PDF
How to Become a Martian
PDF
Reducing Resistance: Deployment as Surface
PDF
Domínio: Dividir e conquistar
PDF
Chris Girolamo It's the Product not the Project 19 Mar 14
PPTX
The Ethics of Everybody Else | Wrangle Conference 2017
PPTX
Its the Product. Not the Project May 17 2017
PDF
Mobile Resources Use in a Distance Learning Population
PDF
Holistic experience design (HxD) for Nasdaq Proconf 2015
PDF
APD Munkebäck
PDF
Designing for the PresentFuture w/ Socratic Experience Design
PDF
Onboarding Remote Staff - Our Complete Checklist
Rp2-2015 - Experience - Tools n Methods
Rp2-2015 - technology driven macro trends in marketing space
Ville Hulkko - Artificial Intelligence as a service
Startup na sua Empresa
Lean startup - ProductTank Talk
Practical Ontology: Collaborating and Communicating with Concept Maps
BS portfolio
Keynote: Retos de un continuo crecimiento profesional en Drupal
How to Become a Martian
Reducing Resistance: Deployment as Surface
Domínio: Dividir e conquistar
Chris Girolamo It's the Product not the Project 19 Mar 14
The Ethics of Everybody Else | Wrangle Conference 2017
Its the Product. Not the Project May 17 2017
Mobile Resources Use in a Distance Learning Population
Holistic experience design (HxD) for Nasdaq Proconf 2015
APD Munkebäck
Designing for the PresentFuture w/ Socratic Experience Design
Onboarding Remote Staff - Our Complete Checklist
Ad

Similar to The missing part of software development: engineering (20)

PPTX
1 introduction (1)
PPTX
1 introduction
PDF
Software Engineering and Fundamentals note
PPT
Slides chapter 1
PDF
Code Craftsmanship Checklist
PPT
Chapter 1 ASE Slides ppt
PDF
Functional solid
PPTX
Software Lifecycle
PDF
L01web 2x2
PPTX
L23 Summary and Conclusions
PPT
Unit1
PPT
Slides chapter 1
PDF
Devnology back toschool software reengineering
PDF
Designing for Tomorrow, Delivering Today
PPTX
10 Reasons Your Software Sucks - Election 2012 Edition
PDF
The Nature of Software and Software Engineering ppt.pdf
PDF
Manual t(se)
PPTX
Basics of se
PPT
PR-Ch01.ppt
PPT
1 introduction (1)
1 introduction
Software Engineering and Fundamentals note
Slides chapter 1
Code Craftsmanship Checklist
Chapter 1 ASE Slides ppt
Functional solid
Software Lifecycle
L01web 2x2
L23 Summary and Conclusions
Unit1
Slides chapter 1
Devnology back toschool software reengineering
Designing for Tomorrow, Delivering Today
10 Reasons Your Software Sucks - Election 2012 Edition
The Nature of Software and Software Engineering ppt.pdf
Manual t(se)
Basics of se
PR-Ch01.ppt
Ad

More from Michele Orsi (6)

PDF
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
PDF
Building on spring boot lastminute.com microservices way (Spring IO Barcelona...
PDF
Kubernetes and lastminute.com: our course towards better scalability and proc...
PDF
Kubernetes to scale
PDF
Kubernetes and lastminute.com: our course towards better scalability and proc...
PDF
From zero to exit: a full startup journey
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
Building on spring boot lastminute.com microservices way (Spring IO Barcelona...
Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes to scale
Kubernetes and lastminute.com: our course towards better scalability and proc...
From zero to exit: a full startup journey

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Spectroscopy.pptx food analysis technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
KodekX | Application Modernization Development
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
Unlocking AI with Model Context Protocol (MCP)
Spectroscopy.pptx food analysis technology
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
KodekX | Application Modernization Development
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectral efficient network and resource selection model in 5G networks

The missing part of software development: engineering