SlideShare a Scribd company logo
1 of 34
Download to read offline
the laws of
faculty of engineering university of porto
Software Engineering
in just five bits
joão pascoal faria hugo sereno ferreira&
I
the fundamental
limit of requirements
requirements end where the
liberty of the developer begins.
h
II
the three f’s of
priority management
functionality,
fidelity,
efficiency.
h
III
the gray dichotomy
structural abstraction can always be
solved by introducing a level of
indirection*
*corollary. there is no performance problem that
cannot be solved by eliminating a level of indirection.
h
Jim Gray
IV
the archimedean principle
h
a software system built on top of a
weak architecture will sink due to
the weight of its own success.
V
the human-machine
polarisation principle
h
artificial intelligence is always
better than natural stupidity.
VI
the redundancy conundrum
h
redundancy is a major source
of errors… though it can
also be used to reveal them.
VII
the kaner non-symmetry
h
a program which perfectly meets a
lousy specification is a lousy
program.
Cem Kaner
VIII
the incomplete
by design principle
h
for all practical purposes, it’s
impossible to prove the
correctness of all software*
*corollary. development is a conjecture-making activity.
IX
the murphy approximation
h
all programs have errors*
* the number of errors (n) in a given program can be
approximated by n > k, where k is any unsigned integer.
Murphy’s Laws
X
the boris lemma
h
bugs lurk in corners and
congregate at boundaries.
Boris Beizer
XI
the management
uncertainty principle
h
it’s not possible to simultaneously
fix the cost, duration and quality of
a software project.
XII
the deadline amplification
h
the estimated time remaining to
finish any given project is a
monotonically increasing function.
XIII
the second zeno paradox
h
what remains to be done is not
enough to satisfy the customer*
*customer’s satisfaction is a moving target.
XIV
the non-acceptance
conservation principle
h
the x% that remains to be
implemented have (100-x)% of
importance to the customer.
XV
the agile peculiarity
h
there’s always time to make more
changes until there’s no more
time to make changes*
* it’s always the last change that blew it up.
XVI
the social responsibility of a
software engineer
h
if the world ends in a catastrophic
scenario… who you gonna call?
the software engineers*
* because they did it!
XVII
the dijkstra observation
h
if debugging is the process of
removing software bugs, then
programming must be the
process of putting them in.
Edsger Dijkstra
XVIII
the pattis zen
h
when debugging, novices insert
corrective code; experts remove
defective code.
Richard Pattis
XIX
the adams pitfall
h
a common mistake that people make
when trying to design something
completely foolproof is to
underestimate the ingenuity of
complete fools.
Douglas Adams
XX
the ninety-ninety rule
h
the first 90% of the code accounts
for the first 90% of the
development time. The remaining 10%
of the code accounts for the other
90% of the development time.
Tom Cargill
XXI
the wirth’s law
h
software is getting slower more
rapidly than hardware becomes
faster.
Wirth
XXII
the mencken razor
h
for every complex problem,
there is a solution that is simple,
neat, and wrong.
H. L. Mencken
XXIII
the bergman dilation
h
there's never enough time to do
it right, but there's always
enough time to do it over.
Jack Bergman
XXIV
the bruce transmutation
h
any sufficiently advanced bug is
indistinguishable from a feature.
Bruce Brown
XXV
the hofstadter's recursion
h
development always take more time
than estimated, plus that of the
hofstadter’s recursion.
XXVI
the eisenhower paradox
h
i have always found that plans
are useless, but planning is
indispensable.
Dwight Eisenhower
XXVII
the first law of
code documentation
h
no comments
XXVIII
the hoare duality
h
there are two ways of constructing a
piece of software: one is to make it so
simple that there are obviously no errors,
and the other is to make it so complicated
that there are no obvious errors.
Tony Hoare
XXIX
the michael solution
h
if you automate a mess, you get an
automated mess.
Rod Michael
XXX
the alan forced congruency
h
it is easier to change the
specification to fit the program
than vice versa.
Alan Perlis
XXXI
the heisenberg requirement
h
the more stable a requirement is
considered, the greater the
probability it is changed.
XXXII
the norman strange
attractor
h
the hardest part of design…
is keeping features out.
Donald Norman
XXXII+I
the divine equivalence
h
software and cathedrals both rely
on the same process*
* first you build, then you pray.

More Related Content

Viewers also liked

Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
Siddharth Ayer
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
shruths2890
 
Medical Store Management System Software Engineering Project
Medical Store Management System Software Engineering ProjectMedical Store Management System Software Engineering Project
Medical Store Management System Software Engineering Project
hani2253
 
Li-Fi Technology (Perfect slides)
Li-Fi Technology (Perfect slides)Li-Fi Technology (Perfect slides)
Li-Fi Technology (Perfect slides)
UzmaRuhy
 
Capability Maturity Model (CMM)
Capability Maturity Model (CMM)Capability Maturity Model (CMM)
Capability Maturity Model (CMM)
Ali Sadhik Shaik
 

Viewers also liked (19)

As 32 Leis da Engenharia de Software
As 32 Leis da Engenharia de SoftwareAs 32 Leis da Engenharia de Software
As 32 Leis da Engenharia de Software
 
Fingerprint presentation
Fingerprint presentationFingerprint presentation
Fingerprint presentation
 
Incomplete by Design — Thoughts on Agile Architectures
Incomplete by Design — Thoughts on Agile ArchitecturesIncomplete by Design — Thoughts on Agile Architectures
Incomplete by Design — Thoughts on Agile Architectures
 
인체생리학 - EKG
인체생리학 - EKG인체생리학 - EKG
인체생리학 - EKG
 
Continuous Development Pipeline
Continuous Development PipelineContinuous Development Pipeline
Continuous Development Pipeline
 
#1 formal methods – introduction for software engineering
#1 formal methods – introduction for software engineering#1 formal methods – introduction for software engineering
#1 formal methods – introduction for software engineering
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
 
Software Engineering UPTU
Software Engineering UPTUSoftware Engineering UPTU
Software Engineering UPTU
 
software engineering
 software engineering software engineering
software engineering
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
FOR SCREEN BY ANURAG SINGH (8318130325)
FOR SCREEN BY ANURAG SINGH (8318130325)FOR SCREEN BY ANURAG SINGH (8318130325)
FOR SCREEN BY ANURAG SINGH (8318130325)
 
Finger reader
Finger readerFinger reader
Finger reader
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Medical Store Management System Software Engineering Project
Medical Store Management System Software Engineering ProjectMedical Store Management System Software Engineering Project
Medical Store Management System Software Engineering Project
 
Li-Fi Technology (Perfect slides)
Li-Fi Technology (Perfect slides)Li-Fi Technology (Perfect slides)
Li-Fi Technology (Perfect slides)
 
Capability Maturity Model (CMM)
Capability Maturity Model (CMM)Capability Maturity Model (CMM)
Capability Maturity Model (CMM)
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Technology powerpoint presentations
Technology powerpoint presentationsTechnology powerpoint presentations
Technology powerpoint presentations
 
The Physical Interface
The Physical InterfaceThe Physical Interface
The Physical Interface
 

Similar to The Laws of Software Engineering in just Five Bits

Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013
Aron Ahmadia
 
Workshop on software product development the backdrop
Workshop on software product development   the backdropWorkshop on software product development   the backdrop
Workshop on software product development the backdrop
Joy Prabhakaran
 
The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013
The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013
The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013
Emmanuel Letier
 

Similar to The Laws of Software Engineering in just Five Bits (20)

ADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for Worse
ADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for WorseADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for Worse
ADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for Worse
 
Software Is Details
Software Is DetailsSoftware Is Details
Software Is Details
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Worse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin Henney
 
Worse Is Better, for Better or for Worse
Worse Is Better, for Better or for WorseWorse Is Better, for Better or for Worse
Worse Is Better, for Better or for Worse
 
Emerging Technologies
Emerging TechnologiesEmerging Technologies
Emerging Technologies
 
Lecture 6: Human-Computer Interaction Course (2015) @VU University Amsterdam
Lecture 6: Human-Computer Interaction Course (2015) @VU University AmsterdamLecture 6: Human-Computer Interaction Course (2015) @VU University Amsterdam
Lecture 6: Human-Computer Interaction Course (2015) @VU University Amsterdam
 
Building Stuff for Fun and Profit - confessions from a life in code and cables
Building Stuff for Fun and Profit - confessions from a life in code and cablesBuilding Stuff for Fun and Profit - confessions from a life in code and cables
Building Stuff for Fun and Profit - confessions from a life in code and cables
 
Software engineering unit 1
Software engineering  unit 1Software engineering  unit 1
Software engineering unit 1
 
Worse Is Better, for Better or for Worse
Worse Is Better, for Better or for WorseWorse Is Better, for Better or for Worse
Worse Is Better, for Better or for Worse
 
Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013
 
The Changing Role of Software Architecting in the Digital Age
The Changing Role of Software Architecting in the Digital Age The Changing Role of Software Architecting in the Digital Age
The Changing Role of Software Architecting in the Digital Age
 
AntiPatterns
AntiPatternsAntiPatterns
AntiPatterns
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Workshop on software product development the backdrop
Workshop on software product development   the backdropWorkshop on software product development   the backdrop
Workshop on software product development the backdrop
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013
The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013
The Value of Requirements Uncertainty, Louvain-la-Neuve, October 2013
 
Oss 2009- How Open Source Software Can Save the ICT Industry
Oss 2009- How Open Source Software Can Save the ICT IndustryOss 2009- How Open Source Software Can Save the ICT Industry
Oss 2009- How Open Source Software Can Save the ICT Industry
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

The Laws of Software Engineering in just Five Bits