SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Abstraction Is A
Communication Tool
terry@odd-e.com
Who Am I
2
• I am Terry Yin
• Work for Odd-e
• Experienced in software development
• Focus on technical coaching
• Love programming
• A father
Me
3
How do you put an elephant into a
refrigerator?
4
5
6
David Wheeler: ”All problems in computer science
can be solved by another level of indirection";
Kevlin Henney: "...except
for the problem of too
many layers of
indirection."
FTSE (The Fundamental Theorem
of Software Engineering)
Does Abstraction Solve Problems?
7
When there are too many customer
tickets
8
Create a new role called Customer
Tickets Manager
9
Do you know the OSI 7-layer model?
10
7-layer is too old…
But where is the religious layer?
11
12
Object-Oriented
13
Parent
Child
X
Model Driven Architecture
14
Component Team vs. Feature Team
15
http://less.works
Abstraction in Contract
Negotiation
16
Communication Tool
17
The key is working software
18
Ways Of Communication
•Reading code
•Documentation
•Discussion
•Design workshop
•Requirement workshop
•Product review
•Bug reporting
•…
19
Abstraction In Code
20
Information Hiding and
Encapsulation
21
22
Sometimes, a little smartness might help the
communication, especially when it becomes a convention.
It will become a disaster if over used.
Single Layer Abstraction Principle
23
Communication With Code
24
Hey! I’m changing the method that
conflicts with your changes!
Roger!
... done and committed!
Ok! I’ll update and check
the merged changes! 

... Looks good!
Great!
Documentation
25
Can you give me an example?
26
Requirement
27
Technical
Activity
Workflow
RuleClarity
Stability
Specification
Users can
understand
Automation
Technical
Cucumber vs. Robot
Framework
28
29
30
31
"Being abstract is something
profoundly different from being
vague … The purpose of
abstraction is not to be vague,
but to create a new semantic
level in which one can be
absolutely precise."
Edsger W. Dijkstra
You’ve reached the end
32
Thanks!

Weitere ähnliche Inhalte

Ähnlich wie Abstraction is a communication tool

Need-driven-design-Bulut V2
Need-driven-design-Bulut V2Need-driven-design-Bulut V2
Need-driven-design-Bulut V2
Bulut Nesim
 

Ähnlich wie Abstraction is a communication tool (20)

Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
 
NCET Biz Bite | Aaron Boigon, Practical IT management | Sept 2017
NCET Biz Bite | Aaron Boigon, Practical IT management | Sept 2017NCET Biz Bite | Aaron Boigon, Practical IT management | Sept 2017
NCET Biz Bite | Aaron Boigon, Practical IT management | Sept 2017
 
7 Steps to Become a Software Architect
7 Steps to Become a Software Architect7 Steps to Become a Software Architect
7 Steps to Become a Software Architect
 
Lets not do_opsdev
Lets not do_opsdevLets not do_opsdev
Lets not do_opsdev
 
Master´s in English Didactics: E learning presentation
Master´s in English Didactics: E learning presentationMaster´s in English Didactics: E learning presentation
Master´s in English Didactics: E learning presentation
 
Open Educational Resources to Open Educational Designs
Open Educational Resources to Open Educational DesignsOpen Educational Resources to Open Educational Designs
Open Educational Resources to Open Educational Designs
 
Jeff Katz on Lean Hardware Startups
Jeff Katz on Lean Hardware StartupsJeff Katz on Lean Hardware Startups
Jeff Katz on Lean Hardware Startups
 
Great all this new stuff, but how do I convince my management - Erwin Derksen
 Great all this new stuff, but how do I convince my management - Erwin Derksen Great all this new stuff, but how do I convince my management - Erwin Derksen
Great all this new stuff, but how do I convince my management - Erwin Derksen
 
Idea Seeker - WIForum Knowledge Transfer
Idea Seeker - WIForum Knowledge TransferIdea Seeker - WIForum Knowledge Transfer
Idea Seeker - WIForum Knowledge Transfer
 
Future Proofing Your IT Operating Model for Digital
Future Proofing Your IT Operating Model for DigitalFuture Proofing Your IT Operating Model for Digital
Future Proofing Your IT Operating Model for Digital
 
E learning presentation
E learning presentationE learning presentation
E learning presentation
 
SOLID for Adults
SOLID for AdultsSOLID for Adults
SOLID for Adults
 
Research Strategy? Try Black Magic
Research Strategy? Try Black MagicResearch Strategy? Try Black Magic
Research Strategy? Try Black Magic
 
The Unicorn Project by Gene Kim - An Interactive Book Discussion (for people ...
The Unicorn Project by Gene Kim - An Interactive Book Discussion (for people ...The Unicorn Project by Gene Kim - An Interactive Book Discussion (for people ...
The Unicorn Project by Gene Kim - An Interactive Book Discussion (for people ...
 
Effective Tools for Effective Change
Effective Tools for Effective ChangeEffective Tools for Effective Change
Effective Tools for Effective Change
 
CreativITy - Oracle OpenWorld 2010
CreativITy - Oracle OpenWorld 2010CreativITy - Oracle OpenWorld 2010
CreativITy - Oracle OpenWorld 2010
 
Need-driven-design-Bulut V2
Need-driven-design-Bulut V2Need-driven-design-Bulut V2
Need-driven-design-Bulut V2
 
LoQutus EA round table 04-06-2015
LoQutus EA round table 04-06-2015LoQutus EA round table 04-06-2015
LoQutus EA round table 04-06-2015
 
Software craftsmanship. Sizovs
Software craftsmanship. SizovsSoftware craftsmanship. Sizovs
Software craftsmanship. Sizovs
 
Software Craftsmanship Essentials
Software Craftsmanship EssentialsSoftware Craftsmanship Essentials
Software Craftsmanship Essentials
 

Mehr von Terry Yin

Mehr von Terry Yin (6)

Test Driven Development of A Static Code Analyzer
Test Driven Development of A Static Code AnalyzerTest Driven Development of A Static Code Analyzer
Test Driven Development of A Static Code Analyzer
 
Six Years of Teaching Certified Scrum Developers
Six Years of Teaching Certified Scrum DevelopersSix Years of Teaching Certified Scrum Developers
Six Years of Teaching Certified Scrum Developers
 
No Reuse Before Use
No Reuse Before UseNo Reuse Before Use
No Reuse Before Use
 
Programming exercises
Programming exercisesProgramming exercises
Programming exercises
 
Misconceptions Of Unit Testing
Misconceptions Of Unit TestingMisconceptions Of Unit Testing
Misconceptions Of Unit Testing
 
Adding Unit Test To Legacy Code
Adding Unit Test To Legacy CodeAdding Unit Test To Legacy Code
Adding Unit Test To Legacy Code
 

Kürzlich hochgeladen

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Kürzlich hochgeladen (20)

Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 

Abstraction is a communication tool