SlideShare a Scribd company logo
1 of 21
Change vector
tracking in
Emergent Design
- Ranjith Tharayil
Requirements
Changing in
another
direction
First cut
Need to Refactor
Can easily get un noticed
Example : Super MarketI 'am using a simple example to explain the problem , same is applicable for bigger complex systems
• The super market has many products to
sell
• Each product has a
• quality
• cost
• The rules for computation of Quality
and Cost are different for each product
Abstract Product
computeQuality()
computeCost ()
Concrete product 1
Concrete product 2
Concrete product n-1
Concrete product N
Example of a
concreate product
Is this the best design ?
Onion
computeQuality()
computeCost ()
»Is this following SRP ? Single responsibility principle
»SRP : A class should have only one reason to change
»What if the pricing strategy of a product varies
from time to time ?
How about a different design
Abstract Product
Pricing strategy
computeQuality()
Concrete product 1
Concrete product 2
Concrete product n-1
Concrete product N
Pricing Strategy
CompteCost()
Strategy 1
Strategy 2
Strategy 3
Another design
Product
Pricing Strategy
Quality Rule
Pricing Strategy
CompteCost()
Strategy 1
Strategy 2
Strategy 3
Quality Rule
Quality()
Rule 1
Rule 2
Which design is better ?
Which design is better ?
• Answer is : it depends
• Dependents on what ?
• Lest try to define this context
Context
Which design is better ?
If mostly we will be only adding / removing products
Which design is better ?
• We will be constantly adding new products , also
• We need to modify pricing strategy every now and then
for existing products
Which design is better ?
• We need to often modify both pricing strategy & quality
rule for existing products
Design should depend on how the
system is behaving currently
• The behaviour of a system changes with time
• Due to
• new requirements
• enhancements
• Change is constant and can disrupt design & architecture
• Need to track change and its effect on design/architecture
Modelling change as a vector
• Change has multiple dimensions
• Hence it can be quantified using a
vector like ax+by+cz
• Example:
3(New Products) +
2(Modify Pricing strategy)
4(New Products) +
1(Miscellaneous)
2(Modify Pricing strategy) +
2(Modify Quality rule) +
1(Miscellaneous)
How change can be modelled as
a weighted vector ?
• We need to periodically review & document
change vector for our system
2(Modify Pricing strategy)
+
2(Modify Quality rule)
+
1(Miscellaneous)
4(New Products)
+
1(Miscellaneous)
Few Months
Change: new requirement , Enhancement
Change
requests
Dev
Track
Change
vector
Refactor
Change vector tracking in context of
micro services
Process and Ceremonies
• Change vector tracking meeting
• with TL , Architects
• Every month initially
• Cadence decide by need
• Time boxed
• Analyse change request from
• Source control (Past)
• Analyse product backlog (Future)
• Document Change vector
• Identify if any design debt , ideally you should have
none
Change
requests
Dev
Track
Change
vector
Refactor
Design Is a Wicked Problem , a “wicked” problem is one that could
be clearly defined only by solving it, or by solving part of it .This
paradox implies, essentially, that you have to “solve” the problem
once in order to clearly define it and then solve it again to create a
solution that works
“
” - McConnell, Steve. Code complete. Pearson Education, 2004.
Change vector tracking is a reflective design approach to achieve
software design agility by modelling change as a vector and tracking it to
aid refactoring decisions.
“
”
About Me : Ranjith Tharayil
• XP , DevOps Coach @
• Distinguished Speaker, Association for Computing Machinery
• Founding member www.agiletechnicalgroup.org
• Chair #XPIndia (Call for submissions is open )
• @TharayilRanjith
• www.linkedin.com/in/ranjiththarayil

More Related Content

Similar to Change Vector Tracking in emergent design

"Digital transformation and innovations implementation. Architectural points ...
"Digital transformation and innovations implementation. Architectural points ..."Digital transformation and innovations implementation. Architectural points ...
"Digital transformation and innovations implementation. Architectural points ...
Fwdays
 
O ps management lecture 3 design goods & services
O ps management lecture 3 design goods & servicesO ps management lecture 3 design goods & services
O ps management lecture 3 design goods & services
jillmitchell8778
 
Using lean to reduce prototype lead time 2006
Using lean to reduce prototype lead time 2006Using lean to reduce prototype lead time 2006
Using lean to reduce prototype lead time 2006
Chris Baichoo
 
Design-to-Value Approach for Telcos - JP Romieu
Design-to-Value Approach for Telcos - JP RomieuDesign-to-Value Approach for Telcos - JP Romieu
Design-to-Value Approach for Telcos - JP Romieu
Jean-Philippe Romieu
 

Similar to Change Vector Tracking in emergent design (20)

Fundamentals of Engineering Design
Fundamentals of Engineering DesignFundamentals of Engineering Design
Fundamentals of Engineering Design
 
Value engineering _2_
Value engineering _2_Value engineering _2_
Value engineering _2_
 
Product Design.pptx
Product Design.pptxProduct Design.pptx
Product Design.pptx
 
"Digital transformation and innovations implementation. Architectural points ...
"Digital transformation and innovations implementation. Architectural points ..."Digital transformation and innovations implementation. Architectural points ...
"Digital transformation and innovations implementation. Architectural points ...
 
OPS 571T Education Specialist |tutorialrank.com
OPS 571T Education Specialist |tutorialrank.comOPS 571T Education Specialist |tutorialrank.com
OPS 571T Education Specialist |tutorialrank.com
 
Systems Engineering
Systems EngineeringSystems Engineering
Systems Engineering
 
01-Introduction_to_Optimization-v2021.2-Sept23-2021.pptx
01-Introduction_to_Optimization-v2021.2-Sept23-2021.pptx01-Introduction_to_Optimization-v2021.2-Sept23-2021.pptx
01-Introduction_to_Optimization-v2021.2-Sept23-2021.pptx
 
O ps management lecture 3 design goods & services
O ps management lecture 3 design goods & servicesO ps management lecture 3 design goods & services
O ps management lecture 3 design goods & services
 
Eng design 2
Eng design 2Eng design 2
Eng design 2
 
Introduction to itil v3/ITSM Processes and Functions
Introduction to itil v3/ITSM Processes and FunctionsIntroduction to itil v3/ITSM Processes and Functions
Introduction to itil v3/ITSM Processes and Functions
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Requirement Management
Requirement ManagementRequirement Management
Requirement Management
 
VA-VE Presentation.pptx
VA-VE Presentation.pptxVA-VE Presentation.pptx
VA-VE Presentation.pptx
 
Product design.pdf
Product design.pdfProduct design.pdf
Product design.pdf
 
Using lean to reduce prototype lead time 2006
Using lean to reduce prototype lead time 2006Using lean to reduce prototype lead time 2006
Using lean to reduce prototype lead time 2006
 
Ddz project new-approach-091124
Ddz project new-approach-091124Ddz project new-approach-091124
Ddz project new-approach-091124
 
Rup
RupRup
Rup
 
15 operations, quality and productivity
15  operations, quality and productivity15  operations, quality and productivity
15 operations, quality and productivity
 
Design-to-Value Approach for Telcos - JP Romieu
Design-to-Value Approach for Telcos - JP RomieuDesign-to-Value Approach for Telcos - JP Romieu
Design-to-Value Approach for Telcos - JP Romieu
 
Overcoming the 5 Most Common PCM Challenges
Overcoming the 5 Most Common PCM Challenges Overcoming the 5 Most Common PCM Challenges
Overcoming the 5 Most Common PCM Challenges
 

More from Ranjith Tharayil

More from Ranjith Tharayil (7)

SHE QC ideation, a story grooming technique
SHE QC ideation, a story grooming techniqueSHE QC ideation, a story grooming technique
SHE QC ideation, a story grooming technique
 
Dojo delivery agility ranjith tharayil
Dojo delivery agility  ranjith tharayilDojo delivery agility  ranjith tharayil
Dojo delivery agility ranjith tharayil
 
DDD_upload
DDD_uploadDDD_upload
DDD_upload
 
Case study of Knights capital and Toyota , a retrospect
Case study of Knights capital and Toyota , a retrospect  Case study of Knights capital and Toyota , a retrospect
Case study of Knights capital and Toyota , a retrospect
 
When to embrace Behavior Driven Development?
When to embrace Behavior Driven Development?When to embrace Behavior Driven Development?
When to embrace Behavior Driven Development?
 
When to embrace behavior driven development
When to embrace behavior driven developmentWhen to embrace behavior driven development
When to embrace behavior driven development
 
Introduction to BDD
Introduction to BDD Introduction to BDD
Introduction to BDD
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Recently uploaded (20)

School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 

Change Vector Tracking in emergent design

  • 1. Change vector tracking in Emergent Design - Ranjith Tharayil
  • 2.
  • 5. Can easily get un noticed
  • 6. Example : Super MarketI 'am using a simple example to explain the problem , same is applicable for bigger complex systems • The super market has many products to sell • Each product has a • quality • cost • The rules for computation of Quality and Cost are different for each product Abstract Product computeQuality() computeCost () Concrete product 1 Concrete product 2 Concrete product n-1 Concrete product N Example of a concreate product
  • 7. Is this the best design ? Onion computeQuality() computeCost () »Is this following SRP ? Single responsibility principle »SRP : A class should have only one reason to change »What if the pricing strategy of a product varies from time to time ?
  • 8. How about a different design Abstract Product Pricing strategy computeQuality() Concrete product 1 Concrete product 2 Concrete product n-1 Concrete product N Pricing Strategy CompteCost() Strategy 1 Strategy 2 Strategy 3
  • 9. Another design Product Pricing Strategy Quality Rule Pricing Strategy CompteCost() Strategy 1 Strategy 2 Strategy 3 Quality Rule Quality() Rule 1 Rule 2
  • 10. Which design is better ?
  • 11. Which design is better ? • Answer is : it depends • Dependents on what ? • Lest try to define this context Context
  • 12. Which design is better ? If mostly we will be only adding / removing products
  • 13. Which design is better ? • We will be constantly adding new products , also • We need to modify pricing strategy every now and then for existing products
  • 14. Which design is better ? • We need to often modify both pricing strategy & quality rule for existing products
  • 15. Design should depend on how the system is behaving currently • The behaviour of a system changes with time • Due to • new requirements • enhancements • Change is constant and can disrupt design & architecture • Need to track change and its effect on design/architecture
  • 16. Modelling change as a vector • Change has multiple dimensions • Hence it can be quantified using a vector like ax+by+cz • Example: 3(New Products) + 2(Modify Pricing strategy) 4(New Products) + 1(Miscellaneous) 2(Modify Pricing strategy) + 2(Modify Quality rule) + 1(Miscellaneous)
  • 17. How change can be modelled as a weighted vector ? • We need to periodically review & document change vector for our system 2(Modify Pricing strategy) + 2(Modify Quality rule) + 1(Miscellaneous) 4(New Products) + 1(Miscellaneous) Few Months Change: new requirement , Enhancement Change requests Dev Track Change vector Refactor
  • 18. Change vector tracking in context of micro services
  • 19. Process and Ceremonies • Change vector tracking meeting • with TL , Architects • Every month initially • Cadence decide by need • Time boxed • Analyse change request from • Source control (Past) • Analyse product backlog (Future) • Document Change vector • Identify if any design debt , ideally you should have none Change requests Dev Track Change vector Refactor
  • 20. Design Is a Wicked Problem , a “wicked” problem is one that could be clearly defined only by solving it, or by solving part of it .This paradox implies, essentially, that you have to “solve” the problem once in order to clearly define it and then solve it again to create a solution that works “ ” - McConnell, Steve. Code complete. Pearson Education, 2004. Change vector tracking is a reflective design approach to achieve software design agility by modelling change as a vector and tracking it to aid refactoring decisions. “ ”
  • 21. About Me : Ranjith Tharayil • XP , DevOps Coach @ • Distinguished Speaker, Association for Computing Machinery • Founding member www.agiletechnicalgroup.org • Chair #XPIndia (Call for submissions is open ) • @TharayilRanjith • www.linkedin.com/in/ranjiththarayil