madman's diary by jarosław pałka...autogenerated stovepipe stovepipe enterprise jumble...

91
Patterns of Organic Architecture Madman's diary By Jarosław Pałka

Upload: others

Post on 03-Jul-2020

6 views

Category:

Documents


0 download

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

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

… 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

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

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

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
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

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
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

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
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

~ 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

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

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

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

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

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
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

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

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

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

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

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

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

„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

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
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
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
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

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

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

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

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
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

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

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

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

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

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

# 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
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

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

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

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

#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

(('.../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

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

(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

+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

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

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

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

„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

„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

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

„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

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
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

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

… 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
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

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

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

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

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

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

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

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

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

/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

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

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

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

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

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

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

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

Thank you!!!