all architecture evaluation is not the same · 2013-05-01 · rescue (evolution vs. revolution)...
TRANSCRIPT
![Page 1: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/1.jpg)
© Fraunhofer IESE
1
All Architecture Evaluation is not the Same Lessons Learned from more than 50 Architecture Evaluations in Industry
Matthias Naab
May 2, 2013 SATURN 2013, Minneapolis
![Page 2: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/2.jpg)
© Fraunhofer IESE
2
Fraunhofer IESE
![Page 3: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/3.jpg)
© Fraunhofer IESE
3
Architecture Evaluation is a Mature Discipline …
… but only few Practical Examples Published
![Page 4: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/4.jpg)
© Fraunhofer IESE
4
Fraunhofer IESE
> 50 Architecture Evaluations
2004 - 2013
![Page 5: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/5.jpg)
© Fraunhofer IESE
5
Goals of this Talk
Share experiences with other practitioners
Complement literature
Give empirical evidences
![Page 6: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/6.jpg)
© Fraunhofer IESE
6
Companies in these Countries Involved
![Page 7: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/7.jpg)
© Fraunhofer IESE
7
Industries Involved
![Page 8: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/8.jpg)
© Fraunhofer IESE
8
Systems under Evaluation: Code Base
Size: 10 KLoC – 10 MLoC
Languages :
Java, C, C++, C#,
Delphi, Fortran, Cobol, Gen
Age: 0 years – 30 years
![Page 9: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/9.jpg)
© Fraunhofer IESE
9
Initiation of Architecture Evaluations
![Page 10: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/10.jpg)
© Fraunhofer IESE
10
Initiator of Architecture Evaluation
Initiator in same company
Initiator in other company
Top management
Development management
Method support group
Development team
Current customer
Potential customer
Disappointed customer
Cautious customer
![Page 11: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/11.jpg)
© Fraunhofer IESE
11
Typical Goals and Evaluation Questions
How adequate are the solutions for my
requirements?
What is the impact of changing to paradigm
SOA, Cloud, OO, …
How adequate is our architecture as a basis
for our future product portfolio?
How different are two architectures? How feasible is the
migration path?
How can our system be modularized?
How can we improve performance, reuse, maintainability, …?
Which framework / platform / technology fits our needs best?
How compliant is our solution to a
reference architecture?
![Page 12: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/12.jpg)
© Fraunhofer IESE
12
Emergency
Rescue (Evolution vs . Revolution)
Clash
Quality Management
Risk Management
Initial S ituation of Architecture Evaluation
Project “out of hand” Project “on plan”
Ev
alu
ati
on
&
Im
pro
ve
me
nt
Ev
alu
ati
on
on
ly
Project Type
Criticality
~ 20 Projects ~ 5 Projects ~ 5 Projects
~ 15 Projects ~ 5 Projects
![Page 13: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/13.jpg)
© Fraunhofer IESE
14
Setup of Architecture Evaluation Projects
![Page 14: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/14.jpg)
© Fraunhofer IESE
15
Organizational Constellation of Evaluations
2 (1-6)
Initiating Organization
3-15
Organization with product under
evaluation
Organization with product under
evaluation
…
3-15
3-15 [Number of People involved]
![Page 15: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/15.jpg)
© Fraunhofer IESE
16
Effort Spent on the Evaluation
4-200
Initiating Organization
1-10
Organization with product under
evaluation
Organization with product under
evaluation
…
2-60
2-60 [Person Days]
![Page 16: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/16.jpg)
© Fraunhofer IESE
17
Factors Driving Effort for Architecture Evaluation
Need for fast results
Overall Effort
Number of stakeholders
Organizational complexity
System size and complexity
Evaluation questions
Required confidence
Criticality of situation
![Page 17: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/17.jpg)
© Fraunhofer IESE
18
Overview on Architecture Evaluation Approach
Implementation/system
Architecture
Stakeholder
Concerns
Knowledge
Models
Documents
Source code
Code metrics
0110 01
Concern elicitation check
Scenario
Rating
Solution adequacy assessment
Documentation assessment
Compliance / distance assessment 0110 01
0110 01
Code quality assessment
Interpretation
![Page 18: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/18.jpg)
© Fraunhofer IESE
20
Outcome of Architecture Evaluations
![Page 19: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/19.jpg)
© Fraunhofer IESE
21
Findings: Requirements that are Often Neglected
Runtime Quality Attributes
Devtime Quality Attributes
Operation Quality Attributes
Typically known
Partially missing quantification
Often not explicitly known
Often hard to quantify
Typically not explicitly known
Often not addressed well
Often not addressed well
Often addressed well
Partially missing quantification
![Page 20: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/20.jpg)
© Fraunhofer IESE
22
Findings: Adequacy of Architectures under Evaluation
[33 solution adequacy assessments]
6 11 16
Architecture typically not thoroughly defined
Architecture often not fully adequate any more
(older systems)
Architecture thoroughly defined and maintained
Often Emergency or Rescue projects
Often Risk Management or Quality Management
projects
![Page 21: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/21.jpg)
© Fraunhofer IESE
23
Findings: Aspects that are „Over-Elaborated“
Technical Architecture Business Architecture
Specification of general architectural styles
Selection of technologies
Definition of concrete components or guidelines
how to define them
Mapping of concrete functionality to
technologies
Over-Elaborated Neglected
OSGi ESB
…
![Page 22: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/22.jpg)
© Fraunhofer IESE
24
Findings: Architecture Documentation
Architectural Requirements
Architecture
Implementation
Often not available
Often not available
Often very good knowledge
Often very good knowledge
Missing uniformity, lack of compliance, quality problems
D. Rost, M. Naab: Architecture Documentation for Developers: A Survey, ECSA 2013
Reco
nstru
ction
is esse
ntia
l as
basis fo
r eva
luatio
n
![Page 23: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/23.jpg)
© Fraunhofer IESE
25
Findings: Architecture Compliance
[26 compliance checks]
9 7 10
Implementation chaotic Typically very high
overall quality Strong adverse impact on quality of systems
Impact often perceived by users and developers
High cost for rework
![Page 24: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/24.jpg)
© Fraunhofer IESE
26
Interpretation of Evaluation Results
Architecture Evaluation often
not fully objective and quantitative
No standard interpretation
possible
Interpretation has to consider evaluation questions + many
context factors
Even quantitative data (e.g. number of
incompliant relationships) often
hard to interpret
Representation of results for
management is challenging ( actions?)
Tool-based reverse engineering often leads to nice but
useless visualizations
Stakeholders partially try to influence the interpretation for
their goals
![Page 25: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/25.jpg)
© Fraunhofer IESE
27
Follow-Up of Architecture Evaluations
![Page 26: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/26.jpg)
© Fraunhofer IESE
28
Which Problems can be Fixed, which can‘t?
Problems that often can be fixed
Problems that often can’t be fixed
Missing documentation
Missing support for several new scenarios
High degree of incompliance in code
Missing thoroughness in definition of initial
architecture
Strong degree of degeneration of
architecture over time
Lower degree of incompliance in code
Missing commitment in the fixing phase
![Page 27: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/27.jpg)
© Fraunhofer IESE
29
Actions Taken after the Architecture Evaluations
Project stopped
New project for future
architecture
Initiative for improvement of
architecture capabilities
Selection of one of the candidate
systems / technologies
None
Project for removing
architecture violations
Project for improvement of
architecture
![Page 28: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/28.jpg)
© Fraunhofer IESE
30
Evaluate your Architecture – early and regularly!
Effort and method strongly depend on goals and context
Interpretation of results is challenging
Thorough and continuous architecting is key to success
Key take aways of this talk
![Page 29: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/29.jpg)
© Fraunhofer IESE
31
![Page 30: All Architecture Evaluation is not the Same · 2013-05-01 · Rescue (Evolution vs. Revolution) Clash Quality Management Risk Management Initial Situation of Architecture Evaluation](https://reader035.vdocuments.mx/reader035/viewer/2022070907/5f8077a786ff57227368ac08/html5/thumbnails/30.jpg)
© Fraunhofer IESE
32
[email protected] architecture.iese.fraunhofer.de
Dr. Matthias Naab Phone: +49 631 6800 2249 [email protected]