SlideShare a Scribd company logo
nahim nasserVP of Engineering @BNOTIONS
@NAHIMNASSER
ANTI-PATTERNS
ENGINEERING
WHAT are ANTI-PATTERNs?
Repeated patterns that result
in negative consequences
Repeated patterns that result
in negative consequences
When solutions exist
84%Of ALL software projects fail
anti-patterns
ARE
Lessons learned
anti-patterns
ARE
Heavily Documented
Engineering Anti-Patterns @JQueryTO 2014
Hope you weren’t apart of this one
Not to be confused with Test Driven Development
Ouch.
Whats wrong with that? Haha…
Key takeaways
anti patterns are bad
it is good to be able to recognize them
anti patterns are bad
it is good to be able to recognize them
It’s even better to know what to do when
you find them
anti patterns are bad
it is good to be able to recognize them
overcoming anti-patterns unlocks incredible
potential in your organization
anti patterns are bad
It’s even better to know what to do when
you find them
Engineering Anti-Patterns @JQueryTO 2014
Encounters
with
Anti-Patterns
Analysis
paralysis
AntiPattern #1
Analyzing for too
long, while the
opportunity passes
Choosing A
TECHNOLOGY
STACK
Engineering Anti-Patterns @JQueryTO 2014
Convergence in language features,
fragmentation in the number of
languages
Comparsion MAtrices
Comparsion MAtrices
TODO APPS
Comparsion MAtrices
TODO APPS
Community Research
hiring market research
Comparsion MAtrices
TODO APPS
Community Research
COST-benefit Analysis
hiring market research
Tradeoff analysis
Comparsion MAtrices
TODO APPS
Community Research
COST-benefit Analysis
hiring market research
Tradeoff analysis
EASY TO GET TRAPPED
0
25
50
75
100
Opportunity Cost Benefits
analysis paralysis
0
25
50
75
100
Opportunity Cost Benefits
analysis paralysis
Engineering Anti-Patterns @JQueryTO 2014
Agile was designed to
attack analysis paralysis
to handle changing
business requirements
incremental
development
the solution was
everyone started applying
this to business requirements
what if we applied this
to our technology stack?
What if we accounted
for incremental
renovation right from
the start?
Language agnostic
framework Agnostic
Language agnostic
platform agnostic
framework Agnostic
Language agnostic
acknowledge
the rebuild
SIDE EFFECTS
birth of the ‘polyglot'
programmers
technology choice
agility
is also a great
motivator for engineers
Engineering Anti-Patterns @JQueryTO 2014
EXTINCT BY INSTINCT
ANALYSIS
PARALYsIS
extinct by
instinct
design by
committee
AntiPattern #2
too many software designers
No unifying plan or vision
too many software designers
Engineering Anti-Patterns @JQueryTO 2014
erwin edge-case
not bad to have a
few designers,
but unification is
critical
Your app might work
ok now lets create
some new features
vomit
more vomit
Insult to injury
“It is better to have a system omit
certain anomalous features… than
to have one that contains many
good but independent and
uncoordinated ideas.”
-Frederick brooks (mmm)
recommended solution:
Designated design leader
!
Designated design leader
!
reform meeting processes
recommended solution:
Designated design leader
!
reform meeting processes
explicit roles and outcomes
recommended solution:
“…conceptual integrity is the
most important consideration in
system design. “
-Frederick brooks (mmm)
Engineering Anti-Patterns @JQueryTO 2014
reinventing the
square wheel
AntiPattern #3
Failing to adopt an existing
solution
Failing to adopt an existing
solution
and instead adopting a
custom solution
which performs
much worse
than the existing
one
“Hey, there’s this great
library that does exactly
what you need”
-you
“That library will take a
while to learn, and i can write
it better myself faster”
-Ricky Rewrite
rookie management
rookie management
& pride
Recommended solution:
period of library mining
!
lean towards
battle-tested
solutions
lean towards
battle-tested
solutions
libraries that have
been tried, tested,
and have traction.
Engineering Anti-Patterns @JQueryTO 2014
impact organizational
structure
Antipatterns
impact Management
principles
Antipatterns
impact how effective
you are as an engineer
Antipatterns
BNOTIONS ENGINEERING
ANTI-anti-patterns manifested in
mastery
mastery
Autonomy
mastery
Autonomy
purpose
constantly
improving your craft
mastery
manifestation:
mastery
internal education
Technology choice Agility
challenging work
Autonomy
Autonomy
acting with choice
and influence
manifestation:
autonomy
self-directed teams
teams choose what they work on
teams choose who they work with
teams choose how they build projects
BOTTOM UP
TECHNOLOGY
ADOPTION
purpose
intrinsic motivation
beyond profitability
manifestation:
purpose
constant alignment with the
organization’s vision
Engineering Anti-Patterns @JQueryTO 2014
mastery
mastery
Autonomy
mastery
Autonomy
purpose
positive effect on
business outcomes
positive effect on
personal happiness
positive effect on
‘work’ engagement
anti-patterns
design patterns
anti-patterns
design patterns
well rounded leadership
@NAHIMNASSER
@BNOTIONS
email me your stories: nahim@bnotions.com

More Related Content

PDF
Design of experiments
PDF
Design of experiments
PPTX
Fact or Fiction? What Software Analytics Can Do For Us
PPTX
Software Analytics
PPTX
Software Analytics: The Dark Side and the Test Side
PDF
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012
PPTX
First steps in testing analytics: Does test code quality matter?
PPTX
Exploratory testing
Design of experiments
Design of experiments
Fact or Fiction? What Software Analytics Can Do For Us
Software Analytics
Software Analytics: The Dark Side and the Test Side
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012
First steps in testing analytics: Does test code quality matter?
Exploratory testing

What's hot (20)

PDF
2013-11-07 standups, stories, planning & estimates
PDF
Practical Problem Solving with Data - Onlab Data Conference, Tokyo
PPTX
How to think smarter about software development
PPTX
Test & evaluation = the knowledge factory
PPTX
ISMB trainee workshop2016
PPT
Software testing _mod_9
PPTX
Zero Bugs
PPTX
Prevalence Of Spreadsheet Errors
PDF
React performance
PPTX
Santa Barbara Agile: Exploratory Testing Explained and Experienced
PDF
More Aim, Less Blame: How to use postmortems to turn failures into something ...
PPTX
How to think as a technical tester
PDF
Exploratory Testing in an Agile Context
PPTX
Solving technical challenges
PDF
Sigma Open Tech Week: Bitter Truth About Software Security
PPTX
Cinci ug-january2011-anti-patterns
ODP
Let's test
PPTX
Imrul: Context Driven Testing
PPTX
Analysis paralysis
2013-11-07 standups, stories, planning & estimates
Practical Problem Solving with Data - Onlab Data Conference, Tokyo
How to think smarter about software development
Test & evaluation = the knowledge factory
ISMB trainee workshop2016
Software testing _mod_9
Zero Bugs
Prevalence Of Spreadsheet Errors
React performance
Santa Barbara Agile: Exploratory Testing Explained and Experienced
More Aim, Less Blame: How to use postmortems to turn failures into something ...
How to think as a technical tester
Exploratory Testing in an Agile Context
Solving technical challenges
Sigma Open Tech Week: Bitter Truth About Software Security
Cinci ug-january2011-anti-patterns
Let's test
Imrul: Context Driven Testing
Analysis paralysis
Ad

Viewers also liked (14)

PPTX
code documentation
PPTX
Documenting APIs with Cats
PPTX
Clean code
ODP
Documenting code yapceu2016
PPTX
Code documentation
PDF
Tech Stack: Combining Powerful Technology & Funnel-Driven Content
PDF
Source Code Quality
PDF
Pachara's portfolio
PDF
Documentation Driven Development
PPTX
How developers write documentation
PPTX
To document or not to document? An exploratory study on developers' motivatio...
PPT
Docs as-code-missing.-manual
PPTX
Thinking of Documentation as Code [YUIConf 2013]
PDF
Delivering High-Velocity Docs that Keep Pace with Rapid Release Cycles
code documentation
Documenting APIs with Cats
Clean code
Documenting code yapceu2016
Code documentation
Tech Stack: Combining Powerful Technology & Funnel-Driven Content
Source Code Quality
Pachara's portfolio
Documentation Driven Development
How developers write documentation
To document or not to document? An exploratory study on developers' motivatio...
Docs as-code-missing.-manual
Thinking of Documentation as Code [YUIConf 2013]
Delivering High-Velocity Docs that Keep Pace with Rapid Release Cycles
Ad

Similar to Engineering Anti-Patterns @JQueryTO 2014 (20)

PDF
Rules of development (and everything else for what matters)
PPT
Anti-Patterns
PPTX
Startups & the Product Management Perspective
PPTX
PATTERNS05 - Guidelines for Choosing a Design Pattern
PDF
AntiPatterns
PPTX
metaphors for a richer understanding of software
PPTX
Pragmatic programmer
PDF
Empirical Methods in Software Engineering - an Overview
PPTX
Best pratice
PDF
Pair Programming in Theory and Practice By Garrick West
PDF
Refactoring guided by design principles driven by technical debt
PDF
Designing For Stigma: A Framework
PDF
A conversation about Design thinking
PDF
Advice on how to get started — and ahead — in a career in DevOps
PDF
Creating An Incremental Architecture For Your System
PPTX
QA is Broken, Fix it!
PPT
Intro to Agile Practices and Values
PDF
Blameless Retrospectives in DevSecOps (at Global Healthcare Giants)
PDF
Applying AI to software engineering problems: Do not forget the human!
PDF
Prototyping for tiny fingers
Rules of development (and everything else for what matters)
Anti-Patterns
Startups & the Product Management Perspective
PATTERNS05 - Guidelines for Choosing a Design Pattern
AntiPatterns
metaphors for a richer understanding of software
Pragmatic programmer
Empirical Methods in Software Engineering - an Overview
Best pratice
Pair Programming in Theory and Practice By Garrick West
Refactoring guided by design principles driven by technical debt
Designing For Stigma: A Framework
A conversation about Design thinking
Advice on how to get started — and ahead — in a career in DevOps
Creating An Incremental Architecture For Your System
QA is Broken, Fix it!
Intro to Agile Practices and Values
Blameless Retrospectives in DevSecOps (at Global Healthcare Giants)
Applying AI to software engineering problems: Do not forget the human!
Prototyping for tiny fingers

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
Teaching material agriculture food technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
KodekX | Application Modernization Development
sap open course for s4hana steps from ECC to s4
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Teaching material agriculture food technology
Encapsulation_ Review paper, used for researhc scholars
Spectral efficient network and resource selection model in 5G networks
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Review of recent advances in non-invasive hemoglobin estimation
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KodekX | Application Modernization Development

Engineering Anti-Patterns @JQueryTO 2014