SlideShare a Scribd company logo
a toolbox of
techniques for
software
architecture
reviews
jason baragry
@jbaragry
ad-hoc
reviews
@jbaragry
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
@jbaragry
active design reviews
. take an active stance
. plan in advance
. ask open questions
plan your review
software
architecture review
and assessment
(SARA) report
@jbaragry
@jbaragry
structure of an
architecture review
@jbaragry
structure of an
architecture review
@jbaragry
structure of an
architecture review
@jbaragry
structure of an
architecture review
@jbaragry
structure of an
architecture review
@jbaragry
structure of an
architecture review
evaluation criteria
. system qualities
. experience
. scenarios
. checklists
. architecture smells
@jbaragry
identify and
prioritise
system
qualities
@jbaragry
@jbaragry
plus: http://en.wikipedia.org/wiki/List_of_system_quality_attributes
scenarios
. (mini) quality
attribute workshops
. testable
. benefit/cost
@jbaragry
checklists
. group by qualities
. open questions
@jbaragry
@jbaragry
methods and
techniques
. scenario based
. experience based
. quality specific
scenario based methods
@jbaragry
. architecture tradeoff
and analysis method
(ATAM)
. lightweight architecture
alternative assessment
method (LAAAM)
. scenario-based
ATAM design peer
review
experience based
methods
@jbaragry
. tiny architectural
review approach
TARA
. siemens ”experience-
based reviews”
quality focused methods
. maintainability: ALMA
. sustainability: MORPHOSIS
. performance: CPASA
. code metrics: cyclomatic complexity
afferent and efferent coupling
. formal correctness: TLA+
. security: OWASP, BSIMM, STRIDE,
DREAD
@jbaragry
pragmatics and
people issues
@jbaragry
in-house /
scheduled
in-house /
triggered
external /
scheduled
external /
triggered
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
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
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
@jbaragry
more detail
. swarchitectonics.blogspot.no
or
. miles.no/blogg
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
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
FAGLIG AUTORITET OG VARME
@jbaragry

More Related Content

What's hot

Architecture review vs Post Implementation Review
Architecture review vs Post Implementation ReviewArchitecture review vs Post Implementation Review
Architecture review vs Post Implementation ReviewESRI Bulgaria
 
Revit BIM Engineering Solutions by TrueCADD
Revit BIM Engineering Solutions by TrueCADDRevit BIM Engineering Solutions by TrueCADD
Revit BIM Engineering Solutions by TrueCADD
Gaurang Trivedi
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
Alexandru Chica
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Presentation - Rational Unified Process
Presentation - Rational Unified ProcessPresentation - Rational Unified Process
Presentation - Rational Unified ProcessSharad Srivastava
 
Presentation on Revit Architecture
Presentation  on Revit ArchitecturePresentation  on Revit Architecture
Presentation on Revit Architecture
MonikaSingh454
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
Ra'Fat Al-Msie'deen
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
Ra'Fat Al-Msie'deen
 
Holistic data application quality
Holistic data application qualityHolistic data application quality
Holistic data application quality
Lars Albertsson
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Derivation of Green Metrics for Software
Derivation of Green Metrics for SoftwareDerivation of Green Metrics for Software
Derivation of Green Metrics for Software
Luigi Buglione
 
SCM PPT
SCM PPTSCM PPT
BIM for Interior Design
BIM for Interior DesignBIM for Interior Design
BIM for Interior DesignJeff Hong
 
Software Engineering MCQs
Software Engineering MCQsSoftware Engineering MCQs
Software Engineering MCQs
Gurpreet singh
 
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop ProfessionalsBest Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Cloudera, Inc.
 
Requirements Traceability Matrix
Requirements Traceability MatrixRequirements Traceability Matrix
Requirements Traceability Matrix
Jennifer Colburn
 
Hexagonal architecture & Elixir
Hexagonal architecture & ElixirHexagonal architecture & Elixir
Hexagonal architecture & Elixir
Nicolas Carlo
 
Revit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) PresentationRevit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) Presentation
ryanabarton
 
Agile, TOGAF and Enterprise Architecture: Will They Blend?
Agile, TOGAF and Enterprise Architecture:  Will They Blend?Agile, TOGAF and Enterprise Architecture:  Will They Blend?
Agile, TOGAF and Enterprise Architecture: Will They Blend?
Danny Greefhorst
 

What's hot (20)

Architecture review vs Post Implementation Review
Architecture review vs Post Implementation ReviewArchitecture review vs Post Implementation Review
Architecture review vs Post Implementation Review
 
Revit BIM Engineering Solutions by TrueCADD
Revit BIM Engineering Solutions by TrueCADDRevit BIM Engineering Solutions by TrueCADD
Revit BIM Engineering Solutions by TrueCADD
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Presentation - Rational Unified Process
Presentation - Rational Unified ProcessPresentation - Rational Unified Process
Presentation - Rational Unified Process
 
Presentation on Revit Architecture
Presentation  on Revit ArchitecturePresentation  on Revit Architecture
Presentation on Revit Architecture
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Holistic data application quality
Holistic data application qualityHolistic data application quality
Holistic data application quality
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Derivation of Green Metrics for Software
Derivation of Green Metrics for SoftwareDerivation of Green Metrics for Software
Derivation of Green Metrics for Software
 
SCM PPT
SCM PPTSCM PPT
SCM PPT
 
BIM for Interior Design
BIM for Interior DesignBIM for Interior Design
BIM for Interior Design
 
Software Engineering MCQs
Software Engineering MCQsSoftware Engineering MCQs
Software Engineering MCQs
 
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop ProfessionalsBest Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
 
Requirements Traceability Matrix
Requirements Traceability MatrixRequirements Traceability Matrix
Requirements Traceability Matrix
 
Hexagonal architecture & Elixir
Hexagonal architecture & ElixirHexagonal architecture & Elixir
Hexagonal architecture & Elixir
 
Revit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) PresentationRevit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) Presentation
 
Agile, TOGAF and Enterprise Architecture: Will They Blend?
Agile, TOGAF and Enterprise Architecture:  Will They Blend?Agile, TOGAF and Enterprise Architecture:  Will They Blend?
Agile, TOGAF and Enterprise Architecture: Will They Blend?
 

Viewers also liked

Easy introduction to Blockchain
Easy introduction to BlockchainEasy introduction to Blockchain
Easy introduction to Blockchain
Jason Baragry
 
Architecture Review
Architecture ReviewArchitecture Review
Architecture Review
Himanshu
 
Software Product Lines
Software Product LinesSoftware Product Lines
Software Product Lines
Jason Baragry
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 

Viewers also liked (7)

Saam
SaamSaam
Saam
 
Easy introduction to Blockchain
Easy introduction to BlockchainEasy introduction to Blockchain
Easy introduction to Blockchain
 
ATAM
ATAMATAM
ATAM
 
Architecture Review
Architecture ReviewArchitecture Review
Architecture Review
 
Software Product Lines
Software Product LinesSoftware Product Lines
Software Product Lines
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 

Similar to Toolbox of techniques for Architecture Reviews

Moving To The Cloud, Evaluating Architectures
Moving To The Cloud, Evaluating ArchitecturesMoving To The Cloud, Evaluating Architectures
Moving To The Cloud, Evaluating Architectures
Mark Sigler
 
Agile software development
Agile software developmentAgile software development
Agile software development
Mat Siems
 
Solo Requisitos 2008 - 07 Upc
Solo Requisitos 2008 - 07 UpcSolo Requisitos 2008 - 07 Upc
Solo Requisitos 2008 - 07 Upc
Pepe
 
Dot Net Notts Js Unit Testing at Microlise
Dot Net Notts Js Unit Testing at  MicroliseDot Net Notts Js Unit Testing at  Microlise
Dot Net Notts Js Unit Testing at Microlise
Jonathan Gregory
 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021
Shelley Lambert
 
Js unit testingpresentation
Js unit testingpresentationJs unit testingpresentation
Js unit testingpresentationJonathan Gregory
 
Sledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QASledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QA
Shelley Lambert
 
Are You Well Architected?
Are You Well Architected?Are You Well Architected?
Are You Well Architected?
joehack3r
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspec
jeffrey1ross
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms
Ivano Malavolta
 
Sda 6
Sda   6Sda   6
Iterative software development
Iterative software developmentIterative software development
Iterative software development
Mohamad Charaf AWS Certified
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
Oursky
 
Rational CLM at a glance
Rational CLM at a glanceRational CLM at a glance
Rational CLM at a glance
Prussian Eka Pradana
 
Scrum and Kanban - Getting the Most from Each
Scrum and Kanban - Getting the Most from EachScrum and Kanban - Getting the Most from Each
Scrum and Kanban - Getting the Most from Each
Michael Sahota
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive Documentation
Andrii Dzynia
 
Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...
Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...
Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...MongoDB
 
Modern development paradigms
Modern development paradigmsModern development paradigms
Modern development paradigms
Ivano Malavolta
 

Similar to Toolbox of techniques for Architecture Reviews (20)

Moving To The Cloud, Evaluating Architectures
Moving To The Cloud, Evaluating ArchitecturesMoving To The Cloud, Evaluating Architectures
Moving To The Cloud, Evaluating Architectures
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Solo Requisitos 2008 - 07 Upc
Solo Requisitos 2008 - 07 UpcSolo Requisitos 2008 - 07 Upc
Solo Requisitos 2008 - 07 Upc
 
Dot Net Notts Js Unit Testing at Microlise
Dot Net Notts Js Unit Testing at  MicroliseDot Net Notts Js Unit Testing at  Microlise
Dot Net Notts Js Unit Testing at Microlise
 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021
 
Js unit testingpresentation
Js unit testingpresentationJs unit testingpresentation
Js unit testingpresentation
 
Sledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QASledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QA
 
Are You Well Architected?
Are You Well Architected?Are You Well Architected?
Are You Well Architected?
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspec
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms
 
Sda 6
Sda   6Sda   6
Sda 6
 
Iterative software development
Iterative software developmentIterative software development
Iterative software development
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
 
Rational CLM at a glance
Rational CLM at a glanceRational CLM at a glance
Rational CLM at a glance
 
Scrum and Kanban - Getting the Most from Each
Scrum and Kanban - Getting the Most from EachScrum and Kanban - Getting the Most from Each
Scrum and Kanban - Getting the Most from Each
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive Documentation
 
Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...
Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...
Socialite, the Open Source Status Feed Part 1: Design Overview and Scaling fo...
 
Modern development paradigms
Modern development paradigmsModern development paradigms
Modern development paradigms
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 

Toolbox of techniques for Architecture Reviews

Editor's Notes

  1. most organisations use home-grown, informal, ad-hoc techniques . 40% that claim to use a structured approach very few have heard of or use any established technique improve what you do by becoming familiar with existing techniques and using them _as appropriate_
  2. . Massive amounts of information sent to everyone who might have an interest - swamped with information . Many reviews have no background in sw dev and don’t know what they are reviewing - many end up saying nothing or, worse, focussing on issues that are not relevant . “Review” workshop turns into a tutorial that explains how it works . Devolves into round-table discussion with a random list of suggestions for the designers Result: things that should be captured, discussed, and adjusted in the review process end up slipping through Tend to focus solely on functionality and not system qualities
  3. basic approach is pretty simple everything is just different ways to do this
  4. Simplest Tool From 30+years ago Which qualities are important and why? How will you evaluate them wrt to the architecture? Not “Is it reusable/service oriented/fast enough?” Instead: “Explain the flow bw the user interface and the customer DB“, “which information is maintained between client calls? How is that dealt with in a failover situation?” Other useful bits Most likely iterative approach. High level review followed by smaller reviews focusing on specific aspects / qualities You need something that is reviewable – architecture is more than box and line diagrams or 60 pages with prose
  5. 1999 : working group to collect industrial experience and research techniques. many participants from multiple organisations presented the SARA report at the ICSE in 2002 what steps to follow, what questions to ask, what information to collect and document, what documentation templates to use, and tips on how to manage the social, managerial, and technical issues that arise when reviewing an artifact as important and complicated as a software architecture.
  6. Inputs Outputs Methods and Techniques Review Workflow Pragmatics and People Issues see blog entry for more details - difficult to identify ASDs and ASRs
  7. Inputs Outputs Methods and Techniques Review Workflow Pragmatics and People Issues see blog entry for more details - difficult to identify ASDs and ASRs
  8. - Objectives: conformance, quality, opportunities, example - Scope: all quals (just perf)? whole sys (just domain)? all systems in value chain - Arch: context drives doc formality, objectives drive views, other artefacts are useful - Criteria: get some! will come back to this
  9. - Intangibles: can be most important (shared view, archs get to explain to others) - want to find significant reqs and design choices (not always known in advance) - Tradeoffs: not important to find "right and wrong", explain consequences of tradeoffs - Risks: what most people think of - but also outside the arch, eg: process - lastly: what didn't you review, who couldn't attend, etc
  10. - will come back to this - context will determine scenario v experience v code analysis etc
  11. - before: eg: does everyone have time in their calendar, do you have champion that can get them to attend? - after: who are you communicating for? how to summarise a lot of detail? - retrospective for yourself
  12. - will come back to this also: - huge difference between internal, regular, planned and external, triggered, one-off
  13. experience = evaluation criteria as tacit knowledge scenarios = specific to the project / domain checklists = use them across projects / domains
  14. Don’t call them NFRs Prioritise them You can’t check everything, you will need to make tradeoffs, so you need to specify what’s most important often come from business drivers
  15. Start with ISO 25010 standard for software product quality Extend it as you need: e.g: its security aspects are not very comprehensive, TTM is often a criteria Eg: for functional correctness Wikipedia list is huge
  16. After prioritising your quality attributes, then you need to testable criteria – either scenarios or experience based. Start with scenarios Some common for all projects, others need to be created per project/solution Scenario format: SMART or “given, when, then” - Tom Gilb to quantify everything Collect them during the course of the project – also leads to Test Driven Architecture good way to get stakeholders involved good way to build knowledge as an architect if you are relatively new to a domain BUT : scenarios are hard…
  17. most popular approach good for things that recur across projects – technology and detailed, application architecture related issues see also TOGAF and Stackoverflow lists important to group them and formulate them as open questions (not like this list)
  18. lots of specific methods exist most fall into 1 of 2 categories: experience-based and scenario-based
  19. ATAM stop the boat and run a big review 1. Present the ATAM. 2. Present business drivers. (iteration 1) Present architecture. 4. Identify architectural approaches. 5. Generate quality attribute utility tree. 6. Analyze architectural approaches. (iteration 2) 7. Brainstorm and prioritize scenarios. 8. Analyze architectural approaches. 9. Present results. 
 Learn ATAM so that you can customise it to your needs. LAAAM – in-process technique just to get stakeholder to focus on qualities Peer Review – iterative, focussing on a few scenarios/qualities each time Important: ATAM as it is presented is usually is often too heavy to use in industrial settings (in enterprise domains) too hard to get all the stakeholders together at the same time too hard to set off that much time in a fast moving project, etc But it’s a very useful method to know about and understand so that you can customise it to your context
  20. Scenarios are hard scenario-based methods assume there is no existing system sometimes you already have something to review –much of industrial assessment is brown-field have a sponsor with a very specific goal that doesn’t need a full review often you have lots of tacit knowledge about a domain or the owner has a very explicit need, don’t need to get into scenario workshops (in practice, you already have the scenarios in that tacit knowledge) master-apprentice pattern to build up experience for other architects
  21. many more methods modifiability, long-lived applications, etc and there are 1001 methods just for security
  22. social, psychological, and managerial context Make developers feel confident, not defensive. presence of non-technical people or people from outside the project. pro and con. good for communication, can be bad for defensiveness using a review can help to make political games more rational. having an external reviewer is often the best approach, but it increases the tension with the project team planned, in-house reviews are a good way to spread knowledge, with minimal tension, but you risk missing things that external eyes will pick up stakeholder management ego, confrontation, self-defence are all consequences you need to deal with planning and finding time with people is a limiting factor focus on risk – don’t get sidetracked or bikesheded as a reviewer – bury your ego. There to raise issues not solve them
  23. most important tool – use your common sense “a fool with a tool is still a fool” amount of ceremony is proportional to the consequence of loss and the difficulty of communication how formal should the review be? how much documentation of the architecture do you need? is the goal to test all evaluation criteria or to make them visible and part of the design discussion?
  24. - build up your toolbox and choose the one that is appropriate to the context of your project
  25. also a toolbox for driving architecture design evaluation criteria are just test cases for your architecture = test driven architecture
  26. Just a taste in this presentation Writing up this topic as a series of articles on these blogs. Presenting more detail and links to tools, books, and articles you can use to build your toolbox