How Much Architecture?

Post on 13-May-2015

337 views 0 download

Tags:

Transcript of How Much Architecture?

How much architecture? Reducing the up-front effort

Michael Waterman, James Noble, George Allan

Victoria University of Wellington Agile India

19 February 2012

“Architecture represents the

significant design decisions that

shape a system, where significant is

measured by the cost of change”

[Booch 2006]

“Refactoring is wonderful,

except when your refactoring

tool is RM.” (P9)

“Design up-front: only as

little as you can get

away with” (P3)

“How much architecture?”

• Requires qualitative research

• Inductive

• Grounded theory

Work done

• Eleven interviews (and

documentation)

• New Zealand

and UK

• Variety of roles and

project types

“Simplifying architecture design”

Simplifying architecture design

Having architectural experience simplifies

decision making

Using predefined architecture

Intuitive architecture

Being familiar with architecture

Using predefined architecture

“…so that [CQRS] paper plus the

Windows architecture guidelines

plus the off-the-shelf componentry

that comes from Microsoft, it

means we don’t write much!

Which is good! (P2)

Using predefined architecture

“What used to be architectural

decisions ten years ago can now

almost be considered design

decisions because the tools allow

you to change these things more

easily” (P4)

Having architectural experience simplifies

decision making

“If you have a team of really, really

experienced professionals then you

can get away with a lot less [design

up-front] because a lot of it is going

to be implicit anyway.” (P3)

Having architectural experience simplifies

decision making

“Very often, if you’re experienced

[…] you could write down three

options and you’d know if you do it

this way you’ll have these problems;

you can make a value judgement

more efficiently.” (P6)

Intuitive architecture

“It was just something that

I had to do!” (P1)

Intuitive architecture

“…so because I know it needs to

scale to 2000 users […] means that

it’s got to be three tier, and means

that instead of just writing it to a flat

file I will have a database…” (P4)

Being familiar with architecture

“Part of my current productivity

might be because I am working in a

system that is in an architecture that

I’m very, very familiar with.” (P6)

Being familiar with architecture

“[We] went out to find people who’d

done similar systems […] so we were able

to go them and [ask], what’s your archi-

tecture, can we have a look at it, why

have you made these decisions?” (P8)

Reducing up-front effort • Templates, pre-defined

architectures lead to reduced up-front effort without sacrificing the benefits of a full up-front design

• Experience, intuition, and familiarity lead to tacit knowledge, implicit design, judgement calls, focused effort

Michael Waterman Victoria University of Wellington, New Zealand

Michael.Waterman@ecs.vuw.ac.nz

http://ecs.victoria.ac.nz/Main/GradMichaelWaterman

http://nz.linkedin.com/in/michaelwaterman