SlideShare a Scribd company logo
1 of 55
Download to read offline
1
More than 30 years ago (1975)
Manager of the OS/360 software project
10 people in the architecture group – Architecture manager thought he would have
the spec ready in 10 month (waterfall was still en-vouge back then)
150 people in the control program group– said that working with the architect they
will make it the spec in 7 months (on schedule) and not have hi men twiddle their
thumbs for 10 months
Architecture manager said that this way it would not be on time (it would take the
same 10 months) and would e of lower quality
The architecture manager was right on both counts.Also Brooks estimates the lack of
conceptual integrity added a year to the debugging time…




                                                                                      2
We don’t want to get there- right?
What is architecture
What’s the architect role
How are we going to get from nothing to a working, breathing architecture




                                                                            3
4
5
IEEE 1471 – recommended practice for architecture description of software intensive
system



Software architecture is the collection of the fundamental decisions about a software
product/solution designed to meet the project's quality attributes (i.e. requirements).
The architecture includes the main components, their main attributes, and their
collaboration (i.e. interactions and behavior) to meet the quality attributes.
Architecture can and usually should be expressed in several levels of abstraction
(depending on the project's size).


If an architecture is to be intentional (rather than accidental), it should be
communicated. Architecture is communicated from multiple viewpoints to cater the
needs of the different stakeholders.
Architectural decisions are global tied to quality attributes
Designs decisions are local –tied to functionality




                                                                                          6
The Tao of Software Architect




                                7
Columbos - Explorer



Alan Dershowitz - Advocate
• At the age of 28 he became the youngest full
  professor in Harvard law school history
Successfully defended high profile clients
         • O.J. Simpson
         • Claus von Bülow


Frank Lloyd Wright - Designer
Frank Lloyd Wright (June 8, 1867 – April 9, 1959) was one of the most prominent and influential
      architects of the first half of 20th century. He not only developed a series of highly individual
      styles over his extraordinarily long architectural career (spanning the years 1887-1959), he
      influenced the whole course of American architecture and building. To this day he remains
      probably America's most famous architect. (wikipedia)




                                                                                                          8
A teacher- a mentor
A visionary -
A renaissance man



An architect is someone who has an holistic view of something




                                                                9
10
SPAMMED




          11
12
13
14
Set the direction for the solution….


No, no, that’s actually not true.
it is just an initial guideline


YAGNI vs. Former knowledge




                                       15
16
constraints limit the (architectural) solution space
       Vs. requirements that set goals for the system


Stakeholders should therefore not only specify requirements, but also constraints!


       Technical – Platform/technology (e.g. use .NET)

                (don’t event think about that
       Financial – Budget

       fancy Rule Engine)




                                                                                     17
18
We will return to this when we’ll speak about Evaluating Architectures (ATAM,
LAAAM)




                                                                                19
decompose and refines the business goals and quality attributes


The root of the tree is “utility” – the overall “goodness” of the system


Select the most important quality goals to be the high-level nodes
       E.g. performance, modifiability, security, and availability
The tree reflects the hierarchical nature of quality attributes and provides the basis
for prioritization




                                                                                         20
21
22
Remote user requests a database report via the Web during peak period and receives it
within 5 seconds.


Growth scenario
               Add a new data server to reduce latency in scenario 1 to 2.5 seconds within 1 person-
               week.
               For a new release, integrate a new component implementation in three weeks.
Exploratory scenario
               Half of the servers go down during normal operation without affecting overall system
               availability.
               Response
                           Under normal conditions update 100 moving objects on the map < 200 milisecons
               Latency
                           Under normal or stress conditions, a critical alert generated by the system will be displayed to the user in
                           less than 1 second
               Data loss
                           Under all conditions a message acknowledged by the system shall not be lost (10^5 probability)
Availability
          Hardware failure
                    When a mission is in progress, upon a server mal-function, the system will be fully operable within 30
                    seconds or less
Changeability
          Add Feature
                    Add a new sensor-type to the system in 2 man-months or less




                                                                                                                                          23
2003 PSS Global Summit   24
Block diagram, UMLs DSL




                          25
26
DSL
I can’t show you an example from a tool we’ve made to – simulate and integrate
systems.


Software Factories, MDA
Once we had “Model” -> “code” (CASE tools) – didn’t work because of “The
Generation Gap”
Model + framework -> code +framework
Model -> Model -> Model -> model + framework -> code + framework


Small – code DSLs are better than small model DSLs
Large model DSLs are very hard to achieve




                                                                                 27
Patterns- package an experience


Context and solutions (not “best practices”)


Encapsulate forces and challenges
Considerations


Remember that patterns are not a silver bullet either..




                                                          28
Communication != elaborate documentation


Viewpoints,
Document architecture at the last responsible moment




                                                       29
30
31
32
33
34
35
36
37
38
On Paper
      SEI
             ATAM; SAAM; ARID
      LAAAM
      Active Design Reviews
In Code
      POCs
      prototype
      Skeleton




                                39
Lets try to think about architectural risks in our projects…




                                                               40
SEI
       ATAM; SAAM; ARID
LAAAM
Active Design Reviews




                          41
Each dimension is rated on a five point scale, from High
      to Low

Value
Operational cost
Development cost




Each dimension is given a weight, to express its
      importance relative to the other dimensions
Assessment is performed in two passes:
         1.   Treat each cell as independent
         2.   Normalize across each row




                                                           42
43
44
Making sure the architecture really fits the problem
Making sure the architecture is followed



Tip: Short iterations allow for better feedback loop
       Consider SCRUM’s 30 day sprints or less




                                                       45
Not a process guidance


Just a framework of activities that can be used in a variety of ways




                                                                       46
But we’ve learned that Waterfall is problematic




                                                  47
Iterative is better – but essentially we are doing smaller waterfalls…
Incremental we are doing “mini-waterfalls”
In Agile we don’t


We can’t fix
Time boxing gives us rhythm
Potentially shippable software
Manage requirements changes
Increase trust (demonstration)




                                                                         48
Is located in San Jose california


In 1884, a wealthy widow named Sarah L. Winchester began a construction project of
such magnitude that it was to occupy the lives of carpenters and craftsmen until her
death thirty-eight years later.


The Victorian mansion, designed and built by the Winchester Rifle heiress,




                                                                                       49
This is what hacks look like

         38 years of construction – 147 builders 0 architects
         160 rooms – 40 bedrooms, 6 kitchens, 2 basements, 950 doors
         65 doors to blank walls, 13 staircases abandoned, 24 skylights in floors
         No architectural blueprint exists




                                                                                    50
51
Just Enough Design Up Front
instead of Big Design Up Front
Lean Architecture




                                 52
Architect product owner
Emphasize Flexibility
Postpone decisions

Evolving an architecture sounds very compelling but it is not a simple feat. Architectural decisions tend to have
system wide implications which means that changing one too late in the game you'd get a lot of rewrite and/or
refactoring to do
.
My strategy to solve that conflict is to:
Set the first one or two iterations as architectural ones. Some of the work in these iterations is to spike
technological and architectural risk. Nevertheless most of architectural iterations are still about delivering
business value and user stories. The difference is that the prioritization of the requirements is also done based on
technical risks and not just business ones. By the way, when you write quality attribute requirements as scenarios
makes them usable as user stories helps customers understand their business value.

Try to think about prior experience to produce the baseline architecture

One of the quality attributes that you should bring into the table is flexibility - but be weary of putting too much
effort into building this flexibility in
Don't try to implement architectural components thoroughly - it is enough to run a thin thread through them and
expand then when the need arise. Sometimes it is even enough just to identify them as possible future
extensions.

Try to postpone architectural decisions to the last responsible moment. However, when that moment comes -
make the decision. try to validate the architectural decisions by spiking them out before you introduce them into
the project

These steps don't promise that the initial architecture sticks, but in my experience it makes it possible to minimize
the number of architectural decisions but still have a relatively solid foundation to base your project on




                                                                                                                        53
Scott Ambler told me that “agile ones do”, Jim Coplien “Architect Also Implements”
pattern
Reports that they’ve seen this time and time again in successful projects.


For instance, In one presentation I heared Jim mentioned one stellar team- the dev.
Team of Quatro pro where the architects had a daily standup (that was 93 mind-you)


In my experience Architect should almost never own features
I don’t find a lot of value in architects implementing production code unless there are
enough architects to go around


Architect must know how to implement
Architect must be able to prove his design in code
Architect can pair program to mentor/validate/solve problem and provide guidance -
> this solves the getting recognition by developers part and better




                                                                                          54
Services interactions are message driven
        Services should be Loosely coupled
        Edges should provide location transparency
        Business logic and edge are separate layers
        Scale inside the service
        You can use workflows for long-running interactions
               again - inside the service




2003 PSS Global Summit                                        55

More Related Content

What's hot

Designing Enhanced Supervision for the Evolving Wealth Management Ecosystem
Designing Enhanced Supervision for the Evolving Wealth Management EcosystemDesigning Enhanced Supervision for the Evolving Wealth Management Ecosystem
Designing Enhanced Supervision for the Evolving Wealth Management Ecosystemaccenture
 
BMC Helix Discovery_Master_1911.pptx
BMC Helix Discovery_Master_1911.pptxBMC Helix Discovery_Master_1911.pptx
BMC Helix Discovery_Master_1911.pptxKuldip18
 
Simplifying MBSE Tasks with Capella and MapleMBSE
Simplifying MBSE Tasks with Capella and MapleMBSESimplifying MBSE Tasks with Capella and MapleMBSE
Simplifying MBSE Tasks with Capella and MapleMBSEObeo
 
Cloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesCloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesIntel Corporation
 
A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016
A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016
A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016Daljit Banger
 
Catalogo modicon m580 2014
Catalogo modicon m580 2014Catalogo modicon m580 2014
Catalogo modicon m580 2014coyote533
 
Industry X.0: Unlocking the Power of Digital in Plant Operations
Industry X.0: Unlocking the Power of Digital in Plant Operations Industry X.0: Unlocking the Power of Digital in Plant Operations
Industry X.0: Unlocking the Power of Digital in Plant Operations accenture
 
Data Center Monitoring and Management Best Practices: How You Can Benefit fro...
Data Center Monitoring and Management Best Practices: How You Can Benefit fro...Data Center Monitoring and Management Best Practices: How You Can Benefit fro...
Data Center Monitoring and Management Best Practices: How You Can Benefit fro...Upsite Technologies
 
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Chandrashekhar More
 
Presentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or soPresentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or soAdrian Grigoriu
 
How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecturecccamericas
 
Improvements in Data Center Management
Improvements in Data Center ManagementImprovements in Data Center Management
Improvements in Data Center ManagementScottMadden, Inc.
 
POR DENTRO DO DATACENTER
POR DENTRO DO DATACENTERPOR DENTRO DO DATACENTER
POR DENTRO DO DATACENTERFelipe Matheus
 
Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...
Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...
Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...Dell Technologies
 
Enterprise Architecture - TOGAF Overview
Enterprise Architecture - TOGAF OverviewEnterprise Architecture - TOGAF Overview
Enterprise Architecture - TOGAF OverviewMohamed Sami El-Tahawy
 
Introduction to ThousandEyes
Introduction to ThousandEyesIntroduction to ThousandEyes
Introduction to ThousandEyesThousandEyes
 
Cloud Architecture in the Data Center
Cloud Architecture in the Data CenterCloud Architecture in the Data Center
Cloud Architecture in the Data CenterInterVision Systems
 

What's hot (20)

Designing Enhanced Supervision for the Evolving Wealth Management Ecosystem
Designing Enhanced Supervision for the Evolving Wealth Management EcosystemDesigning Enhanced Supervision for the Evolving Wealth Management Ecosystem
Designing Enhanced Supervision for the Evolving Wealth Management Ecosystem
 
BMC Helix Discovery_Master_1911.pptx
BMC Helix Discovery_Master_1911.pptxBMC Helix Discovery_Master_1911.pptx
BMC Helix Discovery_Master_1911.pptx
 
Simplifying MBSE Tasks with Capella and MapleMBSE
Simplifying MBSE Tasks with Capella and MapleMBSESimplifying MBSE Tasks with Capella and MapleMBSE
Simplifying MBSE Tasks with Capella and MapleMBSE
 
Cloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesCloud infrastructure and Cloud Services
Cloud infrastructure and Cloud Services
 
A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016
A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016
A Day in the Life of an Enterprise Architect (Role Play Exercise) 2016
 
Management Consultancy Saudi Telecom Digital Transformation Design Thinking
Management Consultancy Saudi Telecom Digital Transformation Design ThinkingManagement Consultancy Saudi Telecom Digital Transformation Design Thinking
Management Consultancy Saudi Telecom Digital Transformation Design Thinking
 
Catalogo modicon m580 2014
Catalogo modicon m580 2014Catalogo modicon m580 2014
Catalogo modicon m580 2014
 
Industry X.0: Unlocking the Power of Digital in Plant Operations
Industry X.0: Unlocking the Power of Digital in Plant Operations Industry X.0: Unlocking the Power of Digital in Plant Operations
Industry X.0: Unlocking the Power of Digital in Plant Operations
 
Data Center Monitoring and Management Best Practices: How You Can Benefit fro...
Data Center Monitoring and Management Best Practices: How You Can Benefit fro...Data Center Monitoring and Management Best Practices: How You Can Benefit fro...
Data Center Monitoring and Management Best Practices: How You Can Benefit fro...
 
Data center
Data centerData center
Data center
 
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
Enterprise Architecture using TOGAF 's ADM - Architecture Delivery Method (...
 
Presentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or soPresentation: Enterprise Architecture design In 3 Minutes or so
Presentation: Enterprise Architecture design In 3 Minutes or so
 
How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecture
 
Improvements in Data Center Management
Improvements in Data Center ManagementImprovements in Data Center Management
Improvements in Data Center Management
 
POR DENTRO DO DATACENTER
POR DENTRO DO DATACENTERPOR DENTRO DO DATACENTER
POR DENTRO DO DATACENTER
 
Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...
Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...
Dell OEM/IoT Solutions for Industrial Automation and Smart Manufacturing v3a ...
 
Enterprise Architecture - TOGAF Overview
Enterprise Architecture - TOGAF OverviewEnterprise Architecture - TOGAF Overview
Enterprise Architecture - TOGAF Overview
 
Using TOGAF beyond IT
Using TOGAF beyond ITUsing TOGAF beyond IT
Using TOGAF beyond IT
 
Introduction to ThousandEyes
Introduction to ThousandEyesIntroduction to ThousandEyes
Introduction to ThousandEyes
 
Cloud Architecture in the Data Center
Cloud Architecture in the Data CenterCloud Architecture in the Data Center
Cloud Architecture in the Data Center
 

Similar to SAF - architecture framework

Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentPersistent Systems Ltd.
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfAkilaGamage2
 
Design concepts and principle,
Design concepts and principle, Design concepts and principle,
Design concepts and principle, awikhan12
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsAmr E. Mohamed
 
Software Patterns
Software PatternsSoftware Patterns
Software Patternskim.mens
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Fadhil Ismail
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureBrad Beiermann
 
Introduction to Software Architecture
Introduction to Software ArchitectureIntroduction to Software Architecture
Introduction to Software ArchitectureRuth Malan
 
How architectures fail, and what to do about it
How architectures fail, and what to do about itHow architectures fail, and what to do about it
How architectures fail, and what to do about itTetradian Consulting
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptitadmin33
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
What a Good Software Architect Does
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect DoesEberhard Wolff
 
Applying Agile Values to Enterprise Architecture Software Architectural Trend...
Applying Agile Values to Enterprise Architecture Software Architectural Trend...Applying Agile Values to Enterprise Architecture Software Architectural Trend...
Applying Agile Values to Enterprise Architecture Software Architectural Trend...Software Park Thailand
 
140910-doverick-agile103.pdf
140910-doverick-agile103.pdf140910-doverick-agile103.pdf
140910-doverick-agile103.pdfmiaoli35
 

Similar to SAF - architecture framework (20)

SAF
SAFSAF
SAF
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@Persistent
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
Design concepts and principle,
Design concepts and principle, Design concepts and principle,
Design concepts and principle,
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design Patterns
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
 
Introduction to Software Architecture
Introduction to Software ArchitectureIntroduction to Software Architecture
Introduction to Software Architecture
 
How architectures fail, and what to do about it
How architectures fail, and what to do about itHow architectures fail, and what to do about it
How architectures fail, and what to do about it
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
What a Good Software Architect Does
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect Does
 
Applying Agile Values to Enterprise Architecture Software Architectural Trend...
Applying Agile Values to Enterprise Architecture Software Architectural Trend...Applying Agile Values to Enterprise Architecture Software Architectural Trend...
Applying Agile Values to Enterprise Architecture Software Architectural Trend...
 
140910-doverick-agile103.pdf
140910-doverick-agile103.pdf140910-doverick-agile103.pdf
140910-doverick-agile103.pdf
 

More from Arnon Rotem-Gal-Oz

More from Arnon Rotem-Gal-Oz (20)

Taking ML to production - a journey
Taking ML to production - a journeyTaking ML to production - a journey
Taking ML to production - a journey
 
Apache spark
Apache sparkApache spark
Apache spark
 
Fallacies of Distributed Computing
Fallacies of Distributed Computing Fallacies of Distributed Computing
Fallacies of Distributed Computing
 
Docker & Kubernetes intro
Docker & Kubernetes introDocker & Kubernetes intro
Docker & Kubernetes intro
 
Docker Intro
Docker IntroDocker Intro
Docker Intro
 
Data security @ the personal level
Data security @ the personal levelData security @ the personal level
Data security @ the personal level
 
Microservices - it's déjà vu all over again
Microservices  - it's déjà vu all over againMicroservices  - it's déjà vu all over again
Microservices - it's déjà vu all over again
 
Big data in the cloud - welcome to cost oriented design
Big data in the cloud - welcome to cost oriented designBig data in the cloud - welcome to cost oriented design
Big data in the cloud - welcome to cost oriented design
 
Distilling insights @ AppsFlyer
Distilling insights @ AppsFlyerDistilling insights @ AppsFlyer
Distilling insights @ AppsFlyer
 
Distilling Insights @ Appsflyer (Data Architecture)
Distilling Insights @ Appsflyer (Data Architecture)Distilling Insights @ Appsflyer (Data Architecture)
Distilling Insights @ Appsflyer (Data Architecture)
 
Big data Overview
Big data OverviewBig data Overview
Big data Overview
 
Hadoop YARN overview
Hadoop YARN overviewHadoop YARN overview
Hadoop YARN overview
 
REST presentation
REST presentationREST presentation
REST presentation
 
SOA & Big Data
SOA & Big DataSOA & Big Data
SOA & Big Data
 
Why the JVM?
Why the JVM?Why the JVM?
Why the JVM?
 
Building reliable systems from unreliable components
Building reliable systems from unreliable componentsBuilding reliable systems from unreliable components
Building reliable systems from unreliable components
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Things to think about while architecting azure solutions
Things to think about while architecting azure solutionsThings to think about while architecting azure solutions
Things to think about while architecting azure solutions
 
Soa
Soa Soa
Soa
 
Rest
RestRest
Rest
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

SAF - architecture framework

  • 1. 1
  • 2. More than 30 years ago (1975) Manager of the OS/360 software project 10 people in the architecture group – Architecture manager thought he would have the spec ready in 10 month (waterfall was still en-vouge back then) 150 people in the control program group– said that working with the architect they will make it the spec in 7 months (on schedule) and not have hi men twiddle their thumbs for 10 months Architecture manager said that this way it would not be on time (it would take the same 10 months) and would e of lower quality The architecture manager was right on both counts.Also Brooks estimates the lack of conceptual integrity added a year to the debugging time… 2
  • 3. We don’t want to get there- right? What is architecture What’s the architect role How are we going to get from nothing to a working, breathing architecture 3
  • 4. 4
  • 5. 5
  • 6. IEEE 1471 – recommended practice for architecture description of software intensive system Software architecture is the collection of the fundamental decisions about a software product/solution designed to meet the project's quality attributes (i.e. requirements). The architecture includes the main components, their main attributes, and their collaboration (i.e. interactions and behavior) to meet the quality attributes. Architecture can and usually should be expressed in several levels of abstraction (depending on the project's size). If an architecture is to be intentional (rather than accidental), it should be communicated. Architecture is communicated from multiple viewpoints to cater the needs of the different stakeholders. Architectural decisions are global tied to quality attributes Designs decisions are local –tied to functionality 6
  • 7. The Tao of Software Architect 7
  • 8. Columbos - Explorer Alan Dershowitz - Advocate • At the age of 28 he became the youngest full professor in Harvard law school history Successfully defended high profile clients • O.J. Simpson • Claus von Bülow Frank Lloyd Wright - Designer Frank Lloyd Wright (June 8, 1867 – April 9, 1959) was one of the most prominent and influential architects of the first half of 20th century. He not only developed a series of highly individual styles over his extraordinarily long architectural career (spanning the years 1887-1959), he influenced the whole course of American architecture and building. To this day he remains probably America's most famous architect. (wikipedia) 8
  • 9. A teacher- a mentor A visionary - A renaissance man An architect is someone who has an holistic view of something 9
  • 10. 10
  • 11. SPAMMED 11
  • 12. 12
  • 13. 13
  • 14. 14
  • 15. Set the direction for the solution…. No, no, that’s actually not true. it is just an initial guideline YAGNI vs. Former knowledge 15
  • 16. 16
  • 17. constraints limit the (architectural) solution space Vs. requirements that set goals for the system Stakeholders should therefore not only specify requirements, but also constraints! Technical – Platform/technology (e.g. use .NET) (don’t event think about that Financial – Budget fancy Rule Engine) 17
  • 18. 18
  • 19. We will return to this when we’ll speak about Evaluating Architectures (ATAM, LAAAM) 19
  • 20. decompose and refines the business goals and quality attributes The root of the tree is “utility” – the overall “goodness” of the system Select the most important quality goals to be the high-level nodes E.g. performance, modifiability, security, and availability The tree reflects the hierarchical nature of quality attributes and provides the basis for prioritization 20
  • 21. 21
  • 22. 22
  • 23. Remote user requests a database report via the Web during peak period and receives it within 5 seconds. Growth scenario Add a new data server to reduce latency in scenario 1 to 2.5 seconds within 1 person- week. For a new release, integrate a new component implementation in three weeks. Exploratory scenario Half of the servers go down during normal operation without affecting overall system availability. Response Under normal conditions update 100 moving objects on the map < 200 milisecons Latency Under normal or stress conditions, a critical alert generated by the system will be displayed to the user in less than 1 second Data loss Under all conditions a message acknowledged by the system shall not be lost (10^5 probability) Availability Hardware failure When a mission is in progress, upon a server mal-function, the system will be fully operable within 30 seconds or less Changeability Add Feature Add a new sensor-type to the system in 2 man-months or less 23
  • 24. 2003 PSS Global Summit 24
  • 26. 26
  • 27. DSL I can’t show you an example from a tool we’ve made to – simulate and integrate systems. Software Factories, MDA Once we had “Model” -> “code” (CASE tools) – didn’t work because of “The Generation Gap” Model + framework -> code +framework Model -> Model -> Model -> model + framework -> code + framework Small – code DSLs are better than small model DSLs Large model DSLs are very hard to achieve 27
  • 28. Patterns- package an experience Context and solutions (not “best practices”) Encapsulate forces and challenges Considerations Remember that patterns are not a silver bullet either.. 28
  • 29. Communication != elaborate documentation Viewpoints, Document architecture at the last responsible moment 29
  • 30. 30
  • 31. 31
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. On Paper SEI ATAM; SAAM; ARID LAAAM Active Design Reviews In Code POCs prototype Skeleton 39
  • 40. Lets try to think about architectural risks in our projects… 40
  • 41. SEI ATAM; SAAM; ARID LAAAM Active Design Reviews 41
  • 42. Each dimension is rated on a five point scale, from High to Low Value Operational cost Development cost Each dimension is given a weight, to express its importance relative to the other dimensions Assessment is performed in two passes: 1. Treat each cell as independent 2. Normalize across each row 42
  • 43. 43
  • 44. 44
  • 45. Making sure the architecture really fits the problem Making sure the architecture is followed Tip: Short iterations allow for better feedback loop Consider SCRUM’s 30 day sprints or less 45
  • 46. Not a process guidance Just a framework of activities that can be used in a variety of ways 46
  • 47. But we’ve learned that Waterfall is problematic 47
  • 48. Iterative is better – but essentially we are doing smaller waterfalls… Incremental we are doing “mini-waterfalls” In Agile we don’t We can’t fix Time boxing gives us rhythm Potentially shippable software Manage requirements changes Increase trust (demonstration) 48
  • 49. Is located in San Jose california In 1884, a wealthy widow named Sarah L. Winchester began a construction project of such magnitude that it was to occupy the lives of carpenters and craftsmen until her death thirty-eight years later. The Victorian mansion, designed and built by the Winchester Rifle heiress, 49
  • 50. This is what hacks look like 38 years of construction – 147 builders 0 architects 160 rooms – 40 bedrooms, 6 kitchens, 2 basements, 950 doors 65 doors to blank walls, 13 staircases abandoned, 24 skylights in floors No architectural blueprint exists 50
  • 51. 51
  • 52. Just Enough Design Up Front instead of Big Design Up Front Lean Architecture 52
  • 53. Architect product owner Emphasize Flexibility Postpone decisions Evolving an architecture sounds very compelling but it is not a simple feat. Architectural decisions tend to have system wide implications which means that changing one too late in the game you'd get a lot of rewrite and/or refactoring to do . My strategy to solve that conflict is to: Set the first one or two iterations as architectural ones. Some of the work in these iterations is to spike technological and architectural risk. Nevertheless most of architectural iterations are still about delivering business value and user stories. The difference is that the prioritization of the requirements is also done based on technical risks and not just business ones. By the way, when you write quality attribute requirements as scenarios makes them usable as user stories helps customers understand their business value. Try to think about prior experience to produce the baseline architecture One of the quality attributes that you should bring into the table is flexibility - but be weary of putting too much effort into building this flexibility in Don't try to implement architectural components thoroughly - it is enough to run a thin thread through them and expand then when the need arise. Sometimes it is even enough just to identify them as possible future extensions. Try to postpone architectural decisions to the last responsible moment. However, when that moment comes - make the decision. try to validate the architectural decisions by spiking them out before you introduce them into the project These steps don't promise that the initial architecture sticks, but in my experience it makes it possible to minimize the number of architectural decisions but still have a relatively solid foundation to base your project on 53
  • 54. Scott Ambler told me that “agile ones do”, Jim Coplien “Architect Also Implements” pattern Reports that they’ve seen this time and time again in successful projects. For instance, In one presentation I heared Jim mentioned one stellar team- the dev. Team of Quatro pro where the architects had a daily standup (that was 93 mind-you) In my experience Architect should almost never own features I don’t find a lot of value in architects implementing production code unless there are enough architects to go around Architect must know how to implement Architect must be able to prove his design in code Architect can pair program to mentor/validate/solve problem and provide guidance - > this solves the getting recognition by developers part and better 54
  • 55. Services interactions are message driven Services should be Loosely coupled Edges should provide location transparency Business logic and edge are separate layers Scale inside the service You can use workflows for long-running interactions again - inside the service 2003 PSS Global Summit 55