Toolbox of techniques for Architecture Reviews

28
a toolbox of techniques for software architecture reviews jason baragry @jbaragry

Transcript of Toolbox of techniques for Architecture Reviews

Page 1: Toolbox of techniques for Architecture Reviews

a toolbox of techniques for

software archi tecture reviews

jason baragry

@jbaragry

Page 2: Toolbox of techniques for Architecture Reviews

ad-hoc

reviews

@jbaragry

Page 3: Toolbox of techniques for Architecture Reviews

essential problem

“Identify the forces on the system

Grok the system’s essential architecture.

Generate scenarios that exercise the relevant forces against the architecture.

Throw the essential architecture against those scenarios, then evaluate how they land relative to the relevant forces.

Wash, rinse, repeat”

- Grady Booch

@jbaragry

Page 4: Toolbox of techniques for Architecture Reviews

@jbaragry

active design reviews

. take an active stance

. plan in advance

. ask open questions

Page 5: Toolbox of techniques for Architecture Reviews

plan your review

software

architecture review

and assessment

(SARA) report

@jbaragry

Page 6: Toolbox of techniques for Architecture Reviews

@jbaragry

structure of an

architecture review

Page 7: Toolbox of techniques for Architecture Reviews

@jbaragry

structure of an

architecture review

Page 8: Toolbox of techniques for Architecture Reviews

@jbaragry

structure of an

architecture review

Page 9: Toolbox of techniques for Architecture Reviews

@jbaragry

structure of an

architecture review

Page 10: Toolbox of techniques for Architecture Reviews

@jbaragry

structure of an

architecture review

Page 11: Toolbox of techniques for Architecture Reviews

@jbaragry

structure of an

architecture review

Page 12: Toolbox of techniques for Architecture Reviews

evaluation criteria

. system qualities

. experience

. scenarios

. checklists

. architecture smells

@jbaragry

Page 13: Toolbox of techniques for Architecture Reviews

identify and

prioritise

system

qualities

@jbaragry

Page 14: Toolbox of techniques for Architecture Reviews

@jbaragry

plus: http://en.wikipedia.org/wiki/List_of_system_quality_attributes

Page 15: Toolbox of techniques for Architecture Reviews

scenarios

. (mini) quality

attribute workshops

. testable

. benefit/cost

@jbaragry

Page 16: Toolbox of techniques for Architecture Reviews

checklists

. group by qualities

. open questions

@jbaragry

Page 17: Toolbox of techniques for Architecture Reviews

@jbaragry

methods and

techniques

. scenario based

. experience based

. quality specific

Page 18: Toolbox of techniques for Architecture Reviews

scenario based methods

@jbaragry

. architecture tradeoff

and analysis method

(ATAM)

. lightweight architecture

alternative assessment

method (LAAAM). scenario-based

ATAM design peer

review

Page 19: Toolbox of techniques for Architecture Reviews

experience based

methods

@jbaragry

. tiny architectural

review approach

TARA

. siemens ”experience-

based reviews”

Page 20: Toolbox of techniques for Architecture Reviews

quality focused methods

. maintainability: ALMA

. sustainability: MORPHOSIS

. performance: CPASA

. code metrics: cyclomatic complexityafferent and efferent coupling

. formal correctness: TLA+

. security: OWASP, BSIMM, STRIDE,DREAD

@jbaragry

Page 21: Toolbox of techniques for Architecture Reviews

pragmatics and

people issues

@jbaragry

in-house /

scheduled

in-house /

triggered

external /

scheduled

external /

triggered

Page 22: Toolbox of techniques for Architecture Reviews

tool selection and customisation

Amount of Ceremony

∝Consequence of Loss +

Difficulty of Communication

@jbaragry

source: Alistair Cockburn on Agile Methods:

http://alistair.cockburn.us/People+and+methodologies+in+software+development

Page 23: Toolbox of techniques for Architecture Reviews

using the toolbox for reviews

. take an active stance

. plan the review and adapt as needed

. work through system qualities

. develop the scenarios or checklists for those qualities

. choose a scenario- or experience-based method

. customise the appropriate level of ceremony

. identify the people issues and adjust

@jbaragry

Page 24: Toolbox of techniques for Architecture Reviews

using the toolbox for design

test driven architecture

. use quality attributes and test

criteria early in the project

. product owners also own quality

. user stories, acceptance criteria

or architecture reviews

@jbaragry

Page 25: Toolbox of techniques for Architecture Reviews

@jbaragry

more detail

. swarchitectonics.blogspot.no

or

. miles.no/blogg

Page 26: Toolbox of techniques for Architecture Reviews

references

• Booch on Architecture Reviews (Booch2010)

• Industry study of how people use arch review techniques (Babar2009 [pdf])

• Active Design Reviews (Parnas1985 [pdf])

• ISO/IEC 25010 standard for software product quality

• SARA Report (Obbink2002, [pdf])

• Quality Attribute Workshop

• Mini Quality Attribute Workshop (and presentation video)

• ATAM method

• LAAM (Lightweight Architecture Alternative Assessment Method)

• ATAM Peer Review

• TARA (Tiny Architectural Review Approach)

• Experience-based Reviews

• TOGAF Architecture Compliance Checklists

• Stackoverflow architecture checklist questions

@jbaragry

Page 27: Toolbox of techniques for Architecture Reviews

image attribution

• Title Slide / Todd Quackenbush / Creative Commons

• Essential Problem / Republica / Creative Commons

• Toolbox outline / freegr / Creative Commons

• Hammer / BenjaminNelan / Creative Commons

• Ruler / Jeff Sheldon / Creative Commons

• Plan / Ales Krivec / Creative Commons

• Evaluation Techniques/ Ales Krivec / Creative Commons

• Quality Focussed / Alan / Creative Commons

• Tool selection / Stux / Creative Commons

• Toolbox / Florianric / Creative Commons

• More Detail / Mike Kenneally / Creative Commons

• Pragmatics / grisbonn1974 / Creative Commons

• Test driven architecture / Lee John Phillips / The Shed Project

@jbaragry

Page 28: Toolbox of techniques for Architecture Reviews

FAGLIG AUTORITET OG VARME

@jbaragry