How Much Architecture?
-
Upload
agile-software-community-of-india -
Category
Technology
-
view
337 -
download
0
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
http://ecs.victoria.ac.nz/Main/GradMichaelWaterman
http://nz.linkedin.com/in/michaelwaterman