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

What's hot

what is Mixed reality and how it works by holo lens
what is Mixed reality and how it works by holo lenswhat is Mixed reality and how it works by holo lens
what is Mixed reality and how it works by holo lens
nareen kumar
 
The Robotic Revolution
The Robotic RevolutionThe Robotic Revolution
The Robotic Revolution
luis arroyave
 
Augmented reality report
Augmented reality reportAugmented reality report
Augmented reality report
Satyendra Gupta
 
Sixth sense technology (2)
Sixth sense     technology (2)Sixth sense     technology (2)
Sixth sense technology (2)
Manish Upadhyay
 
augmented reality paper presentation
augmented reality paper presentationaugmented reality paper presentation
augmented reality paper presentation
Vaibhav Mehta
 

What's hot (20)

Mixed reality
Mixed realityMixed reality
Mixed reality
 
Virtual reality ppt
Virtual reality pptVirtual reality ppt
Virtual reality ppt
 
what is Mixed reality and how it works by holo lens
what is Mixed reality and how it works by holo lenswhat is Mixed reality and how it works by holo lens
what is Mixed reality and how it works by holo lens
 
Blue brain ppt
Blue brain pptBlue brain ppt
Blue brain ppt
 
The Robotic Revolution
The Robotic RevolutionThe Robotic Revolution
The Robotic Revolution
 
Augmented reality report
Augmented reality reportAugmented reality report
Augmented reality report
 
Sixth sense technology (2)
Sixth sense     technology (2)Sixth sense     technology (2)
Sixth sense technology (2)
 
augmented reality paper presentation
augmented reality paper presentationaugmented reality paper presentation
augmented reality paper presentation
 
Augmented Reality & Applications
Augmented Reality & ApplicationsAugmented Reality & Applications
Augmented Reality & Applications
 
Futex ppt
Futex  pptFutex  ppt
Futex ppt
 
3 idiots
3 idiots3 idiots
3 idiots
 
Human Centered Thinking/Design
Human Centered Thinking/DesignHuman Centered Thinking/Design
Human Centered Thinking/Design
 
Presentation on Microsoft Hololens
Presentation on Microsoft HololensPresentation on Microsoft Hololens
Presentation on Microsoft Hololens
 
Artificial Intelligence - Forwarded by Jeff Campau
Artificial Intelligence - Forwarded by Jeff CampauArtificial Intelligence - Forwarded by Jeff Campau
Artificial Intelligence - Forwarded by Jeff Campau
 
Mind reading computer ppt
Mind reading computer pptMind reading computer ppt
Mind reading computer ppt
 
Applications of artificial intelligence
Applications of artificial intelligenceApplications of artificial intelligence
Applications of artificial intelligence
 
Mixed Reality
Mixed RealityMixed Reality
Mixed Reality
 
Virtual Reality (VR) & Augmented Reality (AR): Are You Ready?
Virtual Reality (VR) & Augmented Reality (AR): Are You Ready?Virtual Reality (VR) & Augmented Reality (AR): Are You Ready?
Virtual Reality (VR) & Augmented Reality (AR): Are You Ready?
 
TREND TECHNOLOGY,general seminar ,DEGREE SEMINAR TOPICS,PG SEMINAR, VIRTUAL R...
TREND TECHNOLOGY,general seminar ,DEGREE SEMINAR TOPICS,PG SEMINAR, VIRTUAL R...TREND TECHNOLOGY,general seminar ,DEGREE SEMINAR TOPICS,PG SEMINAR, VIRTUAL R...
TREND TECHNOLOGY,general seminar ,DEGREE SEMINAR TOPICS,PG SEMINAR, VIRTUAL R...
 
Artificial Intelligence presentation
Artificial Intelligence presentationArtificial Intelligence presentation
Artificial Intelligence presentation
 

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

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%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
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
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...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
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...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
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...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 

The Laws of Software Engineering in just Five Bits