SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
The Role of the Software Architect
Hayim Makabee
International Association of Software Architects in Israel
Talk Outline
• IASA Overview
• Software Architecture
Skills
• Software Architect’s
Role
About Me:
 Education:
 Experience:
 Today:
What is IASA?
 Non-Profit Global Professional Association, founded in 2002.
 Target Public:
 Enterprise, Information, Infrastructure, Software and Business
Architects.
 Professional software developers targeting an architect position in
their career path.
 Manages an IT architecture knowledge repository.
IASA Chapters & Membership
 8,000 members in over 60 countries
 In 35 chapters on 5 continents
 Locally run by architects
Locally run by volunteer IT architects
8,000 members in 35 chapters
Local Chapter Activities
 Events
 Monthly events/meetings
 Virtual presentations/discussions
 Special interest/focus groups
 Conferences
 Mentoring
 Lifeline
 Study Groups
 Training Courses & Workshops
 Certification
Software Architecture Skills
 A Software Architect should have expertise in:
 Design
 Domain
 Technology
 Methodology
Expertise = Knowledge + Experience
“The young man knows the rules, but the old man knows the
exceptions.” – Oliver Wendell Holmes
The 4 Fields of Expertise
Design
Domain Technology
Methodology
Design Expertise
 The Software Architect should be an expert on Software
Design, including diverse methods and approaches:
 OOD, Aspect-Oriented, Event-Driven, Domain-Driven, etc…
 The Software Architect should be able to lead the development
team in the definition of the high-level design.
 The Software Architect should be able to review design
proposals and assess trade-offs among them.
 The Software Architect should be able to coordinate
development efforts and guarantee the integrity of design.
Design Integrity
 Software Quality Attributes:
 Correctness
 Modularity
 Coupling
 Cohesion
 Testability
 Maintainability
 Extensibility
 Reusability
Design Decisions
 Examples of high-level design decisions:
1. Service-Oriented Architecture (SOA) based on stateless RESTful
services returning JSON objects.
2. Staged Event-Driven Architecture (SEDA) based on message
queues and adaptive load balancing.
Domain Expertise
 The Software Architect should be an expert on the domain of
the system being developed.
 The Software Architect should assist in the requirements
elicitation process, assuring consistency and completeness.
 The Software Architect should contribute to the definition of a
domain model for the system being developed.
 The Software Architect should plan for software evolution,
taking in consideration future changes in requirements.
Planning for Software Evolution
 Planning for software evolution requires a good understanding
of the application’s domain:
 Modeling of the main domain entities, their attributes and
relationships.
 Refinement of generalization/specialization hierarchies.
 Identification of the domain aspects that are not represented in the
current requirements.
 Identification of areas of volatility that are likely to change.
 Domain analysis should drive the introduction of mechanisms
for flexibility and extensibility.
Domain Decisions
 Examples of domain modeling decisions:
1. Should a relationship be represented as an object or as an
association between two objects?
2. Should an object have a fixed list of attributes or a dynamic set of
properties?
3. Should an attribute be represented as a primitive type or as an
object?
Technology Expertise
 The Software Architect should be an expert on the available
technologies that may be used to implement the system.
 The Software Architect should coordinate the selection of:
 Programming Languages
 Development Environments
 Frameworks
 Libraries
 Platforms
 Databases
 Protocols
Technology Decisions
 Example of technology decision: LAMP stack
 LAMP:
 Linux Operating System
 Apache HTTP Server
 MySQL Database
 PHP Programming Language
Methodology Expertise
 The Software Architect should be an expert on software
development methodologies that may be adopted during the
Software Development Life Cycle (SDLC).
 The Software Architect should help the team choose the
appropriate development approaches.
 The planning and evolution of the software architecture during
the SDLC depends on the methodology being used.
Methodology Decisions
 Examples of methodology decisions:
1. Agile methods imply reduced design up-front and thus some form
of emergent or evolutionary design.
2. Test-Driven Development (TDD) reduces the risks associated to
Refactoring and thus requires less detailed design.
3. Pair Programming requires less design and code reviews.
Roles in Software Development
Software Architect
Product Owner
Developer
Tester
Technical Writer
Non-Functional Requirements
Non-Functional
Requirements (NFRs)
Examples of NFRs
 Latency
 Throughput
 Robustness
 Scalability
 Fault-Tolerance
Architecture Planning
(High-Level Design)
Architecture Discussion:
• Frameworks
• Platforms
• Technologies
• Abstraction Layers
• Components
• Design Patterns
Requirements Specification
Use Cases
(Functional Requirements)
Use Cases
Requirements
Discussion:
• Generalizations
• Commonalities
• Patterns
• Exceptions
• Impact on NFRs
Design Reviews
Design Review:
• Several design alternatives
• All alternatives satisfy FRs
• Different alternatives have
different impact on NFRs
• Discuss trade-offs
Multi-product Company
Sharing opportunities:
• Technologies
• Infrastructure
• Components
• Patterns
• Reuse
Product A
Product B
Product C
Infrastructure Team
Development of new:
• Infrastructure
• Reusable Components
• Tools
Product A
Product B
Infrastructure Team
Non-Functional Testing
Non-Functional Testing:
• Performance Tests
• Load/Stress Tests
• Robustness Tests
• Simulators
• Bombers
• Log Players
Internal and External Documents
External Documents:
• User Guides
• Manuals
Internal Documents:
• Infrastructure
• Service Interfaces
• Proprietary Protocols
Summary
 A Software Architect should have expertise in:
 Design
 Domain
 Technology
 Methodology
 The Software Architect should work in tight cooperation with:
 Product Owners
 Developers
 Testers
 Technical Writers
Thanks!
Q&A

Weitere ähnliche Inhalte

Was ist angesagt?

Architecture Design
Architecture DesignArchitecture Design
Architecture DesignSaqib Raza
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?Soumya De
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle ModelJ.T.A.JONES
 
Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Al-Mamun Sarkar
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design DecisionsHenry Muccini
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideMohammed Fazuluddin
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementChandan Chaurasia
 
Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Alan McSweeney
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
software construction modules,language,tools,design
software construction modules,language,tools,designsoftware construction modules,language,tools,design
software construction modules,language,tools,designnemali akhilesh
 
Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewMike Walker
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software ArchitectureRahimLotfi
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Sudarshan Dhondaley
 

Was ist angesagt? (20)

Sdlc
SdlcSdlc
Sdlc
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...Enterprise Architecture Implementation And The Open Group Architecture Framew...
Enterprise Architecture Implementation And The Open Group Architecture Framew...
 
Sdlc
SdlcSdlc
Sdlc
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
software construction modules,language,tools,design
software construction modules,language,tools,designsoftware construction modules,language,tools,design
software construction modules,language,tools,design
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit Overview
 
Software process
Software processSoftware process
Software process
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Solution Architecture
Solution ArchitectureSolution Architecture
Solution Architecture
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
 

Andere mochten auch

Iasa, Iasa Ireland, ICS Jan 2011
Iasa, Iasa Ireland, ICS Jan 2011Iasa, Iasa Ireland, ICS Jan 2011
Iasa, Iasa Ireland, ICS Jan 2011iasaireland
 
The process of software architecting
The process of software architectingThe process of software architecting
The process of software architectingRoger Snook
 
Solution architecture
Solution architectureSolution architecture
Solution architectureiasaglobal
 
Are You an Accidental or Intention Software Architect
Are You an Accidental or Intention Software ArchitectAre You an Accidental or Intention Software Architect
Are You an Accidental or Intention Software ArchitectRandy Ynchausti
 
Iasa Architect responsibilities in the cloud
Iasa Architect responsibilities in the cloudIasa Architect responsibilities in the cloud
Iasa Architect responsibilities in the cloudiasaglobal
 
Delivering Data - Social Networking Personal
Delivering Data - Social Networking PersonalDelivering Data - Social Networking Personal
Delivering Data - Social Networking Personaliasaireland
 
Why IT needs more IT Architects (IASA style)
Why IT needs more IT Architects (IASA style)Why IT needs more IT Architects (IASA style)
Why IT needs more IT Architects (IASA style)Paddy Baxter
 
User story estimation with agile architectures
User story estimation with agile architecturesUser story estimation with agile architectures
User story estimation with agile architecturesRaffaele Garofalo
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certificationsAdams Firdaus
 
Architecting multi sided business
Architecting multi sided businessArchitecting multi sided business
Architecting multi sided businessRichard Veryard
 
IASA 2014 Conference - Cape Town, South Africa #iasa2014
IASA 2014 Conference - Cape Town, South Africa #iasa2014IASA 2014 Conference - Cape Town, South Africa #iasa2014
IASA 2014 Conference - Cape Town, South Africa #iasa2014Karen Du Toit
 
Software architecture in an agile environment
Software architecture in an agile environmentSoftware architecture in an agile environment
Software architecture in an agile environmentRaffaele Garofalo
 
Business Process Management: Implementing Continuous Improvement in Your Orga...
Business Process Management: Implementing Continuous Improvement in Your Orga...Business Process Management: Implementing Continuous Improvement in Your Orga...
Business Process Management: Implementing Continuous Improvement in Your Orga...Henry Chandra
 
Platforms or Two-sided markets
Platforms or Two-sided marketsPlatforms or Two-sided markets
Platforms or Two-sided marketsMartin Westhead
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution ArchitectureAlan McSweeney
 

Andere mochten auch (16)

Iasa, Iasa Ireland, ICS Jan 2011
Iasa, Iasa Ireland, ICS Jan 2011Iasa, Iasa Ireland, ICS Jan 2011
Iasa, Iasa Ireland, ICS Jan 2011
 
The process of software architecting
The process of software architectingThe process of software architecting
The process of software architecting
 
Solution architecture
Solution architectureSolution architecture
Solution architecture
 
Are You an Accidental or Intention Software Architect
Are You an Accidental or Intention Software ArchitectAre You an Accidental or Intention Software Architect
Are You an Accidental or Intention Software Architect
 
Iasa Architect responsibilities in the cloud
Iasa Architect responsibilities in the cloudIasa Architect responsibilities in the cloud
Iasa Architect responsibilities in the cloud
 
Delivering Data - Social Networking Personal
Delivering Data - Social Networking PersonalDelivering Data - Social Networking Personal
Delivering Data - Social Networking Personal
 
Why IT needs more IT Architects (IASA style)
Why IT needs more IT Architects (IASA style)Why IT needs more IT Architects (IASA style)
Why IT needs more IT Architects (IASA style)
 
User story estimation with agile architectures
User story estimation with agile architecturesUser story estimation with agile architectures
User story estimation with agile architectures
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certifications
 
Why certify
Why certifyWhy certify
Why certify
 
Architecting multi sided business
Architecting multi sided businessArchitecting multi sided business
Architecting multi sided business
 
IASA 2014 Conference - Cape Town, South Africa #iasa2014
IASA 2014 Conference - Cape Town, South Africa #iasa2014IASA 2014 Conference - Cape Town, South Africa #iasa2014
IASA 2014 Conference - Cape Town, South Africa #iasa2014
 
Software architecture in an agile environment
Software architecture in an agile environmentSoftware architecture in an agile environment
Software architecture in an agile environment
 
Business Process Management: Implementing Continuous Improvement in Your Orga...
Business Process Management: Implementing Continuous Improvement in Your Orga...Business Process Management: Implementing Continuous Improvement in Your Orga...
Business Process Management: Implementing Continuous Improvement in Your Orga...
 
Platforms or Two-sided markets
Platforms or Two-sided marketsPlatforms or Two-sided markets
Platforms or Two-sided markets
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution Architecture
 

Ähnlich wie The Role of the Software Architect

The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)Hayim Makabee
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachPanagiotis Papaioannou
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference ArchitectureJohan Eltes
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachPanagiotis Papaioannou
 
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
 
Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Siddhesh Bhobe
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven DesignR-P-Azevedo
 
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownAvisi B.V.
 

Ähnlich wie The Role of the Software Architect (20)

The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic Approach
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic Approach
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
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
 
Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Cnpm bkdn
Cnpm bkdnCnpm bkdn
Cnpm bkdn
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven Design
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
The Modern Software Architect
The Modern Software ArchitectThe Modern Software Architect
The Modern Software Architect
 
Chapter1
Chapter1Chapter1
Chapter1
 
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon Brown
 
Vsts intro
Vsts introVsts intro
Vsts intro
 

Mehr von Hayim Makabee

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your ReputationHayim Makabee
 
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarApplications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarHayim Makabee
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine LearningHayim Makabee
 
Blue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseBlue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseHayim Makabee
 
Managing your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarManaging your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarHayim Makabee
 
Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Hayim Makabee
 
Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Hayim Makabee
 
Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your ReputationHayim Makabee
 
The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)Hayim Makabee
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile DevelopmentHayim Makabee
 
Adaptable Designs for Agile Software Development
Adaptable Designs for Agile  Software DevelopmentAdaptable Designs for Agile  Software Development
Adaptable Designs for Agile Software DevelopmentHayim Makabee
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine LearningHayim Makabee
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software DesignHayim Makabee
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
 
The SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsThe SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsHayim Makabee
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelHayim Makabee
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Hayim Makabee
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical DebtHayim Makabee
 

Mehr von Hayim Makabee (20)

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarApplications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT Webinar
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Blue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseBlue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use Case
 
Managing your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarManaging your Reputation Gvahim Webinar
Managing your Reputation Gvahim Webinar
 
Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)
 
Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)
 
Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile Development
 
Adaptable Designs for Agile Software Development
Adaptable Designs for Agile  Software DevelopmentAdaptable Designs for Agile  Software Development
Adaptable Designs for Agile Software Development
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software Design
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
The SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsThe SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design Patterns
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in Israel
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
 

Kürzlich hochgeladen

Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9Jürgen Gutsch
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxPrakarsh -
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 

Kürzlich hochgeladen (20)

Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Sustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire ThornewillSustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire Thornewill
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
Program with GUTs
Program with GUTsProgram with GUTs
Program with GUTs
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptx
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 

The Role of the Software Architect

  • 1. The Role of the Software Architect Hayim Makabee International Association of Software Architects in Israel
  • 2. Talk Outline • IASA Overview • Software Architecture Skills • Software Architect’s Role
  • 3. About Me:  Education:  Experience:  Today:
  • 4. What is IASA?  Non-Profit Global Professional Association, founded in 2002.  Target Public:  Enterprise, Information, Infrastructure, Software and Business Architects.  Professional software developers targeting an architect position in their career path.  Manages an IT architecture knowledge repository.
  • 5. IASA Chapters & Membership  8,000 members in over 60 countries  In 35 chapters on 5 continents  Locally run by architects Locally run by volunteer IT architects 8,000 members in 35 chapters
  • 6. Local Chapter Activities  Events  Monthly events/meetings  Virtual presentations/discussions  Special interest/focus groups  Conferences  Mentoring  Lifeline  Study Groups  Training Courses & Workshops  Certification
  • 7. Software Architecture Skills  A Software Architect should have expertise in:  Design  Domain  Technology  Methodology Expertise = Knowledge + Experience “The young man knows the rules, but the old man knows the exceptions.” – Oliver Wendell Holmes
  • 8. The 4 Fields of Expertise Design Domain Technology Methodology
  • 9. Design Expertise  The Software Architect should be an expert on Software Design, including diverse methods and approaches:  OOD, Aspect-Oriented, Event-Driven, Domain-Driven, etc…  The Software Architect should be able to lead the development team in the definition of the high-level design.  The Software Architect should be able to review design proposals and assess trade-offs among them.  The Software Architect should be able to coordinate development efforts and guarantee the integrity of design.
  • 10. Design Integrity  Software Quality Attributes:  Correctness  Modularity  Coupling  Cohesion  Testability  Maintainability  Extensibility  Reusability
  • 11. Design Decisions  Examples of high-level design decisions: 1. Service-Oriented Architecture (SOA) based on stateless RESTful services returning JSON objects. 2. Staged Event-Driven Architecture (SEDA) based on message queues and adaptive load balancing.
  • 12. Domain Expertise  The Software Architect should be an expert on the domain of the system being developed.  The Software Architect should assist in the requirements elicitation process, assuring consistency and completeness.  The Software Architect should contribute to the definition of a domain model for the system being developed.  The Software Architect should plan for software evolution, taking in consideration future changes in requirements.
  • 13. Planning for Software Evolution  Planning for software evolution requires a good understanding of the application’s domain:  Modeling of the main domain entities, their attributes and relationships.  Refinement of generalization/specialization hierarchies.  Identification of the domain aspects that are not represented in the current requirements.  Identification of areas of volatility that are likely to change.  Domain analysis should drive the introduction of mechanisms for flexibility and extensibility.
  • 14. Domain Decisions  Examples of domain modeling decisions: 1. Should a relationship be represented as an object or as an association between two objects? 2. Should an object have a fixed list of attributes or a dynamic set of properties? 3. Should an attribute be represented as a primitive type or as an object?
  • 15. Technology Expertise  The Software Architect should be an expert on the available technologies that may be used to implement the system.  The Software Architect should coordinate the selection of:  Programming Languages  Development Environments  Frameworks  Libraries  Platforms  Databases  Protocols
  • 16. Technology Decisions  Example of technology decision: LAMP stack  LAMP:  Linux Operating System  Apache HTTP Server  MySQL Database  PHP Programming Language
  • 17. Methodology Expertise  The Software Architect should be an expert on software development methodologies that may be adopted during the Software Development Life Cycle (SDLC).  The Software Architect should help the team choose the appropriate development approaches.  The planning and evolution of the software architecture during the SDLC depends on the methodology being used.
  • 18. Methodology Decisions  Examples of methodology decisions: 1. Agile methods imply reduced design up-front and thus some form of emergent or evolutionary design. 2. Test-Driven Development (TDD) reduces the risks associated to Refactoring and thus requires less detailed design. 3. Pair Programming requires less design and code reviews.
  • 19. Roles in Software Development Software Architect Product Owner Developer Tester Technical Writer
  • 21. Examples of NFRs  Latency  Throughput  Robustness  Scalability  Fault-Tolerance
  • 22. Architecture Planning (High-Level Design) Architecture Discussion: • Frameworks • Platforms • Technologies • Abstraction Layers • Components • Design Patterns
  • 23. Requirements Specification Use Cases (Functional Requirements) Use Cases Requirements Discussion: • Generalizations • Commonalities • Patterns • Exceptions • Impact on NFRs
  • 24. Design Reviews Design Review: • Several design alternatives • All alternatives satisfy FRs • Different alternatives have different impact on NFRs • Discuss trade-offs
  • 25. Multi-product Company Sharing opportunities: • Technologies • Infrastructure • Components • Patterns • Reuse Product A Product B Product C
  • 26. Infrastructure Team Development of new: • Infrastructure • Reusable Components • Tools Product A Product B Infrastructure Team
  • 27. Non-Functional Testing Non-Functional Testing: • Performance Tests • Load/Stress Tests • Robustness Tests • Simulators • Bombers • Log Players
  • 28. Internal and External Documents External Documents: • User Guides • Manuals Internal Documents: • Infrastructure • Service Interfaces • Proprietary Protocols
  • 29. Summary  A Software Architect should have expertise in:  Design  Domain  Technology  Methodology  The Software Architect should work in tight cooperation with:  Product Owners  Developers  Testers  Technical Writers