SlideShare a Scribd company logo
Welcome to Fail Fast
Session By @AlSayedGamal
1
Fail Fast
By @AlSayedGamal
2
Agenda
Fail Immediately!
Assertion!
Eliminate the debugger!
Fail fast and robust software.
3
Q1:What’s the most annoying
part of software development ?
4
A: Debugging
5
Q2:What are the most
hated bugs ?
6
A: Bugs that appear unexpectedly
after a long time of operating
normally!
7
Fail Fast is the solution
8
Fail Immediately
Fail Fast concept can be digested as failing
immediately and clearly.
9
Can you debug this ?
Imagine this in a web based app & the developer had a typo in config file
10
What about debugging this ?
Same typo will be spotted immediately.
11
Fail Fast Fundamentals
12
Assertions
What’s assertion ?!
Make sure that your language fails on assertion error.!
When is the most suitable time to do assertion.!
Assertion doesn’t conflict with logging.
13
Design your assertions
Only if your language doesn’t have a powerful one already
14
* ‫هوين؟‬ ‫بط‬
*But when ?
15
–Jim Shore
“However, it’s tough to know when to add assertions.
One way to tell is to look for comments.”
16
The Killing Exception
When Assert.notNull() can save your life.
17
18
Debug this.
The hair pulling phase.
19
but when ?*
‫؟‬ ‫هوين‬ ‫*بط‬
20
Assertion not required
Assertion required
21
Rule of thumb
22
Eliminate the debugger
23
and even better
If the maxConnections wasn’t found or mistyped it will throw!
something like this one:
24
Fail fast robust software
Global exception handler
Summary
Don’t fail silently and save your time and out time.!
Assert whenever you comment.!
Assert.notNull(_instanceVariable).!
Fail with description.!
Use a global handler for users sake.
25
References
http://www.martinfowler.com/ieeeSoftware/failFast.pdf!
en.wikipedia.org/wiki/Fail-fast
26
Questions ?
@AlSayedGamal
Thank you!

More Related Content

PDF
Agile Software Development for Non-Developers
PDF
Fail fast! approach
PDF
Atlassian: The latest and greatest - May/June 2013
PDF
Use Scrum and Continuous Delivery to innovate like crazy!
PPTX
Enterprise Development on a Shoestring Budget
PPTX
Five myths about translation
PDF
Design for gutenberg
ODP
Enterprise Workflows When You Aren't Enterprise
Agile Software Development for Non-Developers
Fail fast! approach
Atlassian: The latest and greatest - May/June 2013
Use Scrum and Continuous Delivery to innovate like crazy!
Enterprise Development on a Shoestring Budget
Five myths about translation
Design for gutenberg
Enterprise Workflows When You Aren't Enterprise

What's hot (20)

PPTX
PhillyXP Pair Programming
PDF
Atlassian - The Latest & Greatest April 2014
PPTX
01 simple program
PDF
Continuous delivery
PDF
The Jira How-To Guide
PDF
Faster Secure Software Development with Continuous Deployment - PH Days 2013
PDF
Offshore tips sharing_2.0
PPT
Continuous Deployment
PPTX
Lean responsive - Expanded
PDF
Alexa, what's next?
PDF
Fixing security by fixing software development
PDF
Kick-@$$ Sofware Development
PDF
Confluence - From Wiki to Collaboration Platform
PDF
Git with t for teams
PPTX
DevOps - Understanding Core Concepts (Old)
PPT
Five essential elements for successful software development
PDF
CakePHP mistakes made 2015
PDF
Karl Krukow - What's new and cool in xamarin test cloud - Xamarin Dev Days Si...
PPTX
How to start developing iOS apps
PPTX
WordPress Upgrades: Read, Set, Go!
PhillyXP Pair Programming
Atlassian - The Latest & Greatest April 2014
01 simple program
Continuous delivery
The Jira How-To Guide
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Offshore tips sharing_2.0
Continuous Deployment
Lean responsive - Expanded
Alexa, what's next?
Fixing security by fixing software development
Kick-@$$ Sofware Development
Confluence - From Wiki to Collaboration Platform
Git with t for teams
DevOps - Understanding Core Concepts (Old)
Five essential elements for successful software development
CakePHP mistakes made 2015
Karl Krukow - What's new and cool in xamarin test cloud - Xamarin Dev Days Si...
How to start developing iOS apps
WordPress Upgrades: Read, Set, Go!
Ad

Viewers also liked (8)

PDF
Rails course day 8
PDF
Web development Hackathon
PDF
Python novice to ninja
PDF
OpenStack Murano Application Catalog
PDF
Python Novice to Ninja
PDF
Git workshop
PDF
Rails course day 4
PDF
Ionic Hybrid Mobile Application
Rails course day 8
Web development Hackathon
Python novice to ninja
OpenStack Murano Application Catalog
Python Novice to Ninja
Git workshop
Rails course day 4
Ionic Hybrid Mobile Application
Ad

Similar to Failfast (9)

PPTX
Fundamental Principles of Software Development
DOCX
NDSU CSCI 717Software ConstructionDefensive Programming.docx
PPTX
Bug, Defect, Error, Fault in Software Quality Engineering .pptx
PDF
Exception+Logging=Diagnostics 2011
PPTX
Taxonomy of bugs total topic covered presentation
PDF
Top 10 Exception Handling best practices in Kotlin
PPTX
Introduction to Functional Programming
PPTX
How to fix bug or defects in software
PPTX
C Sharp Tutorial : C Sharp Exception
Fundamental Principles of Software Development
NDSU CSCI 717Software ConstructionDefensive Programming.docx
Bug, Defect, Error, Fault in Software Quality Engineering .pptx
Exception+Logging=Diagnostics 2011
Taxonomy of bugs total topic covered presentation
Top 10 Exception Handling best practices in Kotlin
Introduction to Functional Programming
How to fix bug or defects in software
C Sharp Tutorial : C Sharp Exception

More from Al Sayed Gamal (14)

PDF
9 patterns of microservices
PPTX
Elixir introduction
PDF
Racist syndrome (composition over inheritance)
PDF
Rails course day 7
PDF
Rails course day 6
PDF
Rails course day 5
PDF
Rails course day 3
PDF
Rails course day 2
PDF
PDF
Python 45 minutes hangout #3
PDF
Python 45 minutes Hangouts #4
PDF
Python45 2
PDF
Python45s - Session 01
PDF
Mansoura University CSED & Nozom web development sprint
9 patterns of microservices
Elixir introduction
Racist syndrome (composition over inheritance)
Rails course day 7
Rails course day 6
Rails course day 5
Rails course day 3
Rails course day 2
Python 45 minutes hangout #3
Python 45 minutes Hangouts #4
Python45 2
Python45s - Session 01
Mansoura University CSED & Nozom web development sprint

Recently uploaded (20)

PDF
Test slideshare presentation for blog post
PDF
intro_to_rust.pptx_123456789012446789.pdf
PPT
EthicsNotesSTUDENTCOPYfghhnmncssssx sjsjsj
PDF
How Animation is Used by Sports Teams and Leagues
PDF
trenching-standard-drawings procedure rev
PPTX
2. Competency Based Interviewing - September'16.pptx
PPTX
Presentation1.pptxnmnmnmnjhjhkjkjkkjkjjk
PPTX
8086.pptx microprocessor and microcontroller
PPTX
VERNACULAR_DESIGN_PPT FINAL WITH PROPOSED PLAN.pptx
PPTX
Acoustics new a better way to learn sound science
PDF
Trends That Shape Graphic Design Services
PDF
THEORY OF ID MODULE (Interior Design Subject)
PDF
The Basics of Presentation Design eBook by VerdanaBold
PDF
Govind singh Corporate office interior Portfolio
PDF
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
PDF
The Complete Guide to Buying Verified Stripe Accounts 2025.pdf
PDF
1 Introduction to Networking (06).pdfbsbsbsb
PPTX
LITERATURE CASE STUDY DESIGN SEMESTER 5.pptx
PPTX
a group casestudy on architectural aesthetic and beauty
PPTX
22CDO02-IMGD-UNIT-I-MOBILE GAME DESIGN PROCESS
Test slideshare presentation for blog post
intro_to_rust.pptx_123456789012446789.pdf
EthicsNotesSTUDENTCOPYfghhnmncssssx sjsjsj
How Animation is Used by Sports Teams and Leagues
trenching-standard-drawings procedure rev
2. Competency Based Interviewing - September'16.pptx
Presentation1.pptxnmnmnmnjhjhkjkjkkjkjjk
8086.pptx microprocessor and microcontroller
VERNACULAR_DESIGN_PPT FINAL WITH PROPOSED PLAN.pptx
Acoustics new a better way to learn sound science
Trends That Shape Graphic Design Services
THEORY OF ID MODULE (Interior Design Subject)
The Basics of Presentation Design eBook by VerdanaBold
Govind singh Corporate office interior Portfolio
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
The Complete Guide to Buying Verified Stripe Accounts 2025.pdf
1 Introduction to Networking (06).pdfbsbsbsb
LITERATURE CASE STUDY DESIGN SEMESTER 5.pptx
a group casestudy on architectural aesthetic and beauty
22CDO02-IMGD-UNIT-I-MOBILE GAME DESIGN PROCESS

Failfast