SlideShare une entreprise Scribd logo
1  sur  41
s
mPsychology GmbH
Jonathan Holloway Co-Founder I CTO
CTO Meetup
The Role of The Architect
s
Welcome….
s
Tonight
1
Few points in the presentation where would like some feedback
Questions - At the end please : ) or maybe at the end of each section…
s
Some caveats
Architecture is contentious - various perspectives
Basis for presentation is on:
• TOGAF architecture framework training/certification
• Company based experience - over one or two companies
• Based on various books (will list at the end):
• Ambler - agile modelling
• Brown - architecture for software developers
s
Architecture - Scope
Role of the Architect Solution Mapping
Technical Architecture
Non Functional
Requirements
s
Before I Start…
Just a quick survey, straw person poll
How many people here code?
How many people are involved in an architectural role?
s
Role of the Architect
s
What does an architect do?
It depends…
Let’s look at some common architecture definitions
1 2 3 4 5
s
Architecture Definitions
Enterprise Architecture - huh?
Map business drivers and strategy onto projects, optimise processes etc..
Solutions Architecture
Business analysis, plan to a component level
Technical Architecture
Design of components, how they interact (with the solutions architect)
1 2 3 4 5
s
What does an architect do?
Role taken up by someone in a team? < I like this one
Understand the architectural drivers, design a technical strategy
Understand things which are costly to change
Understand how things evolve and how difficult that is
Know how to map between what’s there today and a target architecture
Understand the bigger picture
Communicate
Mitigate risks on a project
1 2 3 4 5
s
Where does an architect fit on a project?
1. Product Owner - what
2. Architect Owner - how
3. Project Manager - when
A conversation and negotiation between all three on a project is important
1 2 3 4 5
s
We use productboard.com currently to plan:
• Feature Development and Release Management
• Roadmap - visual generation of a roadmap (no more powerpoints)
That covers the functional side, how do we cover the other aspects?
• Design the framework into which the features fit
• Maybe the feature doesn’t fit yet
As an architect define how your system will evolve
1 2 3 4 5
s
Do you end up with a consistent structure that people agree on?
Do features get implemented in the same way?
What is the impact to software quality?
Are the non-functionals well understood?
Are people communicating?
Is there governance around what to do technically?
What happens if you don’t have the architect role?
1 2 3 4 5
s
Architecture Frameworks
There are frameworks that aim to map business drivers onto technology
implementation at various different levels
TOGAF, Zachman provide enterprise architecture guidance
Overkill? For most projects - probably. Good principles.
Lightweight frameworks also available (e..g LEAF)
But these do not describe technical architecture
or how to run the project
1 2 3 4 5
s
Architect Anti Patterns
Some anti-patterns
The Ivory Tower/Seagull Architect
• No coding experience or detached from system
• Draw a diagram and throw it over the wall
Technical Architect/Developer Forever
• Just code, don’t communicate, everybody else is wrong : )
There has to be a balance between design and code
1 2 3 4 5
s
Solutions, Modelling and Stuff
s
Mapping High Level Solutions
Knowing how to map a problem onto a high level solution,
There are some important architectural aspects to consider:
• Infrastructure - Hosted, Cloud, Hybrid
• Platform - Monolith, Microservice (Big difference)
• Architectural Style - Pipes and Filters, Transaction Script, Domain Driven
• Application Packaging - application, infrastructure, util
• Naming Conventions - so so important, should match
1 2 3 4 5
s
Views
Architecture is about viewpoints
1 2 3 4 5
s
BDAT (Split the Architecture into Views)
1 2 3 4 5
s
Models
Models help to express the architecture
e.g. User Experience - personas, wireframes and usability testing
Models that are relatively little effort to update are good
e.g. Swagger/Open API specification provides a specification that you can
generate code from.
1 2 3 4 5
s
How Much Do I Model?
Produce models only when you need them
Bare minimum for requirements - just enough
No Design vs Agile Design vs Big Up Front Design
Agile Modelling provides a good set of principles to follow
1 2 3 4 5
s
Agile Modelling - Primer
1 2 3 4 5
s
What Do You Want to Convey?
What Diagrams?
• Context Diagram - explains concepts and the bigger picture
• Deployment Diagram - explains main components, how they fit together
• Component Diagram - useful to describe the innards of your application
Use them to form a strawman architecture for people to critique
Quick survey: What other types of diagram do you find really useful?
e.g. State Diagram
1 2 3 4 5
s
Example 1 - Context Diagram
1 2 3 4 5
s
Example 2 - Deployment Diagram
1 2 3 4 5
s
Example 3 - Component Diagram
1 2 3 4 5
s
Models are good, but we need more context
Grounded in some sort of design
Linked to our user stories
Providing the how to the what
1 2 3 4 5
s
What goes in a design doc/software guidebook?
Lots of Confusion Here
What problem are your solving?
Terminology - define acronyms
Risks
Deployment and Ops Concerns
Components
Use Cases
Interfaces/API’s - Internal and External
Item Overview
Design Diagram
Collaborators
System Qualities
Test Harnesses (if required)
1 2 3 4 5
s
How do you represent your design?
Few options:
• Github Wiki - link to tickets and user stories
• Confluence - keep design and requirements together
• Google Docs?
Any other solutions that people want to share?
1 2 3 4 5
s
Technical Architecture
s
Technical Architecture
Some items that come up in technical architecture include:
• Architectural Styles - what they are, some reading points…
• Architecture Anti-Patterns - knowing what to avoid…
• Technology Selection - how to do it or what happens when somebody
has an idea?
1 2 3 4 5
s
Architectural Styles
Know some basic architectural styles, three important ones:
Transaction Script (Fowler) - services that build DTO’s call DAO’s
Domain Driven (Evans) - operations and data together
Pipes and Filters (Fowler) - set of processing steps
Patterns of enterprise application architecture is decent
1 2 3 4 5
s
Some Examples
• Big Ball of Mud
• Speculative Generality and Useless Abstractions
• Efferent and Afferent Coupling
• Single Responsibility Principle and SOLID principles
Great Resource
Source Making
Architecture Anti Patterns
1 2 3 4 5
s
Technology Selection
What are your dev team familiar with language wise?
How widely is the library/framework being proposed used?
Is it under active development - Github stars, number of commits
How much training/learning/time is involved to upskill the team?
Don’t just agree, spike/build prototype and get to know what you’re about
to adopt
Ohloh/Openhub.net is decent for research
1 2 3 4 5
s
Technology Selection
1 2 3 4 5
s
Non Functional Requirements
1 2 3 4 5
s
Non Functional Requirements
Why are they important?
Define the qualities you want your system to have,
• Performance, usability, robustness, security
• How do people know if you don’t specify them?
It was meant to support 1000 users concurrently with one action?
Lots of projects #fail due to mis-understanding of these or non
1 2 3 4 5
s
Non Functional Requirements
Various models
FURPS+
• Came from HP
ISO 25010
• Defines a product quality model based on eight characteristics
1 2 3 4 5
s
Testing NFR’s
If you don’t specify - you don’t get
Non functional requirements are good to specify
Test engineers/QA’s have hooks to test the system for
Can ask developers how it meets those requirements
• Chaos Monkey - simulate failure
• Performance Tests - measure RPS using JMeter/Locust/BlazeMeter
• Can work with devops engineers on this or ideally do it themselves
1 2 3 4 5
s
Resources
s
Market
Questions?

Contenu connexe

Tendances

Futuristic architecture dynamic architecture
Futuristic architecture    dynamic architectureFuturistic architecture    dynamic architecture
Futuristic architecture dynamic architectureSoumitra Smart
 
Master plan-Architecture school 4th yr project 3
Master plan-Architecture school 4th yr project 3Master plan-Architecture school 4th yr project 3
Master plan-Architecture school 4th yr project 3Aden Saitabau Kumary
 
RIBA,IIA,AIA,PCAPT COMPARSION IN DETAIL
RIBA,IIA,AIA,PCAPT COMPARSION IN DETAILRIBA,IIA,AIA,PCAPT COMPARSION IN DETAIL
RIBA,IIA,AIA,PCAPT COMPARSION IN DETAILIrfan Ullah
 
Architectural skills development centre
Architectural skills development centreArchitectural skills development centre
Architectural skills development centrePrachi Gupta
 
Architect as a project manager
Architect as a project managerArchitect as a project manager
Architect as a project managerJackson Sampson
 
Natural ventilation in High-rise office buildings
Natural ventilation in High-rise office buildings Natural ventilation in High-rise office buildings
Natural ventilation in High-rise office buildings Dania Abdel-aziz
 
Carisoul Architecture Co. Ltd - Company rofile
Carisoul Architecture Co. Ltd - Company rofileCarisoul Architecture Co. Ltd - Company rofile
Carisoul Architecture Co. Ltd - Company rofileJo-Ann D.M. Murrell
 
Architecture Professional practice
Architecture Professional  practice Architecture Professional  practice
Architecture Professional practice Ar. Mukunda K.S
 
Indian architects act, 1972
Indian architects act, 1972Indian architects act, 1972
Indian architects act, 1972Sanjay Kumbhare
 
BREEAM: past, present and future
BREEAM: past, present and futureBREEAM: past, present and future
BREEAM: past, present and futureIES VE
 
Social Spaces: Lessons from Radical Architects
Social Spaces: Lessons from Radical ArchitectsSocial Spaces: Lessons from Radical Architects
Social Spaces: Lessons from Radical ArchitectsChristina Wodtke
 
building services in a building
building services in a buildingbuilding services in a building
building services in a buildingBarsha
 
Lec 4 introducing architectural theories
Lec 4 introducing architectural theoriesLec 4 introducing architectural theories
Lec 4 introducing architectural theoriesMuhammad Muhyuddin
 
ARCHITECTURE PROFESSIONAL PRACTICE
ARCHITECTURE PROFESSIONAL PRACTICE ARCHITECTURE PROFESSIONAL PRACTICE
ARCHITECTURE PROFESSIONAL PRACTICE Gai3 Segar
 
vernacular architecture
vernacular architecture vernacular architecture
vernacular architecture amzathkhan7
 
sustainable housing case study
sustainable housing case studysustainable housing case study
sustainable housing case studyAr. Prerna Chouhan
 

Tendances (20)

Futuristic architecture dynamic architecture
Futuristic architecture    dynamic architectureFuturistic architecture    dynamic architecture
Futuristic architecture dynamic architecture
 
Master plan-Architecture school 4th yr project 3
Master plan-Architecture school 4th yr project 3Master plan-Architecture school 4th yr project 3
Master plan-Architecture school 4th yr project 3
 
Theory of Architecture
Theory  of ArchitectureTheory  of Architecture
Theory of Architecture
 
RIBA,IIA,AIA,PCAPT COMPARSION IN DETAIL
RIBA,IIA,AIA,PCAPT COMPARSION IN DETAILRIBA,IIA,AIA,PCAPT COMPARSION IN DETAIL
RIBA,IIA,AIA,PCAPT COMPARSION IN DETAIL
 
Architectural skills development centre
Architectural skills development centreArchitectural skills development centre
Architectural skills development centre
 
Architect as a project manager
Architect as a project managerArchitect as a project manager
Architect as a project manager
 
Natural ventilation in High-rise office buildings
Natural ventilation in High-rise office buildings Natural ventilation in High-rise office buildings
Natural ventilation in High-rise office buildings
 
Carisoul Architecture Co. Ltd - Company rofile
Carisoul Architecture Co. Ltd - Company rofileCarisoul Architecture Co. Ltd - Company rofile
Carisoul Architecture Co. Ltd - Company rofile
 
235562808 coffered-slab
235562808 coffered-slab235562808 coffered-slab
235562808 coffered-slab
 
Architecture Professional practice
Architecture Professional  practice Architecture Professional  practice
Architecture Professional practice
 
Indian architects act, 1972
Indian architects act, 1972Indian architects act, 1972
Indian architects act, 1972
 
BREEAM: past, present and future
BREEAM: past, present and futureBREEAM: past, present and future
BREEAM: past, present and future
 
Green buildings case study
Green buildings case studyGreen buildings case study
Green buildings case study
 
Social Spaces: Lessons from Radical Architects
Social Spaces: Lessons from Radical ArchitectsSocial Spaces: Lessons from Radical Architects
Social Spaces: Lessons from Radical Architects
 
building services in a building
building services in a buildingbuilding services in a building
building services in a building
 
Lec 4 introducing architectural theories
Lec 4 introducing architectural theoriesLec 4 introducing architectural theories
Lec 4 introducing architectural theories
 
ARCHITECTURE PROFESSIONAL PRACTICE
ARCHITECTURE PROFESSIONAL PRACTICE ARCHITECTURE PROFESSIONAL PRACTICE
ARCHITECTURE PROFESSIONAL PRACTICE
 
vernacular architecture
vernacular architecture vernacular architecture
vernacular architecture
 
sustainable housing case study
sustainable housing case studysustainable housing case study
sustainable housing case study
 
Auroville Architecture
Auroville ArchitectureAuroville Architecture
Auroville Architecture
 

En vedette

The Architectural Process
The Architectural ProcessThe Architectural Process
The Architectural ProcessShaun Pilgrem
 
Ici and itd project 1
Ici and itd project 1Ici and itd project 1
Ici and itd project 1xennechau
 
Architectural Design Process
Architectural Design ProcessArchitectural Design Process
Architectural Design ProcessKhaled Almusa
 
Professional Practice for Architecture II
Professional Practice for Architecture IIProfessional Practice for Architecture II
Professional Practice for Architecture IIAr. Mukunda K.S
 
The Role Of An Architect
The Role Of An ArchitectThe Role Of An Architect
The Role Of An Architectllangit
 

En vedette (7)

The Architectural Process
The Architectural ProcessThe Architectural Process
The Architectural Process
 
Ici and itd project 1
Ici and itd project 1Ici and itd project 1
Ici and itd project 1
 
PILINH RIG OPERATOR
PILINH RIG OPERATORPILINH RIG OPERATOR
PILINH RIG OPERATOR
 
Architectural Design Process
Architectural Design ProcessArchitectural Design Process
Architectural Design Process
 
Professional Practice for Architecture II
Professional Practice for Architecture IIProfessional Practice for Architecture II
Professional Practice for Architecture II
 
Site Possession
Site PossessionSite Possession
Site Possession
 
The Role Of An Architect
The Role Of An ArchitectThe Role Of An Architect
The Role Of An Architect
 

Similaire à The Role of the Architect

Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?iasaglobal
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)IT Arena
 
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
 
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-0399X Technology
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for ArchitectsEberhard Wolff
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architektenadesso AG
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2Jim Brisson
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptswweinmeyer79
 
An Introduction To Fundamental Architecture Concepts
An Introduction To Fundamental Architecture ConceptsAn Introduction To Fundamental Architecture Concepts
An Introduction To Fundamental Architecture ConceptsHannah Baker
 
Agile architecture upload
Agile architecture uploadAgile architecture upload
Agile architecture uploadThe Real Dyl
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfSanRock2
 
Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharingJas Chong
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashedlivgeni
 
Exploring a Designer and Developer Workflow
Exploring a Designer and Developer WorkflowExploring a Designer and Developer Workflow
Exploring a Designer and Developer WorkflowDevelopmentArc LLC
 

Similaire à The Role of the Architect (20)

Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)
 
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
 
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
 
Software Design
Software DesignSoftware Design
Software Design
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
L16 Documenting Software
L16 Documenting SoftwareL16 Documenting Software
L16 Documenting Software
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Same Patterns, Different Architectures
Same Patterns, Different Architectures Same Patterns, Different Architectures
Same Patterns, Different Architectures
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
An Introduction To Fundamental Architecture Concepts
An Introduction To Fundamental Architecture ConceptsAn Introduction To Fundamental Architecture Concepts
An Introduction To Fundamental Architecture Concepts
 
Agile architecture upload
Agile architecture uploadAgile architecture upload
Agile architecture upload
 
The Modern Software Architect
The Modern Software ArchitectThe Modern Software Architect
The Modern Software Architect
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
 
Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharing
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
Exploring a Designer and Developer Workflow
Exploring a Designer and Developer WorkflowExploring a Designer and Developer Workflow
Exploring a Designer and Developer Workflow
 
Unit 2
Unit 2Unit 2
Unit 2
 

Plus de Jonathan Holloway

Plus de Jonathan Holloway (11)

Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Mockito intro
Mockito introMockito intro
Mockito intro
 
Debugging
DebuggingDebugging
Debugging
 
SOLID principles
SOLID principlesSOLID principles
SOLID principles
 
Application design for the cloud using AWS
Application design for the cloud using AWSApplication design for the cloud using AWS
Application design for the cloud using AWS
 
Building data pipelines
Building data pipelinesBuilding data pipelines
Building data pipelines
 
Introduction to JVM languages and Fantom (very brief)
Introduction to JVM languages and Fantom (very brief)Introduction to JVM languages and Fantom (very brief)
Introduction to JVM languages and Fantom (very brief)
 
Database migration with flyway
Database migration  with flywayDatabase migration  with flyway
Database migration with flyway
 
Lightweight web frameworks
Lightweight web frameworksLightweight web frameworks
Lightweight web frameworks
 
Introduction to using MongoDB with Ruby
Introduction to using MongoDB with RubyIntroduction to using MongoDB with Ruby
Introduction to using MongoDB with Ruby
 

Dernier

(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
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Dernier (20)

(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...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
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
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
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 ...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

The Role of the Architect

  • 1. s mPsychology GmbH Jonathan Holloway Co-Founder I CTO CTO Meetup The Role of The Architect
  • 3. s Tonight 1 Few points in the presentation where would like some feedback Questions - At the end please : ) or maybe at the end of each section…
  • 4. s Some caveats Architecture is contentious - various perspectives Basis for presentation is on: • TOGAF architecture framework training/certification • Company based experience - over one or two companies • Based on various books (will list at the end): • Ambler - agile modelling • Brown - architecture for software developers
  • 5. s Architecture - Scope Role of the Architect Solution Mapping Technical Architecture Non Functional Requirements
  • 6. s Before I Start… Just a quick survey, straw person poll How many people here code? How many people are involved in an architectural role?
  • 7. s Role of the Architect
  • 8. s What does an architect do? It depends… Let’s look at some common architecture definitions 1 2 3 4 5
  • 9. s Architecture Definitions Enterprise Architecture - huh? Map business drivers and strategy onto projects, optimise processes etc.. Solutions Architecture Business analysis, plan to a component level Technical Architecture Design of components, how they interact (with the solutions architect) 1 2 3 4 5
  • 10. s What does an architect do? Role taken up by someone in a team? < I like this one Understand the architectural drivers, design a technical strategy Understand things which are costly to change Understand how things evolve and how difficult that is Know how to map between what’s there today and a target architecture Understand the bigger picture Communicate Mitigate risks on a project 1 2 3 4 5
  • 11. s Where does an architect fit on a project? 1. Product Owner - what 2. Architect Owner - how 3. Project Manager - when A conversation and negotiation between all three on a project is important 1 2 3 4 5
  • 12. s We use productboard.com currently to plan: • Feature Development and Release Management • Roadmap - visual generation of a roadmap (no more powerpoints) That covers the functional side, how do we cover the other aspects? • Design the framework into which the features fit • Maybe the feature doesn’t fit yet As an architect define how your system will evolve 1 2 3 4 5
  • 13. s Do you end up with a consistent structure that people agree on? Do features get implemented in the same way? What is the impact to software quality? Are the non-functionals well understood? Are people communicating? Is there governance around what to do technically? What happens if you don’t have the architect role? 1 2 3 4 5
  • 14. s Architecture Frameworks There are frameworks that aim to map business drivers onto technology implementation at various different levels TOGAF, Zachman provide enterprise architecture guidance Overkill? For most projects - probably. Good principles. Lightweight frameworks also available (e..g LEAF) But these do not describe technical architecture or how to run the project 1 2 3 4 5
  • 15. s Architect Anti Patterns Some anti-patterns The Ivory Tower/Seagull Architect • No coding experience or detached from system • Draw a diagram and throw it over the wall Technical Architect/Developer Forever • Just code, don’t communicate, everybody else is wrong : ) There has to be a balance between design and code 1 2 3 4 5
  • 17. s Mapping High Level Solutions Knowing how to map a problem onto a high level solution, There are some important architectural aspects to consider: • Infrastructure - Hosted, Cloud, Hybrid • Platform - Monolith, Microservice (Big difference) • Architectural Style - Pipes and Filters, Transaction Script, Domain Driven • Application Packaging - application, infrastructure, util • Naming Conventions - so so important, should match 1 2 3 4 5
  • 18. s Views Architecture is about viewpoints 1 2 3 4 5
  • 19. s BDAT (Split the Architecture into Views) 1 2 3 4 5
  • 20. s Models Models help to express the architecture e.g. User Experience - personas, wireframes and usability testing Models that are relatively little effort to update are good e.g. Swagger/Open API specification provides a specification that you can generate code from. 1 2 3 4 5
  • 21. s How Much Do I Model? Produce models only when you need them Bare minimum for requirements - just enough No Design vs Agile Design vs Big Up Front Design Agile Modelling provides a good set of principles to follow 1 2 3 4 5
  • 22. s Agile Modelling - Primer 1 2 3 4 5
  • 23. s What Do You Want to Convey? What Diagrams? • Context Diagram - explains concepts and the bigger picture • Deployment Diagram - explains main components, how they fit together • Component Diagram - useful to describe the innards of your application Use them to form a strawman architecture for people to critique Quick survey: What other types of diagram do you find really useful? e.g. State Diagram 1 2 3 4 5
  • 24. s Example 1 - Context Diagram 1 2 3 4 5
  • 25. s Example 2 - Deployment Diagram 1 2 3 4 5
  • 26. s Example 3 - Component Diagram 1 2 3 4 5
  • 27. s Models are good, but we need more context Grounded in some sort of design Linked to our user stories Providing the how to the what 1 2 3 4 5
  • 28. s What goes in a design doc/software guidebook? Lots of Confusion Here What problem are your solving? Terminology - define acronyms Risks Deployment and Ops Concerns Components Use Cases Interfaces/API’s - Internal and External Item Overview Design Diagram Collaborators System Qualities Test Harnesses (if required) 1 2 3 4 5
  • 29. s How do you represent your design? Few options: • Github Wiki - link to tickets and user stories • Confluence - keep design and requirements together • Google Docs? Any other solutions that people want to share? 1 2 3 4 5
  • 31. s Technical Architecture Some items that come up in technical architecture include: • Architectural Styles - what they are, some reading points… • Architecture Anti-Patterns - knowing what to avoid… • Technology Selection - how to do it or what happens when somebody has an idea? 1 2 3 4 5
  • 32. s Architectural Styles Know some basic architectural styles, three important ones: Transaction Script (Fowler) - services that build DTO’s call DAO’s Domain Driven (Evans) - operations and data together Pipes and Filters (Fowler) - set of processing steps Patterns of enterprise application architecture is decent 1 2 3 4 5
  • 33. s Some Examples • Big Ball of Mud • Speculative Generality and Useless Abstractions • Efferent and Afferent Coupling • Single Responsibility Principle and SOLID principles Great Resource Source Making Architecture Anti Patterns 1 2 3 4 5
  • 34. s Technology Selection What are your dev team familiar with language wise? How widely is the library/framework being proposed used? Is it under active development - Github stars, number of commits How much training/learning/time is involved to upskill the team? Don’t just agree, spike/build prototype and get to know what you’re about to adopt Ohloh/Openhub.net is decent for research 1 2 3 4 5
  • 37. s Non Functional Requirements Why are they important? Define the qualities you want your system to have, • Performance, usability, robustness, security • How do people know if you don’t specify them? It was meant to support 1000 users concurrently with one action? Lots of projects #fail due to mis-understanding of these or non 1 2 3 4 5
  • 38. s Non Functional Requirements Various models FURPS+ • Came from HP ISO 25010 • Defines a product quality model based on eight characteristics 1 2 3 4 5
  • 39. s Testing NFR’s If you don’t specify - you don’t get Non functional requirements are good to specify Test engineers/QA’s have hooks to test the system for Can ask developers how it meets those requirements • Chaos Monkey - simulate failure • Performance Tests - measure RPS using JMeter/Locust/BlazeMeter • Can work with devops engineers on this or ideally do it themselves 1 2 3 4 5