delusion driven development
TRANSCRIPT
![Page 1: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/1.jpg)
DELUSION DRIVENDEVELOPMENT
AND WHY YOU SHOULDN'T DO ITCreated by / Felipe Fernández @felipefzdz
![Page 2: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/2.jpg)
ABOUT MEFELIPE FERNÁNDEZ
Work as Software Craftsman for Currently with Blog: http://codurance.com/blog/author/felipe-fernandezTwitter:
CoduranceCrowdmix
@felipefzdz
![Page 3: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/3.jpg)
DEFINING DELUSION“An idiosyncratic belief or impression
maintained despite being contradicted byreality or rational argument, typically as a
symptom of mental disorder.”
![Page 4: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/4.jpg)
ABOUT THE TALK1. Operations2. Testing3. Design
![Page 5: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/5.jpg)
1. OPERATIONS
![Page 6: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/6.jpg)
OPERATIONS
I’LL HAVE A LOOK WHENEVER IS NEEDED
![Page 7: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/7.jpg)
OPERATIONS: I’LL HAVE A LOOK WHENEVER IS NEEDED
DIAGNOSIS IN DISTRIBUTED ENVIRONMENTSWhen your tests are not enoughYou need to query the state of your system
![Page 8: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/8.jpg)
OPERATIONS: I’LL HAVE A LOOK WHENEVER IS NEEDED
DIAGNOSIS METHODOLOGIESDebuggingQuerying datastoresLogging
![Page 9: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/9.jpg)
OPERATIONS: I’LL HAVE A LOOK WHENEVER IS NEEDED
DISTRIBUTED DIAGNOSIS METHODOLOGIESDebugging -> LOLQuerying datastores -> FragmentationLogging -> Madness
![Page 10: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/10.jpg)
OPERATIONS
I’LL HAVE A LOOK WHENEVER IS NEEDEDPlease don't, it could be really hard and you want to be
prepared
![Page 11: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/11.jpg)
OPERATIONS
I NEED TO REMOVE THAT DUPLICATION NOW
![Page 12: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/12.jpg)
OPERATIONS: I NEED TO REMOVE THAT DUPLICATION NOW
GENERALISING DEPLOYMENT PIPELINESDIY deployment pipelinesMicroservices context
![Page 13: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/13.jpg)
OPERATIONS: I NEED TO REMOVE THAT DUPLICATION NOW
GENERALIZATION ASSUMPTIONSVersioningCheckingContinuous integration
![Page 14: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/14.jpg)
OPERATIONS
I NEED TO REMOVE THAT DUPLICATION NOWDo it when you're stable enough
![Page 15: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/15.jpg)
OPERATIONS
I GUESS THAT IS READY
![Page 16: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/16.jpg)
OPERATIONS: I GUESS THAT IS READY
CREATING REAL WALKING SKELETONSThat includes provisioning and deployingSmoke test as driver
![Page 17: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/17.jpg)
OPERATIONS: I GUESS THAT IS READY
GOOS PHILOSOPHYAddress your non-functional challenges asapAntidote against technical debt
![Page 18: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/18.jpg)
OPERATIONS
I GUESS THAT IS READYDon't guess, double check
![Page 19: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/19.jpg)
2. TESTING
![Page 20: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/20.jpg)
TESTING
THE PARTS ARE WORKING, SO THE WHOLE
![Page 21: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/21.jpg)
TESTING: THE PARTS ARE WORKING, SO THE WHOLE
DISTRIBUTED TESTINGDon't give up on unit testing
But that's not enough
![Page 22: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/22.jpg)
TESTING: THE PARTS ARE WORKING, SO THE WHOLE
CONTRACT TESTINGStart designing your APIs with respect
The customer is always right
![Page 23: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/23.jpg)
TESTING: THE PARTS ARE WORKING, SO THE WHOLE
SMOKE TESTINGWe need more than a red test
Centralised logging and correlation ids
![Page 24: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/24.jpg)
TESTING
THE PARTS ARE WORKING, SO THE WHOLEDon't understimate the complexity of distributed systems
![Page 25: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/25.jpg)
TESTING
TESTING IS ALWAYS GOOD
![Page 26: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/26.jpg)
TESTING: TESTING IS ALWAYS GOOD
TESTING TRADE-OFFSMicro unit testsSlow testsHard to read/write tests
![Page 27: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/27.jpg)
TESTING: TESTING IS ALWAYS GOOD
TRADE-OFFS ARE JUST TRADE OFFSMicro unit testsSlow testsHard to read/write tests
![Page 28: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/28.jpg)
TESTING
TESTING IS ALWAYS GOODAs long as you understand the trade-offs
![Page 29: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/29.jpg)
3. DESIGN
![Page 30: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/30.jpg)
DESIGN
LANGUAGE APPROXIMATIONS ARE OK
![Page 31: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/31.jpg)
DESIGN: LANGUAGE APPROXIMATIONS ARE OK
BOUNDED CONTEXTSCore DDD concept
Impact mapping or even Event Storming can help you toidentify them
![Page 32: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/32.jpg)
DESIGN: LANGUAGE APPROXIMATIONS ARE OK
HEXAGONAL ARCHITECTURE
![Page 33: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/33.jpg)
DESIGN
LANGUAGE APPROXIMATIONS ARE OKOften I think that our profession is closer to literature than
maths
![Page 34: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/34.jpg)
DESIGN
BUSINESS NEEDS ARE STABLE
![Page 35: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/35.jpg)
DESIGN: BUSINESS NEEDS ARE STABLE
CQRS
![Page 36: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/36.jpg)
DESIGN: BUSINESS NEEDS ARE STABLE
CQRSExtremely perfomant
Adds overhead
![Page 37: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/37.jpg)
DESIGN
BUSINESS NEEDS ARE STABLEThat's not true. Design with that in mind.
![Page 38: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/38.jpg)
THANK YOU
![Page 39: Delusion driven development](https://reader031.vdocuments.site/reader031/viewer/2022021919/5882bef01a28abb2478b5815/html5/thumbnails/39.jpg)
ANY QUESTIONS?