SlideShare a Scribd company logo
1 of 61
ANTI-PATTERNS Belgi Özen Sr. Application Designer
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1. AntiPattern Fundamentals ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.1 What’s an Anti-Pattern? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.1  Cont. ,[object Object],[object Object]
1.2 Why do we Need Them? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.2 Cont. ,[object Object],[object Object]
1.3 Samples ,[object Object],[object Object]
1.3 Example  : Mini AntiPattern: Robot ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Avarice
1.3 Ex2: Executive Decision Making AntiPattern Avarice
1.4 Differences with Design Patterns Design Patterns AntiPatterns Time passes yielding new context Problem Solution Consequences Related Solutions Benefits Context & Forces Symptoms & Consequences Context & Causes Consequences Related Solutions Benefits Refactored Solution AntiPattern Solution
1.4 Cont ,[object Object],[object Object],[object Object]
1.5 Reference Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.5.1 Root Causes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.5.1 Root Causes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.5.2 Primal Forces ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.5.2 Cont. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1.5.2 Cont. ,[object Object],[object Object],[object Object],[object Object],[object Object]
1.5.3 Software Design Model Level ,[object Object],[object Object]
1.6 Structure of an Anti Pattern ,[object Object],[object Object],[object Object],[object Object],[object Object]
2.Management Anti-Patterns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.2 Analysis Paralysis(Waterfall) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.2 Cont ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.2 Cont ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.3 CornCob( difficult people) ,[object Object],[object Object],[object Object],[object Object]
2.3 CornCob ,[object Object],[object Object],[object Object],[object Object],[object Object]
2.3 CornCob ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.3 CornCob ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.3 CornCob ,[object Object],[object Object],[object Object],[object Object]
2.4 Smoke and Mirrors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3.Project Management Anti-Patterns ,[object Object],[object Object],[object Object]
4.Development Anti-Patterns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.Development Anti-Patterns ,[object Object],[object Object],[object Object],[object Object],[object Object]
4.1 Blob ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.1 Blob ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.1 Blob ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.2 Lava Flow(Dead Code) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.2 Lava Flow ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.2 Lava Flow ,[object Object],[object Object],[object Object],[object Object]
4.3 Ambiguous Viewpoint ,[object Object],[object Object],[object Object],[object Object],[object Object]
4.4 Functional Decomposition ,[object Object],[object Object],[object Object],[object Object]
4.4 Functional Decomposition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.4 Functional Decomposition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.5 Boat Anchor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.5 Boat Anchor ,[object Object],[object Object],[object Object],[object Object]
4.6 Golden Hammer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.6 Golden Hammer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.6 Golden Hammer ,[object Object],[object Object],[object Object],[object Object]
4.7 Dead End ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.8 Input Kludge ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.9 Spaghetti Code ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.9 Continuous Obsolescence ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.10 Mushroom Management ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.11 Poltergeists ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.12 Walking through a Minefield ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.13 Cut-And-Paste Programming ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
5.Architectural Anti-Patterns
6.Methodological Anti-Patterns
7.Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
8. References ,[object Object],[object Object],[object Object],[object Object],[object Object]
9. Q&A ,[object Object],[object Object]

More Related Content

What's hot

Clean code presentation
Clean code presentationClean code presentation
Clean code presentationBhavin Gandhi
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureBrad Appleton
 
1 rapid prototyping model
1 rapid prototyping model1 rapid prototyping model
1 rapid prototyping modeldelaco
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with ScrumMike Cohn
 
Agile product development
Agile product developmentAgile product development
Agile product developmentBrenn Hill
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing ExplainedTechWell
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentMike Douglas
 
What is Design Thinking?
What is Design Thinking?What is Design Thinking?
What is Design Thinking?David Terrar
 
Scrum team evolution
Scrum team evolutionScrum team evolution
Scrum team evolutionMahmoud Ghoz
 
Code Smells and Its type (With Example)
Code Smells and Its type (With Example)Code Smells and Its type (With Example)
Code Smells and Its type (With Example)Anshul Vinayak
 
Make Work Visible - Unmask Capacity Killing WIP
Make Work Visible - Unmask Capacity Killing WIPMake Work Visible - Unmask Capacity Killing WIP
Make Work Visible - Unmask Capacity Killing WIPDominica DeGrandis
 
107 user story game (poole & lee)
107   user story game (poole & lee)107   user story game (poole & lee)
107 user story game (poole & lee)ProductCamp Boston
 
Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)Filippo Zanella
 

What's hot (20)

Clean code presentation
Clean code presentationClean code presentation
Clean code presentation
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary Architecture
 
1 rapid prototyping model
1 rapid prototyping model1 rapid prototyping model
1 rapid prototyping model
 
Clean Code
Clean CodeClean Code
Clean Code
 
Refactoring
RefactoringRefactoring
Refactoring
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with Scrum
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
Kickstarting Design Thinking
Kickstarting Design ThinkingKickstarting Design Thinking
Kickstarting Design Thinking
 
TDD refresher
TDD refresherTDD refresher
TDD refresher
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
What is Design Thinking?
What is Design Thinking?What is Design Thinking?
What is Design Thinking?
 
Scrum team evolution
Scrum team evolutionScrum team evolution
Scrum team evolution
 
Code Smells and Its type (With Example)
Code Smells and Its type (With Example)Code Smells and Its type (With Example)
Code Smells and Its type (With Example)
 
What is agile?
What is agile?What is agile?
What is agile?
 
Agile Teams
Agile TeamsAgile Teams
Agile Teams
 
Make Work Visible - Unmask Capacity Killing WIP
Make Work Visible - Unmask Capacity Killing WIPMake Work Visible - Unmask Capacity Killing WIP
Make Work Visible - Unmask Capacity Killing WIP
 
107 user story game (poole & lee)
107   user story game (poole & lee)107   user story game (poole & lee)
107 user story game (poole & lee)
 
Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)
 

Similar to Anti-Patterns

Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandDavid O'Dowd
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?Òscar Vilaplana
 
Software engineering
Software engineeringSoftware engineering
Software engineeringsweetysweety8
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XPSemen Arslan
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex ProjectsBorys Lebeda
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Unit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement EngineeringUnit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement EngineeringKanchanPatil34
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cardsTudor Girba
 
No silver bullet summary (paper)
No silver bullet summary (paper)No silver bullet summary (paper)
No silver bullet summary (paper)shakeel khan
 
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...Sanjeevi Prasad
 
Software development philosophies v1
Software development philosophies v1Software development philosophies v1
Software development philosophies v1Praveen Nair
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semesterrajesh199155
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering noteNeelamani Samal
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
Aula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanAula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanRogerio P C do Nascimento
 

Similar to Anti-Patterns (20)

Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XP
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex Projects
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Design final
Design finalDesign final
Design final
 
Unit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement EngineeringUnit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement Engineering
 
3.pptx
3.pptx3.pptx
3.pptx
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 
No silver bullet summary (paper)
No silver bullet summary (paper)No silver bullet summary (paper)
No silver bullet summary (paper)
 
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
 
Software development philosophies v1
Software development philosophies v1Software development philosophies v1
Software development philosophies v1
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
chapter 1.ppt
chapter 1.pptchapter 1.ppt
chapter 1.ppt
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
Aula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanAula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger Pressman
 

Anti-Patterns

  • 1. ANTI-PATTERNS Belgi Özen Sr. Application Designer
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. 1.3 Ex2: Executive Decision Making AntiPattern Avarice
  • 11. 1.4 Differences with Design Patterns Design Patterns AntiPatterns Time passes yielding new context Problem Solution Consequences Related Solutions Benefits Context & Forces Symptoms & Consequences Context & Causes Consequences Related Solutions Benefits Refactored Solution AntiPattern Solution
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 59.
  • 60.
  • 61.

Editor's Notes

  1. r