29
code-quality.de @FrankS Creating a good Architecture Planned or just an accident?

Creating a good architecture

Embed Size (px)

Citation preview

code-quality.de @FrankS

Creating a good ArchitecturePlanned or just an accident?

Moin moin!

Frank SonsFrank Sons FrankS FrankS

http://code-quality.dehttp://code-quality.de

code-quality.de @FrankS

Important: Let's talk

Feel free to askFeel free to ask

Please share your own experiences!Please share your own experiences!

code-quality.de @FrankS

Who of you have created architectures?

code-quality.de @FrankS

A short agenda...

Software architecture – the basicsSoftware architecture – the basics

What are the problems?What are the problems?

Anything we can do to improve this?Anything we can do to improve this?

code-quality.de @FrankS

Your definition of software architecture?

code-quality.de @FrankS

Software Architecture defined...

„The software architectureare those decisions

that are hard to change.“

„The software architectureare those decisions

that are hard to change.“

Martin Fowler

code-quality.de @FrankS

Development process simplified

Project idea Development Your new software!

code-quality.de @FrankS

Architecture sometimes just happens...

Project idea Development Your new software!

And then amiracle occurs

code-quality.de @FrankS

Let's take a look at some details

Defining software architectureDefining software architecture

What are the problems?What are the problems?

Anything we can do to improve this?Anything we can do to improve this?

code-quality.de @FrankS

Three problems

Focusing on technical parts of the architectureFocusing on technical parts of the architecture

Not enough time used for planningNot enough time used for planning

How to become an experienced architect?How to become an experienced architect?

code-quality.de @FrankS

The wrong focus: Creating vs. understanding

code-quality.de @FrankS

Wrong focus

Difference between goal and targetDifference between goal and target

Requirements are often not delivered directlyRequirements are often not delivered directly

Focus on technical solutionsFocus on technical solutions

code-quality.de @FrankS

2nd problem, the planning itself

„Weeks of coding can save you hours of planning!“„Weeks of coding can save you hours of planning!“

code-quality.de @FrankS

But wait, we are agile!

Agile manifestoAgile manifesto

BigDesignUpfront (xP)BigDesignUpfront (xP)

YAGNIYAGNI

code-quality.de @FrankS

Planning vs. Agile development?

code-quality.de @FrankS

Planning in an agile world

Planning is creative workPlanning is creative work

Creative work is hard to estimateCreative work is hard to estimate

It still needs to be done, one way or the otherIt still needs to be done, one way or the other

code-quality.de @FrankS

The thing about experience...

„How do we get great designers? Great designers design, of course.“

„How do we get great designers? Great designers design, of course.“

Fred Brooks

code-quality.de @FrankS

We have a problem...

„So how are we supposed to get great architects,if they only get the chance to architect fewer

than a half-dozen times in their career?“

„So how are we supposed to get great architects,if they only get the chance to architect fewer

than a half-dozen times in their career?“

Ted Neward

code-quality.de @FrankS

Let's see what we can do...

SoftwareSoftware

What are the problems?What are the problems?

How can we improve this?How can we improve this?

code-quality.de @FrankS

Get involved early on!

code-quality.de @FrankS

Understand the requirements!

code-quality.de @FrankS

Pair thinking helps

code-quality.de @FrankS

Plan to throw one away… (on a whiteboard)

code-quality.de @FrankS

Practice with architecture katas!

code-quality.de @FrankS

Focus on the important decisions

„The software architectureare those decisions

that are hard to change.“

„The software architectureare those decisions

that are hard to change.“

Martin Fowler

code-quality.de @FrankS

More ideas? Questions?

code-quality.de @FrankS

Links● http://blogs.tedneward.com/post/architectural-katas/● http://nealford.com/katas/index.html● https://archkatas.herokuapp.com/

code-quality.de @FrankS

Thanks!