madman's diary by jarosław pałka...autogenerated stovepipe stovepipe enterprise jumble...
TRANSCRIPT
![Page 1: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/1.jpg)
Patterns of Organic Architecture
Madman's diary
By
Jarosław Pałka
![Page 2: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/2.jpg)
… A word of warning …
It is not may intention to make you feel offended,
this talk is
my view of the world,my experience,
my life,my twisted sens of humor
Respect it!!!
![Page 3: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/3.jpg)
and remember
you can always leave the room
you can always talk to me
and whatever people say
I am just a human being
![Page 4: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/4.jpg)
About me
work://chief_architect@lumesse
owner://symentis.pl
twitter://j_palka
blog://geekyprimitives.wordpress.com
scm:bitbucket://kcrimson
scm:github://kcrimson
![Page 5: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/5.jpg)
What does society think I do?
![Page 6: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/6.jpg)
![Page 7: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/7.jpg)
What does my wife think I do?
![Page 8: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/8.jpg)
![Page 9: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/9.jpg)
What do I really do?
![Page 10: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/10.jpg)
![Page 11: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/11.jpg)
~ 8 companies in 16 years~ 26 projects
![Page 12: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/12.jpg)
and just ...ONE...
project built from ...scratch...
![Page 13: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/13.jpg)
How do I feel about it?
![Page 14: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/14.jpg)
I am feeling lucky!
![Page 15: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/15.jpg)
What I will not learn today from this talk?
Which mixture of patterns, xDD,
languages, frameworks And paradigms
will lead me to success
![Page 16: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/16.jpg)
But you will learn how to live with...
Monolithic, legacy code base, which gets closer and closer with
each line to borders of human capabilities,
and is about to colapse into a black hole,
which is going to suck all living developers within its reach
![Page 17: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/17.jpg)
![Page 18: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/18.jpg)
We are living in a
...Big Ball of Mud...
![Page 19: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/19.jpg)
Autogenerated StovepipeStovepipe Enterprise
JumbleStovepipe System
Cover Your AssetsVendor Lock-In
Wolf TicketArchitecture by Implication
Warm BodiesDesign by Committee
Swiss Army KnifeReinvent the Wheel
The Grand Old Duke of York
![Page 20: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/20.jpg)
What is common to all these cases?
![Page 21: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/21.jpg)
Complexity
![Page 22: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/22.jpg)
Do you need proof?
![Page 23: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/23.jpg)
Let me give you the proof!!!
![Page 24: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/24.jpg)
„I fucking love science”
![Page 25: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/25.jpg)
System's thinking
System dynamics
Complexity theory
Strange Attractor
![Page 26: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/26.jpg)
![Page 27: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/27.jpg)
![Page 28: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/28.jpg)
![Page 29: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/29.jpg)
The Gap
![Page 30: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/30.jpg)
How do organizations work around it?
![Page 31: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/31.jpg)
Let's hire more students!!!
![Page 32: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/32.jpg)
Let rewrite it from ...scratch...
(of course in newest, coolest technology we know shit about)
![Page 33: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/33.jpg)
![Page 34: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/34.jpg)
You may ask, why?
![Page 35: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/35.jpg)
Time is not on our side
Few „extra features” everybody is waiting for?
Too much faith in technology?
Too often these projects are seen as purely technical?
Ignorance?
Arogance?
![Page 36: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/36.jpg)
If it all doesn't work, why not to try something
different?
![Page 37: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/37.jpg)
The Gap
![Page 38: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/38.jpg)
Patterns of organic architecture
![Page 39: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/39.jpg)
![Page 40: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/40.jpg)
Architecture is a process which goal is to
transform your system from one design to
another design
![Page 41: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/41.jpg)
Architecture is a process which goal is to
transform your system from one design to
another design
![Page 42: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/42.jpg)
Architecture is a process which goal is to
transform your system from one design to
another design
![Page 43: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/43.jpg)
Understand the Gap
↓
Understand Context
↓
Identify Constraints
![Page 44: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/44.jpg)
You can't control what you can't measure
Tom DeMarco,Controlling Software Projects,
![Page 45: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/45.jpg)
You can't reason about what you can't measure
@j_palkafrom a book which will never be written
![Page 46: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/46.jpg)
You can't reason about what you can't measure
@j_palkafrom a book which will never be written
![Page 47: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/47.jpg)
So, how to measure your architecture?
![Page 48: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/48.jpg)
Complexity Resilience
![Page 49: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/49.jpg)
Source code the truth will
tell you
![Page 50: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/50.jpg)
Listen to the system
you must
![Page 51: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/51.jpg)
SCM
Bug tracker
Continous integration
Static code analisys
![Page 52: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/52.jpg)
Let's find stable parts of the system
![Page 53: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/53.jpg)
# count complexity per each filefind . -iname jacoco.csv | xargs tail -q -n +2 | awk -F , '{gsub("\.","/",$2);print ($1"/src/main/java/"$2"/"$3".java"),$10+$11}' | sort > coverage.txt
# count number of changesecho 'changeset="{files}"' > files.style; echo 'file="\n{file}"' >> files.style
hg log --style files.style | sort | uniq -c | awk '{print $2,$1}' > changes.txt
# merge changes join coverage.txt changes.txt
![Page 54: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/54.jpg)
![Page 55: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/55.jpg)
Michael Feathers Quadrant
![Page 56: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/56.jpg)
tools
uglystables designflaw
breedinggrounds
![Page 57: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/57.jpg)
Let's find fragile parts of the system
![Page 58: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/58.jpg)
#fetch all jobsjobs_rsp = requests.get("https://primitive.ci.cloudbees.com/job/roadrunner/api/python")#all builds urlsbuild_urls = [x['url'] for x in eval(jobs_rsp.content)['builds']]
pairs = []for build_url in build_urls: build = eval(requests.get("%sapi/python" % (build_url)).content) result = build['result']
changeSetItems = build['changeSet']['items'] if changeSetItems and not result == 'SUCCESS': affectedPaths = build['changeSet']['items'][0]['affectedPaths']
for i in itertools.permutations(affectedPaths,2): pairs.append(i)
counter = collections.Counter(pairs).most_common(5)for pair in counter: print pair
![Page 59: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/59.jpg)
(('.../cli/CliConfigurationBuilderTest.java', '.../cli/RunTest.java'), 3)
(('.../cli/RunTest.java', ' .../cli/CliConfigurationBuilderTest.java'), 3)
(('.../cli/CliConfigurationBuilderTest.java', '.../cli/BenchTest.java'), 3)
(('.../cli/BenchTest.java', '.../cli/RunTest.java'), 3)
(('.../cli/RunTest.java', '.../cli/BenchTest.java'), 3)
![Page 60: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/60.jpg)
Package principles
aka
Are my classes in a right place?
![Page 61: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/61.jpg)
(echo "<changes>" && hg log --template "<changeset>
{files % '<file>{file}</file>\n'}</changeset>\n"
&& echo "</changes>") > out.xml
![Page 62: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/62.jpg)
+Neo4j
(jqassistant)
![Page 63: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/63.jpg)
neo4j-sh (?)$ MATCH (a)-[c:`changeset`]->(b) RETURN labels(a),c.times,labels(b) order by c.times desc limit 5; +-----------------------------------------------------------------------------------------------------------+ | labels(a) | c.times | labels(b) | +-----------------------------------------------------------------------------------------------------------+ | [".../listeners/SummaryScenarioListener.java"] | 13 | [".../listeners/LoggingScenarioListener.java"] | | [".../listeners/LoggingScenarioListener.java"] | 13 | [".../listeners/SummaryScenarioListener.java"] | | ["pom.xml"] | 12 | ["roadrunner-core/pom.xml] | | [".../cli/BenchTest.java"] | 12 | [".../cli/RunTest.java"] | | [".../cli/RunTest.java"] | 12 | [".../cli/BenchTest.java"] | +-----------------------------------------------------------------------------------------------------------+
![Page 64: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/64.jpg)
Can you please show me these patterns of
organic architecture?
![Page 65: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/65.jpg)
Sow and Grow
![Page 66: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/66.jpg)
„aka” refactoring
compulsive „refactoring” is evil
no user stories „refactor X”
before you start, think, is it worth it?
don't ask for permissions, it is better to ask for forgivness
give „technical debt” meaning
![Page 67: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/67.jpg)
„visual management”
Define limited number of metrics
Use only these metrics which support your goals
because
„You get what you measure”
![Page 68: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/68.jpg)
Sow and harvestSow and harvest
![Page 69: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/69.jpg)
„aka” modularization
Modularize to stable parts of the system
otherwise you will make your system even more unstable
but before you start ...
![Page 70: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/70.jpg)
let's build some ...„framework” ...
![Page 71: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/71.jpg)
![Page 72: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/72.jpg)
Architecture is a process which goal is to
transform your system from one design to
another design
![Page 73: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/73.jpg)
… clearly define goals …
… strategy adjusted to needs and capabilties …
… give yourself some design space …
Don't get paralized by „big design (tm)”
You don't need to know answers to all questions
… because your goal is a moving target ...
![Page 74: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/74.jpg)
![Page 75: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/75.jpg)
What if your architecture would look like this?
![Page 76: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/76.jpg)
Batch processing separated from online
Modules communicate asynchronously
Users see system as one
And communicate with system synchronously
The only thing we share is a model of our system
mvn clean install < 60 sec
![Page 77: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/77.jpg)
Every module has to inherit these principles
And can introduce new one which makes these system
wide principles more specific
![Page 78: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/78.jpg)
Composting
![Page 79: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/79.jpg)
But sometimes, despite our hard work,
knowledge and experience
![Page 80: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/80.jpg)
Complex
ity
![Page 81: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/81.jpg)
Do you know how your users use your application?
Do you know that your biggest customer is no longer using your
system?
Do you know that some „killer feature” is not sooo „killer”?
![Page 82: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/82.jpg)
How can I know it all?
![Page 83: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/83.jpg)
/var/log/httpd/access.log
Instrument your code?
Aspects?
Byteman?
Bug tracker?
People from support?
![Page 84: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/84.jpg)
Don't buy expensive tools
Invest in your creativity
You know your system better, then some third party provider
![Page 85: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/85.jpg)
But please don't comment out code
Use your SCM
… throw this shit out...
![Page 86: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/86.jpg)
What's next?
![Page 87: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/87.jpg)
Hierarchy
↓
Self-Organization
↓
Resilience
![Page 88: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/88.jpg)
System's resilience is often sacrificed for purposes ofshort-term productivity
and stability.
![Page 89: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/89.jpg)
Productivity and stability are the
usual excuses for turning creative human beings into
mechanical adjunctsto production processes.
![Page 90: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/90.jpg)
Or for establishing bureaucracies and theories
of knowledge thattreat people as if they were
only numbers.Donella Meadows, thinking in systems a primer
![Page 91: Madman's diary By Jarosław Pałka...Autogenerated Stovepipe Stovepipe Enterprise Jumble Stovepipe System Cover Your Assets Vendor Lock-In Wolf Ticket Architecture by Implication Warm](https://reader033.vdocuments.us/reader033/viewer/2022060420/5f173744ec9f7f38d005ea75/html5/thumbnails/91.jpg)
Thank you!!!