SlideShare a Scribd company logo
1 of 50
Copyright © 2007, Rob Daigneau, All rights reserved
Becoming an ArchitectBecoming an Architect
Copyright © 2007, Rob Daigneau, All rights reserved
OverviewOverview
• The Discipline of Architecture
• Architectural Decisions and Their
Consequences
• Components of Typical
Architecture Plans
• The Skills Required
to do the Job
• The Passage from Developer
to Architect
Copyright © 2007, Rob Daigneau, All rights reserved
About MeAbout Me
• Principal of ArcSage, Inc.
• Addison WesleyAddison Wesley author
– Currently working on Service Design PatternsService Design Patterns
book
• Chief Architect
• Director of Architecture
The Discipline of Architecture
Copyright © 2007, Rob Daigneau, All rights reserved
What Does It Mean To Be
An Architect?
No agreement
Copyright © 2007, Rob Daigneau, All rights reserved
LetLet’s start here …’s start here …
2. A person who designs
and guides a plan or
undertaking.
1. A person
who designs
buildingsbuildings and advises
in their constructiontheir construction.
From Webster’s Dictionary
Copyright © 2007, Rob Daigneau, All rights reserved
Let’s replace a few words …
2. A person who designs
and guides a planguides a plan or
undertaking related to
software systemssoftware systems
designdesign..
1. A person
who designs
software systemssoftware systems and
advises in the design ofthe design of
such systemssuch systems.
What isWhat is
Architecture?Architecture?
Copyright © 2007, Rob Daigneau, All rights reserved
Fundamental organizationorganization of a system
embodied in its componentscomponents,
their relationshipsrelationships to each other and the
environment,
and the principlesprinciples governing its design and
evolution
IEEE 1471-2000
Copyright © 2007, Rob Daigneau, All rights reserved
Booch, Kruchten, Reitman,
Bittner, Shaw
the set of significant decisionssignificant decisions about
the organization of a software system
Selection of the structural elementsstructural elements and
their interfacesinterfaces by which a system is composed
BehaviorBehavior as specified in collaborations among
those elements
Copyright © 2007, Rob Daigneau, All rights reserved
Architecture is generally concerned
with design at higher levels of
abstraction …
• Emphasis is on
general
organization,
relationships
Copyright © 2007, Rob Daigneau, All rights reserved
… Architecture might also look at
“lower level concerns”
• These types of
architects may look at
“the How’s”
• The altitude at which
architects fly can be
contentious
• Get your RACI
right
Copyright © 2007, Rob Daigneau, All rights reserved
The Many Species ofThe Many Species of
ArchitectsArchitects
More
Strategic
More productsFewer products
CTOCTO
More
Tactical
• Product Architect
– Typically leads design of one
or a few products
– Tends to be more “hands on”
• Enterprise Architect
– Aligns use of technologies with
strategic business initiatives
– Drives for consistency in product
design, methodologies, tools, etc.,
across the enterprise
– Provides oversight
• CTO
– Highest level of oversight
– Manages budgets, SLAs, and
contracts
EnterpriseEnterprise
ArchitectArchitectProductProduct
ArchitectArchitect
• Others: e.g. Infrastructure, Data, etc.
Copyright © 2007, Rob Daigneau, All rights reserved
The Influence ofThe Influence of
ArchitectureArchitecture
Architecture Plans
and Principles
Detailed
Design
Project
Plans
Team
Structures
Business
Requirements
Business strategy,
tactics, and trends
SLAs and
Technical
Requirements
Copyright © 2007, Rob Daigneau, All rights reserved
When Do Architects Typically GetWhen Do Architects Typically Get
Involved?Involved?
The Traditional ViewThe Traditional View –– Booooooo !!!!!Booooooo !!!!!
Product
Definition
Requirements
Analysis
Technical
Design
Implementation Test Rollout
Copyright © 2007, Rob Daigneau, All rights reserved
When Do Architects Typically GetWhen Do Architects Typically Get
Involved?Involved?
The Agile ViewThe Agile View
Product Definition
Requirements Analysis
Technical Design
Implementation
Test
Release
Product Definition
Requirements Analysis
Technical Design
Implementation
Test
Product Definition
Requirements Analysis
Technical Design
Implementation
Test
Release Release
Iteration 1 Iteration 2 Iteration 3
ArchitecturalArchitectural
DecisionsDecisions
and Theirand Their
ConsequencesConsequences
Copyright © 2007, Rob Daigneau, All rights reserved
Architecture is like ConcreteArchitecture is like Concrete
…… once it sets,once it sets,
itit’s really hard’s really hard
to changeto change
Copyright © 2007, Rob Daigneau, All rights reserved
Quality of ServiceQuality of Service
AttributesAttributes
• Adaptability
– Maintainability, Extensibility
• (Resource) Efficiency
• Interoperability
• Manageability
• Availability
• Performance
– e.g. Throughput, Response Time
• Scalability
• Robustness, Resilience
• i.e. Fault tolerance, Disaster Recovery
• Security
– Authentication, Authorization, Privacy, etc.
Copyright © 2007, Rob Daigneau, All rights reserved
Compatible GoalsCompatible Goals
Many goals do not oppose each other, e.g. …
AdaptabilityAdaptability
InteroperabilityInteroperability ManageabilityManageability
PortabilityPortabilityLocalizationLocalization
Copyright © 2007, Rob Daigneau, All rights reserved
You CanYou Can’t Have it All’t Have it All
• All architectural
decisions have positive
and negative
consequences
• A movement to
optimize one thing may
cause a trade-off on
something else
Copyright © 2007, Rob Daigneau, All rights reserved
Evaluating Trade-offs PartEvaluating Trade-offs Part
11
Your GoalYour Goal
Faster DeliveryFaster Delivery
Lower CostLower Cost
Lower ComplexityLower Complexity
Copyright © 2007, Rob Daigneau, All rights reserved
Some goals naturally compete against each
other
PerformancePerformance
AdaptabilityAdaptability
SecuritySecurity
Evaluating Trade-offs PartEvaluating Trade-offs Part
22
PortabilityPortability
Copyright © 2007, Rob Daigneau, All rights reserved
• (Strategic) Architecture Plans
• (Tactical) Product Architecture
• Guidelines, Principles, and
Standards
Components of Typical
Architecture Plans
Copyright © 2007, Rob Daigneau, All rights reserved
• Watch out for the tendency
to dive deep early on
– Can get stuck
– Won’t see big picture
• The Power of Abstraction
(business and technical)
– Iterative top-down decomposition
approach is “faster”
– Increases chance of understanding
dependencies
Be Careful of SubmariningBe Careful of Submarining
Copyright © 2007, Rob Daigneau, All rights reserved
Strategic Architecture PlansStrategic Architecture Plans
-- Guiding PrinciplesGuiding Principles
• Key concepts to guide …
– The selection of technologies
– Future decisions made for
• Detailed (Physical) Design
• Deployment/Execution Architecture
• Operations Architecture
• Influenced by
– Business and Technical
Requirements
Examples
• QOS Attributes
• Buy vs. Build Philosophy
• When/where to use Open Source
• Approach used for Product Evaluations
• Use of OO, SOA, AOP, etc.
Copyright © 2007, Rob Daigneau, All rights reserved
• High level description of
– Major Subsystems and Integrations
• Usually
– Looks out several years
– Shows evolution from “As-is” to
“To-Be” architecture in several
diagrams and narratives
– Shows how business
capabilities mapped to
subsystems
• Functions as a
communication device
Strategic Architecture PlansStrategic Architecture Plans
-- Architecture RoadmapsArchitecture Roadmaps
Marketing
System
CRM
General
Ledger
eCommerce
Application
Enterprise Resource Planning
Product
Catalog
Order &
Fulfillment
Inventory
Distributors
Copyright © 2007, Rob Daigneau, All rights reserved
• Pertains to …
– Deployment Architecture
– Operations Architecture
– Frameworks, Developer tools,
languages, etc.
• Techniques
– Formal Approaches
• RFIs, RFPs, Vendor Bake-offs
– Proof-of-Concepts and
Pilot Projects
Strategic Architecture PlansStrategic Architecture Plans
--
Evaluation and Selection ofEvaluation and Selection of
TechnologiesTechnologies
Copyright © 2007, Rob Daigneau, All rights reserved
Strategic Architecture PlansStrategic Architecture Plans
--
Product Release StrategiesProduct Release Strategies
• Outlines how business
capabilities are fulfilled over
multiple product releases
• Aligned with Architecture
Roadmaps
• Agile tends to focus on
immediate iteration
– Does Agile forsake strategy? NO !!
• Might not be managed by the
Architect
– Depends on the organization
Copyright © 2007, Rob Daigneau, All rights reserved
The Product Architecture PlanThe Product Architecture Plan
–– Technical RequirementsTechnical Requirements
• i.e. “Non-functional” Requirements
– Identifies system requirements that are not specific to the
business (i.e. functional) requirements
– The “ilities” we discussed above
Copyright © 2007, Rob Daigneau, All rights reserved
• Precedes physical design
• Might be considered an analysis tool
– Supports use-cases or user stories
– Used as input to physical design
The Product ArchitectureThe Product Architecture
Plan -Plan - Logical ModelsLogical Models
• Defines High Level …
– Organizational Structures
– Relationships, interactions
– Responsibilities
– Behaviors
• Platform independent
Customer
Contract Order
ProductPricing
Copyright © 2007, Rob Daigneau, All rights reserved
• Helps business and technology
stakeholders
– Get better understanding of problem domain
– Identify flaws, issues, and challenges early
– Explore alternatives
• Techniques
– Domain-Driven Design
• High level Class Diagrams
– Flowcharts, Workflows
– High Level Entity Relationship Diagrams
Submit
Order
Fraud
Check
Credit
Check
Decrement
Inventory &
Provision
G/L Entry
Fulfillment
The Product ArchitectureThe Product Architecture
Plan -Plan - Logical ModelsLogical Models
Copyright © 2007, Rob Daigneau, All rights reserved
The Product ArchitectureThe Product Architecture
Plan -Plan -
Identification of Logical LayersIdentification of Logical Layers
• Addresses “Separation of Concerns”
Marketing
Service
Customer
Service
Order
Service
Domain Model
Data Access
Application
Database
– Shows how logic will be segmented
by purpose
• Doesn’t show detailed
interfaces
• Benefits of layering
– Promotes maintainability through
high cohesion
– Allows independent evolution of logic in different layers
– Facilitates reuse or sharing of logic
Infrastructure
Copyright © 2007, Rob Daigneau, All rights reserved
Web/App Server
Application
App Server
Marketing
Service
Customer
Service
Order
Service
Domain Model
Data Access
Database Server
Order
Database
Customer
Database
Marketing
Database
• a.k.a. Execution Architecture
• Shows how layers are
deployed to physical tiers
• Hardware, Capacity plans
– Server sizing (CPU, Memory, Disk)
– Network topology
• Design of Logical
Environments
– Development, Integration, QA, Staging,
Production
The Product Architecture Plan -The Product Architecture Plan -
Deployment ArchitectureDeployment Architecture
Infrastructure
Copyright © 2007, Rob Daigneau, All rights reserved
For theFor the
Engineers/Developers -Engineers/Developers -
Physical DesignPhysical Design• Detailed design
– Services, Major Interfaces, Classes
– Use of Design Patterns
– Integrations
• Messages, Triggering Events,
Transforms, etc.
• Usually Platform specific …
– e.g. Database schemas,
Language specific class design
• Agile cautions against
“Big Design Up Front” (BDUF)
Copyright © 2007, Rob Daigneau, All rights reserved
Guidelines and StandardsGuidelines and Standards
• Coding Standards
• Source Code Management
– Versioning
– Branch and Merge approaches
• Testing
– Unit testing, Integration, Regression,
Performance, Stress, UAT
• Production Rollout and
Rollback Procedures
• Governance
– Change control over Service
Contracts, Interfaces, business logic
• Many of these may not be done
by the architect … often a shared
responsibility; depends on the
organization
The SkillsThe Skills
RequiredRequired
to do theto do the
JobJob
Copyright © 2007, Rob Daigneau, All rights reserved
TheThe “Easy” Skills“Easy” Skills
• Abstraction
– Business and technical concepts
• OO Concepts
– e.g. Encapsulation, Inheritance, Composition, Polymorphism,
Inversion of Control
• Analysis and Modeling Techniques
– e.g. UML, DFD, ERD, Network Diagrams
• Relational Databases
– Normalization, Transaction and Concurrency Management, Data Integrity
Copyright © 2007, Rob Daigneau, All rights reserved
TheThe “Easy” Skills“Easy” Skills
• SDLC Methodologies
– Prescriptive (e.g. Waterfall, RUP) vs. Adaptive approaches (e.g. Agile)
• Estimating
• Project management
– Task planning, schedule estimation, monitoring, reporting, risk
management, budget management, etc.
• Business concepts,
knowledge of problem domain
Copyright © 2007, Rob Daigneau, All rights reserved
The Hard Skills are the SoftThe Hard Skills are the Soft
SkillsSkills
• Mentoring,
Consulting,
Coaching,
Delegation
– Wise architects let people choose their
own paths
– Architects shouldn’t drive everything
– Wisdom acquired from own mistakes
Copyright © 2007, Rob Daigneau, All rights reserved
The Hard Skills are the SoftThe Hard Skills are the Soft
SkillsSkills
• Persuasion,
Influence
– May not have authority
• Politician,
Negotiator,
– Must …
• Be Pragmatic
• Able to Compromise
Copyright © 2007, Rob Daigneau, All rights reserved
Develop Patience, LetDevelop Patience, Let
GoGo
• Seek to understand “their”
Fears, Uncertainty, and
Doubts (i.e. FUD)
– Empathasize, develop trust
• If you’re trying to introduce
change …
– Recognize that progress might only be
made in inches rather than miles
– Every little step in the right direction is a
good thing.
• Architecture initiatives often
have a lower priority
The PassageThe Passage
fromfrom
DeveloperDeveloper
toto
ArchitectArchitect
Copyright © 2007, Rob Daigneau, All rights reserved
Architects andArchitects and
DevelopersDevelopers
Effective Architects areEffective Architects are
full members of thefull members of the
development teamsdevelopment teams
Copyright © 2007, Rob Daigneau, All rights reserved
Should Architects Code?Should Architects Code?
• It depends …
– What kind of Architect are you?
– How big is your product and your team?
• Are Product Architects actually
Lead Developers?
– a.k.a. Application Architect ?
– Emphasis for these architects may be more on detailed
design
– May not pay as much attention to other aspects of
Architecture plans
• Perhaps we should be asking
“How much
should architects code?”
Copyright © 2007, Rob Daigneau, All rights reserved
Why ItWhy It’s Good To Keep’s Good To Keep
CodingCoding
• Abstractions will only take
you so far
– Many developers need to see code
– Code helps to find flaws
• Helps to tear down the
Ivory Tower
– Increases credibility
– Helps you understand developer
perspective
• Allows you to cut through
vendor hype
… or staying in shape
Copyright © 2007, Rob Daigneau, All rights reserved
A Parable from Star TrekA Parable from Star Trek
Dangers
– When you’re on the
front-line,
who’s
watching to see that
the ship stays on
course?
– A problem of
bandwidth
• The senior-most officers couldn’t delegate
– Were always members of the landing parties
Copyright © 2007, Rob Daigneau, All rights reserved
Architects Should Be Like FlightArchitects Should Be Like Flight
DirectorsDirectors
• Mission Control had many senior engineers
The Flight Director
– Coordinated work of
specialists
• Solicited recommendations
and decisions
• Didn’t do their work
– Made the final call when
necessary
– Was accountableaccountable
Copyright © 2007, Rob Daigneau, All rights reserved
WhatWhat’s Happening to Me?’s Happening to Me?
• Changes …
– Keeping up with trends, changes in
languages, frameworks, tools, etc.
will be harder
– Your coding skills may slip
– Will probably be in more meetings
and have to deal with more politics
• Let Go
– Resist impulse to jump in because
you think you can get it done faster
ConclusionConclusion

More Related Content

Similar to Becoming an Architect

Agile architecture
Agile architectureAgile architecture
Agile architecturePaul Preiss
 
Importance of Software architecture
Importance of Software architectureImportance of Software architecture
Importance of Software architectureSteve Essich
 
ASAS 2013 - There's no architecture, only business
ASAS 2013 - There's no architecture, only businessASAS 2013 - There's no architecture, only business
ASAS 2013 - There's no architecture, only businessAvisi B.V.
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture IntroductionSARCCOM
 
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introductionFreddy Munandar
 
Enterprise reference architecture v1.1.ppt
Enterprise reference architecture   v1.1.pptEnterprise reference architecture   v1.1.ppt
Enterprise reference architecture v1.1.pptAhmed Fattah
 
An introduction to architecture and architects
An introduction to architecture and architectsAn introduction to architecture and architects
An introduction to architecture and architectswweinmeyer79
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptswweinmeyer79
 
Being in Charge of but not in Control over Technology Enabled Business Transf...
Being in Charge of but not in Control over Technology Enabled Business Transf...Being in Charge of but not in Control over Technology Enabled Business Transf...
Being in Charge of but not in Control over Technology Enabled Business Transf...Mikkel Brahm
 
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan OrmeBizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan OrmeMark A
 
Solution architecture
Solution architectureSolution architecture
Solution architectureiasaglobal
 
The Profession Of IT Architecture
The Profession Of IT ArchitectureThe Profession Of IT Architecture
The Profession Of IT ArchitectureChristopher Grant
 
Design System Proposal
Design System ProposalDesign System Proposal
Design System ProposalCharlie Weston
 
Who needs EA… when we have DevOps?
Who needs EA… when we have DevOps?Who needs EA… when we have DevOps?
Who needs EA… when we have DevOps?Jeff Jakubiak
 
David baker pwc
David baker pwc David baker pwc
David baker pwc sharmm
 
LeanIX_Poster_EA_vs_SA_vs_
LeanIX_Poster_EA_vs_SA_vs_LeanIX_Poster_EA_vs_SA_vs_
LeanIX_Poster_EA_vs_SA_vs_ShahidMansoor11
 
Introto soa annethomasmanes
Introto soa annethomasmanesIntroto soa annethomasmanes
Introto soa annethomasmanesBahavar Tavakoli
 
The tension between agile and architecture
The tension between agile and architectureThe tension between agile and architecture
The tension between agile and architecturePeter Hendriks
 

Similar to Becoming an Architect (20)

Agile architecture
Agile architectureAgile architecture
Agile architecture
 
Importance of Software architecture
Importance of Software architectureImportance of Software architecture
Importance of Software architecture
 
ASAS 2013 - There's no architecture, only business
ASAS 2013 - There's no architecture, only businessASAS 2013 - There's no architecture, only business
ASAS 2013 - There's no architecture, only business
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
 
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introduction
 
Enterprise reference architecture v1.1.ppt
Enterprise reference architecture   v1.1.pptEnterprise reference architecture   v1.1.ppt
Enterprise reference architecture v1.1.ppt
 
An introduction to architecture and architects
An introduction to architecture and architectsAn introduction to architecture and architects
An introduction to architecture and architects
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Being in Charge of but not in Control over Technology Enabled Business Transf...
Being in Charge of but not in Control over Technology Enabled Business Transf...Being in Charge of but not in Control over Technology Enabled Business Transf...
Being in Charge of but not in Control over Technology Enabled Business Transf...
 
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan OrmeBizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
 
Solution architecture
Solution architectureSolution architecture
Solution architecture
 
The Profession Of IT Architecture
The Profession Of IT ArchitectureThe Profession Of IT Architecture
The Profession Of IT Architecture
 
DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
 
Design System Proposal
Design System ProposalDesign System Proposal
Design System Proposal
 
SridharPS _New
SridharPS _NewSridharPS _New
SridharPS _New
 
Who needs EA… when we have DevOps?
Who needs EA… when we have DevOps?Who needs EA… when we have DevOps?
Who needs EA… when we have DevOps?
 
David baker pwc
David baker pwc David baker pwc
David baker pwc
 
LeanIX_Poster_EA_vs_SA_vs_
LeanIX_Poster_EA_vs_SA_vs_LeanIX_Poster_EA_vs_SA_vs_
LeanIX_Poster_EA_vs_SA_vs_
 
Introto soa annethomasmanes
Introto soa annethomasmanesIntroto soa annethomasmanes
Introto soa annethomasmanes
 
The tension between agile and architecture
The tension between agile and architectureThe tension between agile and architecture
The tension between agile and architecture
 

Recently uploaded

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Becoming an Architect

  • 1. Copyright © 2007, Rob Daigneau, All rights reserved Becoming an ArchitectBecoming an Architect
  • 2. Copyright © 2007, Rob Daigneau, All rights reserved OverviewOverview • The Discipline of Architecture • Architectural Decisions and Their Consequences • Components of Typical Architecture Plans • The Skills Required to do the Job • The Passage from Developer to Architect
  • 3. Copyright © 2007, Rob Daigneau, All rights reserved About MeAbout Me • Principal of ArcSage, Inc. • Addison WesleyAddison Wesley author – Currently working on Service Design PatternsService Design Patterns book • Chief Architect • Director of Architecture
  • 4. The Discipline of Architecture
  • 5. Copyright © 2007, Rob Daigneau, All rights reserved What Does It Mean To Be An Architect? No agreement
  • 6. Copyright © 2007, Rob Daigneau, All rights reserved LetLet’s start here …’s start here … 2. A person who designs and guides a plan or undertaking. 1. A person who designs buildingsbuildings and advises in their constructiontheir construction. From Webster’s Dictionary
  • 7. Copyright © 2007, Rob Daigneau, All rights reserved Let’s replace a few words … 2. A person who designs and guides a planguides a plan or undertaking related to software systemssoftware systems designdesign.. 1. A person who designs software systemssoftware systems and advises in the design ofthe design of such systemssuch systems.
  • 9. Copyright © 2007, Rob Daigneau, All rights reserved Fundamental organizationorganization of a system embodied in its componentscomponents, their relationshipsrelationships to each other and the environment, and the principlesprinciples governing its design and evolution IEEE 1471-2000
  • 10. Copyright © 2007, Rob Daigneau, All rights reserved Booch, Kruchten, Reitman, Bittner, Shaw the set of significant decisionssignificant decisions about the organization of a software system Selection of the structural elementsstructural elements and their interfacesinterfaces by which a system is composed BehaviorBehavior as specified in collaborations among those elements
  • 11. Copyright © 2007, Rob Daigneau, All rights reserved Architecture is generally concerned with design at higher levels of abstraction … • Emphasis is on general organization, relationships
  • 12. Copyright © 2007, Rob Daigneau, All rights reserved … Architecture might also look at “lower level concerns” • These types of architects may look at “the How’s” • The altitude at which architects fly can be contentious • Get your RACI right
  • 13. Copyright © 2007, Rob Daigneau, All rights reserved The Many Species ofThe Many Species of ArchitectsArchitects More Strategic More productsFewer products CTOCTO More Tactical • Product Architect – Typically leads design of one or a few products – Tends to be more “hands on” • Enterprise Architect – Aligns use of technologies with strategic business initiatives – Drives for consistency in product design, methodologies, tools, etc., across the enterprise – Provides oversight • CTO – Highest level of oversight – Manages budgets, SLAs, and contracts EnterpriseEnterprise ArchitectArchitectProductProduct ArchitectArchitect • Others: e.g. Infrastructure, Data, etc.
  • 14. Copyright © 2007, Rob Daigneau, All rights reserved The Influence ofThe Influence of ArchitectureArchitecture Architecture Plans and Principles Detailed Design Project Plans Team Structures Business Requirements Business strategy, tactics, and trends SLAs and Technical Requirements
  • 15. Copyright © 2007, Rob Daigneau, All rights reserved When Do Architects Typically GetWhen Do Architects Typically Get Involved?Involved? The Traditional ViewThe Traditional View –– Booooooo !!!!!Booooooo !!!!! Product Definition Requirements Analysis Technical Design Implementation Test Rollout
  • 16. Copyright © 2007, Rob Daigneau, All rights reserved When Do Architects Typically GetWhen Do Architects Typically Get Involved?Involved? The Agile ViewThe Agile View Product Definition Requirements Analysis Technical Design Implementation Test Release Product Definition Requirements Analysis Technical Design Implementation Test Product Definition Requirements Analysis Technical Design Implementation Test Release Release Iteration 1 Iteration 2 Iteration 3
  • 18. Copyright © 2007, Rob Daigneau, All rights reserved Architecture is like ConcreteArchitecture is like Concrete …… once it sets,once it sets, itit’s really hard’s really hard to changeto change
  • 19. Copyright © 2007, Rob Daigneau, All rights reserved Quality of ServiceQuality of Service AttributesAttributes • Adaptability – Maintainability, Extensibility • (Resource) Efficiency • Interoperability • Manageability • Availability • Performance – e.g. Throughput, Response Time • Scalability • Robustness, Resilience • i.e. Fault tolerance, Disaster Recovery • Security – Authentication, Authorization, Privacy, etc.
  • 20. Copyright © 2007, Rob Daigneau, All rights reserved Compatible GoalsCompatible Goals Many goals do not oppose each other, e.g. … AdaptabilityAdaptability InteroperabilityInteroperability ManageabilityManageability PortabilityPortabilityLocalizationLocalization
  • 21. Copyright © 2007, Rob Daigneau, All rights reserved You CanYou Can’t Have it All’t Have it All • All architectural decisions have positive and negative consequences • A movement to optimize one thing may cause a trade-off on something else
  • 22. Copyright © 2007, Rob Daigneau, All rights reserved Evaluating Trade-offs PartEvaluating Trade-offs Part 11 Your GoalYour Goal Faster DeliveryFaster Delivery Lower CostLower Cost Lower ComplexityLower Complexity
  • 23. Copyright © 2007, Rob Daigneau, All rights reserved Some goals naturally compete against each other PerformancePerformance AdaptabilityAdaptability SecuritySecurity Evaluating Trade-offs PartEvaluating Trade-offs Part 22 PortabilityPortability
  • 24. Copyright © 2007, Rob Daigneau, All rights reserved • (Strategic) Architecture Plans • (Tactical) Product Architecture • Guidelines, Principles, and Standards Components of Typical Architecture Plans
  • 25. Copyright © 2007, Rob Daigneau, All rights reserved • Watch out for the tendency to dive deep early on – Can get stuck – Won’t see big picture • The Power of Abstraction (business and technical) – Iterative top-down decomposition approach is “faster” – Increases chance of understanding dependencies Be Careful of SubmariningBe Careful of Submarining
  • 26. Copyright © 2007, Rob Daigneau, All rights reserved Strategic Architecture PlansStrategic Architecture Plans -- Guiding PrinciplesGuiding Principles • Key concepts to guide … – The selection of technologies – Future decisions made for • Detailed (Physical) Design • Deployment/Execution Architecture • Operations Architecture • Influenced by – Business and Technical Requirements Examples • QOS Attributes • Buy vs. Build Philosophy • When/where to use Open Source • Approach used for Product Evaluations • Use of OO, SOA, AOP, etc.
  • 27. Copyright © 2007, Rob Daigneau, All rights reserved • High level description of – Major Subsystems and Integrations • Usually – Looks out several years – Shows evolution from “As-is” to “To-Be” architecture in several diagrams and narratives – Shows how business capabilities mapped to subsystems • Functions as a communication device Strategic Architecture PlansStrategic Architecture Plans -- Architecture RoadmapsArchitecture Roadmaps Marketing System CRM General Ledger eCommerce Application Enterprise Resource Planning Product Catalog Order & Fulfillment Inventory Distributors
  • 28. Copyright © 2007, Rob Daigneau, All rights reserved • Pertains to … – Deployment Architecture – Operations Architecture – Frameworks, Developer tools, languages, etc. • Techniques – Formal Approaches • RFIs, RFPs, Vendor Bake-offs – Proof-of-Concepts and Pilot Projects Strategic Architecture PlansStrategic Architecture Plans -- Evaluation and Selection ofEvaluation and Selection of TechnologiesTechnologies
  • 29. Copyright © 2007, Rob Daigneau, All rights reserved Strategic Architecture PlansStrategic Architecture Plans -- Product Release StrategiesProduct Release Strategies • Outlines how business capabilities are fulfilled over multiple product releases • Aligned with Architecture Roadmaps • Agile tends to focus on immediate iteration – Does Agile forsake strategy? NO !! • Might not be managed by the Architect – Depends on the organization
  • 30. Copyright © 2007, Rob Daigneau, All rights reserved The Product Architecture PlanThe Product Architecture Plan –– Technical RequirementsTechnical Requirements • i.e. “Non-functional” Requirements – Identifies system requirements that are not specific to the business (i.e. functional) requirements – The “ilities” we discussed above
  • 31. Copyright © 2007, Rob Daigneau, All rights reserved • Precedes physical design • Might be considered an analysis tool – Supports use-cases or user stories – Used as input to physical design The Product ArchitectureThe Product Architecture Plan -Plan - Logical ModelsLogical Models • Defines High Level … – Organizational Structures – Relationships, interactions – Responsibilities – Behaviors • Platform independent Customer Contract Order ProductPricing
  • 32. Copyright © 2007, Rob Daigneau, All rights reserved • Helps business and technology stakeholders – Get better understanding of problem domain – Identify flaws, issues, and challenges early – Explore alternatives • Techniques – Domain-Driven Design • High level Class Diagrams – Flowcharts, Workflows – High Level Entity Relationship Diagrams Submit Order Fraud Check Credit Check Decrement Inventory & Provision G/L Entry Fulfillment The Product ArchitectureThe Product Architecture Plan -Plan - Logical ModelsLogical Models
  • 33. Copyright © 2007, Rob Daigneau, All rights reserved The Product ArchitectureThe Product Architecture Plan -Plan - Identification of Logical LayersIdentification of Logical Layers • Addresses “Separation of Concerns” Marketing Service Customer Service Order Service Domain Model Data Access Application Database – Shows how logic will be segmented by purpose • Doesn’t show detailed interfaces • Benefits of layering – Promotes maintainability through high cohesion – Allows independent evolution of logic in different layers – Facilitates reuse or sharing of logic Infrastructure
  • 34. Copyright © 2007, Rob Daigneau, All rights reserved Web/App Server Application App Server Marketing Service Customer Service Order Service Domain Model Data Access Database Server Order Database Customer Database Marketing Database • a.k.a. Execution Architecture • Shows how layers are deployed to physical tiers • Hardware, Capacity plans – Server sizing (CPU, Memory, Disk) – Network topology • Design of Logical Environments – Development, Integration, QA, Staging, Production The Product Architecture Plan -The Product Architecture Plan - Deployment ArchitectureDeployment Architecture Infrastructure
  • 35. Copyright © 2007, Rob Daigneau, All rights reserved For theFor the Engineers/Developers -Engineers/Developers - Physical DesignPhysical Design• Detailed design – Services, Major Interfaces, Classes – Use of Design Patterns – Integrations • Messages, Triggering Events, Transforms, etc. • Usually Platform specific … – e.g. Database schemas, Language specific class design • Agile cautions against “Big Design Up Front” (BDUF)
  • 36. Copyright © 2007, Rob Daigneau, All rights reserved Guidelines and StandardsGuidelines and Standards • Coding Standards • Source Code Management – Versioning – Branch and Merge approaches • Testing – Unit testing, Integration, Regression, Performance, Stress, UAT • Production Rollout and Rollback Procedures • Governance – Change control over Service Contracts, Interfaces, business logic • Many of these may not be done by the architect … often a shared responsibility; depends on the organization
  • 38. Copyright © 2007, Rob Daigneau, All rights reserved TheThe “Easy” Skills“Easy” Skills • Abstraction – Business and technical concepts • OO Concepts – e.g. Encapsulation, Inheritance, Composition, Polymorphism, Inversion of Control • Analysis and Modeling Techniques – e.g. UML, DFD, ERD, Network Diagrams • Relational Databases – Normalization, Transaction and Concurrency Management, Data Integrity
  • 39. Copyright © 2007, Rob Daigneau, All rights reserved TheThe “Easy” Skills“Easy” Skills • SDLC Methodologies – Prescriptive (e.g. Waterfall, RUP) vs. Adaptive approaches (e.g. Agile) • Estimating • Project management – Task planning, schedule estimation, monitoring, reporting, risk management, budget management, etc. • Business concepts, knowledge of problem domain
  • 40. Copyright © 2007, Rob Daigneau, All rights reserved The Hard Skills are the SoftThe Hard Skills are the Soft SkillsSkills • Mentoring, Consulting, Coaching, Delegation – Wise architects let people choose their own paths – Architects shouldn’t drive everything – Wisdom acquired from own mistakes
  • 41. Copyright © 2007, Rob Daigneau, All rights reserved The Hard Skills are the SoftThe Hard Skills are the Soft SkillsSkills • Persuasion, Influence – May not have authority • Politician, Negotiator, – Must … • Be Pragmatic • Able to Compromise
  • 42. Copyright © 2007, Rob Daigneau, All rights reserved Develop Patience, LetDevelop Patience, Let GoGo • Seek to understand “their” Fears, Uncertainty, and Doubts (i.e. FUD) – Empathasize, develop trust • If you’re trying to introduce change … – Recognize that progress might only be made in inches rather than miles – Every little step in the right direction is a good thing. • Architecture initiatives often have a lower priority
  • 44. Copyright © 2007, Rob Daigneau, All rights reserved Architects andArchitects and DevelopersDevelopers Effective Architects areEffective Architects are full members of thefull members of the development teamsdevelopment teams
  • 45. Copyright © 2007, Rob Daigneau, All rights reserved Should Architects Code?Should Architects Code? • It depends … – What kind of Architect are you? – How big is your product and your team? • Are Product Architects actually Lead Developers? – a.k.a. Application Architect ? – Emphasis for these architects may be more on detailed design – May not pay as much attention to other aspects of Architecture plans • Perhaps we should be asking “How much should architects code?”
  • 46. Copyright © 2007, Rob Daigneau, All rights reserved Why ItWhy It’s Good To Keep’s Good To Keep CodingCoding • Abstractions will only take you so far – Many developers need to see code – Code helps to find flaws • Helps to tear down the Ivory Tower – Increases credibility – Helps you understand developer perspective • Allows you to cut through vendor hype … or staying in shape
  • 47. Copyright © 2007, Rob Daigneau, All rights reserved A Parable from Star TrekA Parable from Star Trek Dangers – When you’re on the front-line, who’s watching to see that the ship stays on course? – A problem of bandwidth • The senior-most officers couldn’t delegate – Were always members of the landing parties
  • 48. Copyright © 2007, Rob Daigneau, All rights reserved Architects Should Be Like FlightArchitects Should Be Like Flight DirectorsDirectors • Mission Control had many senior engineers The Flight Director – Coordinated work of specialists • Solicited recommendations and decisions • Didn’t do their work – Made the final call when necessary – Was accountableaccountable
  • 49. Copyright © 2007, Rob Daigneau, All rights reserved WhatWhat’s Happening to Me?’s Happening to Me? • Changes … – Keeping up with trends, changes in languages, frameworks, tools, etc. will be harder – Your coding skills may slip – Will probably be in more meetings and have to deal with more politics • Let Go – Resist impulse to jump in because you think you can get it done faster

Editor's Notes

  1. Note: Architects are not PMs or Business Analysts however While architects should be competent with requirements definition, they probably won’t do this as a primary function of their role Agile argues that there should be no plan but the one for the immediate iteration, and even that is under debate Before we determine whether or not plans or useful, lets lay out what the plans encompass
  2. Note: These differences may be attributable to Agile’s perspective on the Architect and Strategy in general For Agilists, the Architect is more of a technical lead This explains, in part, why the Architect involvement is more constant Could it be that Agile is tactical by nature with less concern for strategy?
  3. e.g. More responsive systems take longer, cost more, and tend to be more complex
  4. - e.g. use of layering, principles on dependency management, cohesion, coupling, the “abilities”, data management, use of open standards
  5. For example Q1: Negotiated rates for high volume customers Q3: Advanced cross-sell options Q4: Closed-loop marketing campaigns
  6. Exhibit restraint Don’t try to get all data types or relationships just right Don’t try to show relationships in ways that they’ll be implemented on target platform
  7. Exhibit restraint Don’t try to get all data types or relationships just right Don’t try to show relationships in ways that they’ll be implemented on target platform
  8. This, along with the layering approach and deployment architecture, is what many people think architecture is about However, this may not be done by the architect
  9. Again, much of this may not be done by the architect
  10. Persuasion Depends on the strength of your arguments, but also influenced by relationships, trust, culture, and private agendas of those who you would persuade Must know when to let others drive the ideas
  11. Proof-of-Concepts, Reference Architectures, Prototypes
  12. 1st row: The Trench … monitors launch vehicle, spacecraft trajectory, landings, etc 2nd row: Flight Surgeon, Electrical and Environmental Systems 3rd row: Procedures manager, Flight schedule manager, Flight Director