SlideShare a Scribd company logo
1 of 40
Agile Evolutionary Design & SOLID Principles
Introduction ,[object Object]
Agile Design Process
SOLID principles
And coding time :)
Questions anytime.
Typical Evolution of System Dream system designed to perfection and beauty.  Meaning of beauty and perfection are subjective. What do those mean for you?
Typical Evolution of System Adding features
Typical Evolution of System Changing features
Birth of Legacy System Somewhere in near future
Agile Design Process
Beautiful System Beautiful System
Adding a feature
Clean the mess We will see some of the techniques which will help us to keep the system clean in this presentation.
After a period of time Beautiful System.
What is Agile Design? ,[object Object]
Not doing an anticipatory design
But still setting a stage for design to evolve for  tomorrow ,[object Object]
XP Practices
But at code level what helps to create simple and evolutionary design?
Sample Application – Reporting App Concentrate on the principles and not on the app Read the flat file and generate the report Reporter App ,[object Object]
ReadFile
Extract Data
FormatReport Reporter App File
SOLID Principles
SOLID Principles ,[object Object]
Open Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Single Responsibility Principle
Single Responsibility Principle ,[object Object]
Or a class should not handle more than one responsibility
Design smell  –  Class changed when unrelated responsibilities  change. High afferent coupling? Or multiple classes changed  when a responsibility changes. High Efferent Coupling?
Shotgun surgery and divergent change
If it is not possible to separate the responsibilities at least  show the presence of multiple roles played by the object.
Applies not just for classes but also for modules, functions as  well
Better cohesion, encapsulation and less coupled design
Better design applying SRP Requirement Changes ,[object Object]
May be will add more report formats (Graphical etc..) Reporter App Report Data Extractor Report Formatter CSV Format JSON Format

More Related Content

Viewers also liked

Project management is the discipline of planning
Project management is the discipline of planningProject management is the discipline of planning
Project management is the discipline of planning
Philip Menezes
 
Evolution of the Software Development Process at Digital Natives
Evolution of the Software Development Process at Digital NativesEvolution of the Software Development Process at Digital Natives
Evolution of the Software Development Process at Digital Natives
Zsolt Fabok
 
The Difficult Life of a Lean Team Leader
The Difficult Life of a Lean Team LeaderThe Difficult Life of a Lean Team Leader
The Difficult Life of a Lean Team Leader
Zsolt Fabok
 
Agile in Stealth Mode
Agile in Stealth ModeAgile in Stealth Mode
Agile in Stealth Mode
Zsolt Fabok
 
Measure and Manage Flow in Practice
Measure and Manage Flow in PracticeMeasure and Manage Flow in Practice
Measure and Manage Flow in Practice
Zsolt Fabok
 

Viewers also liked (20)

Introducing agility to non-agile organisations - LKUK14
Introducing agility to non-agile organisations - LKUK14Introducing agility to non-agile organisations - LKUK14
Introducing agility to non-agile organisations - LKUK14
 
Enterprise agile Process
Enterprise agile ProcessEnterprise agile Process
Enterprise agile Process
 
Project management is the discipline of planning
Project management is the discipline of planningProject management is the discipline of planning
Project management is the discipline of planning
 
Improving your Agile Process
Improving your Agile ProcessImproving your Agile Process
Improving your Agile Process
 
JavaScript Survival Guide
JavaScript Survival GuideJavaScript Survival Guide
JavaScript Survival Guide
 
Agile Simplified
Agile SimplifiedAgile Simplified
Agile Simplified
 
Evolution of the Software Development Process at Digital Natives
Evolution of the Software Development Process at Digital NativesEvolution of the Software Development Process at Digital Natives
Evolution of the Software Development Process at Digital Natives
 
The Difficult Life of a Lean Team Leader
The Difficult Life of a Lean Team LeaderThe Difficult Life of a Lean Team Leader
The Difficult Life of a Lean Team Leader
 
Agile in Stealth Mode
Agile in Stealth ModeAgile in Stealth Mode
Agile in Stealth Mode
 
Measure and Manage Flow in Practice
Measure and Manage Flow in PracticeMeasure and Manage Flow in Practice
Measure and Manage Flow in Practice
 
Measure and Manage Flow v2
Measure and Manage Flow v2Measure and Manage Flow v2
Measure and Manage Flow v2
 
Kanban in 5 minutes
Kanban in 5 minutesKanban in 5 minutes
Kanban in 5 minutes
 
Tribes
TribesTribes
Tribes
 
Queueing theory in software development - ALEBathtub 2011-06-30
Queueing theory in software development - ALEBathtub 2011-06-30Queueing theory in software development - ALEBathtub 2011-06-30
Queueing theory in software development - ALEBathtub 2011-06-30
 
Kanban
KanbanKanban
Kanban
 
[LKUK13] I Broke the WIP Limit Twice, and I'm Still on the Team
[LKUK13] I Broke the WIP Limit Twice, and I'm Still on the Team[LKUK13] I Broke the WIP Limit Twice, and I'm Still on the Team
[LKUK13] I Broke the WIP Limit Twice, and I'm Still on the Team
 
Smartbyte Moneysaver Proof
Smartbyte  Moneysaver ProofSmartbyte  Moneysaver Proof
Smartbyte Moneysaver Proof
 
Effect of Batch Size on Work Flow
Effect of Batch Size on Work FlowEffect of Batch Size on Work Flow
Effect of Batch Size on Work Flow
 
Agile for non-IT projects
Agile for non-IT projectsAgile for non-IT projects
Agile for non-IT projects
 
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
 

Similar to Evolutionary Design Solid

"Up-Down Development & DSL-first approach", Владимир Мельник, DataArt
 "Up-Down Development & DSL-first approach", Владимир Мельник, DataArt "Up-Down Development & DSL-first approach", Владимир Мельник, DataArt
"Up-Down Development & DSL-first approach", Владимир Мельник, DataArt
DataArt
 

Similar to Evolutionary Design Solid (20)

Evolutionary Design Solid
Evolutionary Design SolidEvolutionary Design Solid
Evolutionary Design Solid
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
 
Ncrafts.io - Refactor your software architecture
Ncrafts.io - Refactor your software architectureNcrafts.io - Refactor your software architecture
Ncrafts.io - Refactor your software architecture
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA Presentation
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentation
 
Thoughtful Software Design
Thoughtful Software DesignThoughtful Software Design
Thoughtful Software Design
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software quality
 
CV - Manuel_Lara
CV - Manuel_LaraCV - Manuel_Lara
CV - Manuel_Lara
 
DDD
DDDDDD
DDD
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Designingapplswithnet
DesigningapplswithnetDesigningapplswithnet
Designingapplswithnet
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Class 12th IP project on buisness management
Class 12th IP project on buisness managementClass 12th IP project on buisness management
Class 12th IP project on buisness management
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
Legacy ECM Migration
Legacy ECM MigrationLegacy ECM Migration
Legacy ECM Migration
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
 
"Up-Down Development & DSL-first approach", Владимир Мельник, DataArt
 "Up-Down Development & DSL-first approach", Владимир Мельник, DataArt "Up-Down Development & DSL-first approach", Владимир Мельник, DataArt
"Up-Down Development & DSL-first approach", Владимир Мельник, DataArt
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Evolutionary Design Solid