SlideShare a Scribd company logo
1 of 29
Download to read offline
What Does It Really Mean to Be an Architect?
     Eberhard Wolff

     Architecture and Technology Manager
     adesso AG




13.09.11
About Me
►    Eberhard Wolff
►    Architecture & Technology Manager at adesso
►    adesso is a leading IT consultancy in the German speaking region
►    Speaker
►    Author


►    Blog: http://ewolff.com
►    Twitter: @ewolff
►    http://www.slideshare.net/ewolff
►    eberhard.wolff@adesso.de




               Eberhard Wolff: What Does It Really Mean to Be an Architect?
Software Architect


     Software architect is a general term
     with many accepted definitions
     which refers to a broad range of roles.
             Not really well defined…




         Eberhard Wolff: What Does It Really Mean to Be an Architect?
Software Architecture

The software architecture of a system is the set of
                    structures
needed to reason about it, which comprise
               software elements,
           relations among them, and
                properties of both.




 (Won’t be talking about Enterprise Architecture)
         Eberhard Wolff: What Does It Really Mean to Be an Architect?
Software Architecture: Why We Care



    Defines
                                                                            Performance


                                                                                Availability


 non-functional
            Software
           Architecture
                                                                                Productivity




requirements &
                                                                           Maintainability
   Structures
   Software elements
                                                                                 Security
   Relations


    quality
   Properties

13.09.11     5   Eberhard Wolff: What Does It Really Mean to Be an Architect?
                                                                                Operations
Software Architect: Responsibilities
►    Manager
►    Responsibility: non-functional requirements / quality
►    Tool: Define and enforce architecture


►    Functional requirements covered by
     requirements process
►    Functional requirements influence
     the architecture




13.09.11   6   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Traditional View on Architect’s Role
►    Define the architecture
►    Enforce the architecture
►    i.e. create frameworks
►    Not necessarily any coding
►    Code reviews (maybe)


►    Assumptions
     >  Separation of labor
     >  Developers must be “controlled”


►    Does that still work in today’s
     world?




13.09.11   7    Eberhard Wolff: What Does It Really Mean to Be an Architect?
Issues in the Real World
►    Ivory tower architecture


►    Architecture does not fit the domain


►    Architecture is not in the code
►    The documented architecture is different
     from the real architecture


►    Developers don’t feel their feedback is
     listened to


►    Either architecture is ignored
►    …or project results in a failure




13.09.11   8    Eberhard Wolff: What Does It Really Mean to Be an Architect?
Agile Development i.e. Scrum



Where is
                      Scrum Master
                    Removes obstacles
                      Enforces rules




   the
Architect                            Stories




    ?
      Product                                                                        Team
      Owner                                                                     Self-organizing
   Creates stories                                                            Implements stories

13.09.11   9   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Team
►    Is self organizing
►    An architect might / will emerge
►    …but is not planned for


►    Benefit:
     >  Responsibility is shared
     >  i.e. not just the architect cares


►    If the architecture / architect is not helpful, it / he will be ignored
►    Less damage in the end


►    Architect will see his ideas directly in action
►    Better feedback
►    Needs trust and collaboration

13.09.11    10   Eberhard Wolff: What Does It Really Mean to Be an Architect?
New Challenges for Architects


           Role                                                                Creating an Architecture
           ►    Needs to collaborate with other team                           ►    Stories defined during the project
                members
                                                                               ►    Not all requirements known at the start
           ►    …and make himself useful                                       ►    No Big Design Upfront possible


           ►    Supports and trusts other team members                         ►    Architecture needs to emerge
                                                                               ►    Architecture must be constantly redefined
           ►    Leads by experience
           ►    …not by title                                                  ►    More focus on code
                                                                               ►    Code is the reliable source for the current
                                                                                    architecture and state of the project




13.09.11          11   Eberhard Wolff: What Does It Really Mean to Be an Architect?
New Skills For Architects
►    Even more communication
►    Convince, not enforce


►    Must listen to other team members
►    …and use their experience and knowledge


►    Must have excellent technical skills


►    Must not think about architecture as stable
►    i.e. must be able to change plans and adapt




13.09.11   12   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Traditional Architect as a Metaphor

An architect is a person
trained in the planning,
design and oversight of the
construction of buildings.




13.09.11   13   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Is “Architect” a Good Metaphor?
►    Buildings are physical entities
     >  Hard to change


►    Construction industry is established
►    …and has a long history


►    Buildings can be fully specified
►    Specification
►    Software can’t (see Agility)


►    Clear separation: Architect vs. construction
     worker
►    Common for a Software Architect to be a former
     developer
►    …or even doing some coding

13.09.11   14   Eberhard Wolff: What Does It Really Mean to Be an Architect?
A New Way to Think About Creating Software

                 1999                                                          2001




13.09.11   15   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Software Craftsmanship Manifesto (2009)
►    As aspiring Software Craftsmen we are raising the bar of professional software
     development by practicing it and helping others learn the craft. Through this work
     we have come to value:


►    Not only working software,
     >  but also well-crafted software
►    Not only responding to change,
     >  but also steadily adding value
►    Not only individuals and interactions,
     >  but also a community of professionals
►    Not only customer collaboration,
     >  but also productive partnerships




13.09.11   16   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Software Craftsmanship
►    Quality, even perfection


►    Work with code


►    Apprenticeship / collaboration


►    Smaller barriers between team members




13.09.11   17   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Architect as a Master Craftsman
►    More experienced
►    Knows the tools very well
►    Guides and helps others
►    Incorporates feedback
►    Improves the craft
►    Quality


►    Will work on code
►    But knows the bigger picture of
     the project


►    Education and work on the
     project at hand




13.09.11   18   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Architect’s Experience
►    Bigger “Vocabulary”
     >  Architecture patterns
     >  Basic approaches
     >  Frameworks, languages etc.


►    Thinks in trade offs
     >  Knows the alternatives
     >  There is no black and white


►    Knows what is going on in the project
     >  Code quality
     >  Current issues


►    Knows how to get software into production



13.09.11   19   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Code vs. Architecture
►    Ultimately, code is the deliverable


►    Architecture must be expressed in the
     code
►    If the architecture is not in the code, the
     architect failed


►    It makes sense to focus on code
►    …and see whether the architecture is
     really implemented


►    Of course architecture and its
     documentation are important to reach the
     project goal!




13.09.11    20   Eberhard Wolff: What Does It Really Mean to Be an Architect?
What Is Wrong About Craftsmanship?
►    The software is at the center
►    It fails to mention what the software is created
     for
►    Most software has a clear business goal
►    At the end customers have to be happy


►    Quality and how it is created must serve this
     goal
►    Software is not a goal in itself




►    http://dannorth.net/
     2011/01/11/programming-is-not-a-craft/




13.09.11    21   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Responsibilities Again
►    Non-functional requirements /
     quality
     >  Performance
     >  Availability
     >  Productivity
     >  Maintainability
     >  Security
     >  Operation readiness


►    The architecture will create a
     compromise between these goals


►    E.g. seemingly half finished
     software might be enough
►    Even though it is not well-crafted
►    See agility
13.09.11   22      Eberhard Wolff: What Does It Really Mean to Be an Architect?
Quality
►    Not all parts of a system will have the
     same quality
►    Not all team members are equally skilled


►    The compromise on the quality can
     happen “by chance”
►    …or you can steer it


►    Identify core domains
     >  The ones that add the most value
     >  i.e. have a good business reason


►    Might want to isolate those
►    …and focus on them


13.09.11   23   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Broken Windows Theory
►    Once windows are not repaired…
►    …vandals will break more
►    …break into the building
►    …


►    Accepting compromises on quality is risky
►    …but if you strive for ultimate quality
     everywhere, you will fail


►    In particular with legacy software




13.09.11   24   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Domain Driven Design
►    “Tackling Complexity in the
     Heart of Software”


►    E.g. Ubiquitous Language
     for Code, Developers and
     Customers




13.09.11   25   Eberhard Wolff: What Does It Really Mean to Be an Architect?
Strategic Domain Driven Design
►    Bounded Context:
     Model used only in a specific
     part of the system


►    Context Map:
     Translate models from
     different parts of the system


►    Anti-Corruption Layer:
     Make sure the core domain is
     not corrupted




13.09.11   26   Eberhard Wolff: What Does It Really Mean to Be an Architect?
More Responsibilities for Architects
►    Define the Core Domain


►    Ensure that the Core Domain will be implemented properly
►    …and won’t be compromised


►    I.e. manage the overall quality


►    Needs detailed domain knowledge
►    Need to understand business case




13.09.11   27   Eberhard Wolff: What Does It Really Mean to Be an Architect?
So:
           What Does It Really Mean to Be an Architect?




13.09.11
 28
Architect
►    Cares about non-functional requirements
►    Used to be clearly separated from developers


►    Cannot lead “by title”
     >  In particular in self-organizing teams
     >  Will be ignored
     >  …or create a failure
►    Communication, giving and accepting feedback


►    Craftsmanship might be a better metaphor
     >  Apprenticeship and learning
     >  More focus on code
►    Vocabulary (pattern, typical architectural approaches) important
►    Strategic design – quality where it matters


                Eberhard Wolff: What Does It Really Mean to Be an Architect?

More Related Content

Similar to Keynote ECSA 2011: What Does It Really Mean to Be an Architect?

How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureBrad Beiermann
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyglefur
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdfAkilaGamage2
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)stanbridge
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)stanbridge
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile WorldJames Cooper
 
Software is not a Building - Designing Technical Architecture for Change
Software is not a Building - Designing Technical Architecture for ChangeSoftware is not a Building - Designing Technical Architecture for Change
Software is not a Building - Designing Technical Architecture for ChangeCantina
 
Chap 6 - Software Architecture Part 1.ppt
Chap 6 - Software Architecture Part 1.pptChap 6 - Software Architecture Part 1.ppt
Chap 6 - Software Architecture Part 1.pptkhalidnawaz39
 
Chap 6 - Software Architecture Part 1.pptx
Chap 6 - Software Architecture Part 1.pptxChap 6 - Software Architecture Part 1.pptx
Chap 6 - Software Architecture Part 1.pptxssuser0ed5b4
 
Developing Commercial APEX Applications
Developing Commercial APEX ApplicationsDeveloping Commercial APEX Applications
Developing Commercial APEX ApplicationsEnkitec
 
Continuous Integration: a real win-win for developers
Continuous Integration: a real win-win for developersContinuous Integration: a real win-win for developers
Continuous Integration: a real win-win for developersDavide Benvegnù
 
No silver-bullllet-1
No silver-bullllet-1No silver-bullllet-1
No silver-bullllet-1Maria Riaz
 
Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1Vincenzo De Florio
 
9.oo languages
9.oo languages9.oo languages
9.oo languagesAPU
 
9. oo languages
9. oo languages9. oo languages
9. oo languagesAPU
 

Similar to Keynote ECSA 2011: What Does It Really Mean to Be an Architect? (20)

How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
 
01 the big_idea
01 the big_idea01 the big_idea
01 the big_idea
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxy
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdf
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile World
 
Software is not a Building - Designing Technical Architecture for Change
Software is not a Building - Designing Technical Architecture for ChangeSoftware is not a Building - Designing Technical Architecture for Change
Software is not a Building - Designing Technical Architecture for Change
 
No silver bullet
No silver bulletNo silver bullet
No silver bullet
 
VI-241: Innovation with Deltek Vision
VI-241: Innovation with Deltek VisionVI-241: Innovation with Deltek Vision
VI-241: Innovation with Deltek Vision
 
Chap 6 - Software Architecture Part 1.ppt
Chap 6 - Software Architecture Part 1.pptChap 6 - Software Architecture Part 1.ppt
Chap 6 - Software Architecture Part 1.ppt
 
Chap 6 - Software Architecture Part 1.pptx
Chap 6 - Software Architecture Part 1.pptxChap 6 - Software Architecture Part 1.pptx
Chap 6 - Software Architecture Part 1.pptx
 
Developing Commercial APEX Applications
Developing Commercial APEX ApplicationsDeveloping Commercial APEX Applications
Developing Commercial APEX Applications
 
Continuous Integration: a real win-win for developers
Continuous Integration: a real win-win for developersContinuous Integration: a real win-win for developers
Continuous Integration: a real win-win for developers
 
No silver-bullllet-1
No silver-bullllet-1No silver-bullllet-1
No silver-bullllet-1
 
Building Containers: How Many Ways Are Too Many?
Building Containers: How Many Ways Are Too Many?Building Containers: How Many Ways Are Too Many?
Building Containers: How Many Ways Are Too Many?
 
Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1
 
9.oo languages
9.oo languages9.oo languages
9.oo languages
 
9. oo languages
9. oo languages9. oo languages
9. oo languages
 

More from adesso AG

SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)adesso AG
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMPSNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMPadesso AG
 
Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teamsadesso AG
 
A Business-Critical SharePoint Solution From adesso AG
A Business-CriticalSharePoint SolutionFrom adesso AGA Business-CriticalSharePoint SolutionFrom adesso AG
A Business-Critical SharePoint Solution From adesso AGadesso AG
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!adesso AG
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktischadesso AG
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Deliveryadesso AG
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?adesso AG
 
Getriebene Anwendungslandschaften
Getriebene AnwendungslandschaftenGetriebene Anwendungslandschaften
Getriebene Anwendungslandschaftenadesso AG
 
Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013adesso AG
 
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)adesso AG
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Sucheadesso AG
 
NoSQL in der Cloud - Why?
NoSQL in der Cloud -  Why?NoSQL in der Cloud -  Why?
NoSQL in der Cloud - Why?adesso AG
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.adesso AG
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Zehn Hinweise für Architekten
Zehn Hinweise für ArchitektenZehn Hinweise für Architekten
Zehn Hinweise für Architektenadesso AG
 
Agile Praktiken
Agile PraktikenAgile Praktiken
Agile Praktikenadesso AG
 
Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS adesso AG
 
Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5adesso AG
 
CloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App EngineCloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App Engineadesso AG
 

More from adesso AG (20)

SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMPSNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
 
Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teams
 
A Business-Critical SharePoint Solution From adesso AG
A Business-CriticalSharePoint SolutionFrom adesso AGA Business-CriticalSharePoint SolutionFrom adesso AG
A Business-Critical SharePoint Solution From adesso AG
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktisch
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Delivery
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
Getriebene Anwendungslandschaften
Getriebene AnwendungslandschaftenGetriebene Anwendungslandschaften
Getriebene Anwendungslandschaften
 
Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013
 
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Suche
 
NoSQL in der Cloud - Why?
NoSQL in der Cloud -  Why?NoSQL in der Cloud -  Why?
NoSQL in der Cloud - Why?
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Zehn Hinweise für Architekten
Zehn Hinweise für ArchitektenZehn Hinweise für Architekten
Zehn Hinweise für Architekten
 
Agile Praktiken
Agile PraktikenAgile Praktiken
Agile Praktiken
 
Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS
 
Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5
 
CloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App EngineCloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App Engine
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Keynote ECSA 2011: What Does It Really Mean to Be an Architect?

  • 1. What Does It Really Mean to Be an Architect? Eberhard Wolff Architecture and Technology Manager adesso AG 13.09.11
  • 2. About Me ►  Eberhard Wolff ►  Architecture & Technology Manager at adesso ►  adesso is a leading IT consultancy in the German speaking region ►  Speaker ►  Author ►  Blog: http://ewolff.com ►  Twitter: @ewolff ►  http://www.slideshare.net/ewolff ►  eberhard.wolff@adesso.de Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 3. Software Architect Software architect is a general term with many accepted definitions which refers to a broad range of roles. Not really well defined… Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 4. Software Architecture The software architecture of a system is the set of structures needed to reason about it, which comprise software elements, relations among them, and properties of both. (Won’t be talking about Enterprise Architecture) Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 5. Software Architecture: Why We Care Defines Performance Availability non-functional Software Architecture Productivity requirements & Maintainability Structures Software elements Security Relations quality Properties 13.09.11 5 Eberhard Wolff: What Does It Really Mean to Be an Architect? Operations
  • 6. Software Architect: Responsibilities ►  Manager ►  Responsibility: non-functional requirements / quality ►  Tool: Define and enforce architecture ►  Functional requirements covered by requirements process ►  Functional requirements influence the architecture 13.09.11 6 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 7. Traditional View on Architect’s Role ►  Define the architecture ►  Enforce the architecture ►  i.e. create frameworks ►  Not necessarily any coding ►  Code reviews (maybe) ►  Assumptions >  Separation of labor >  Developers must be “controlled” ►  Does that still work in today’s world? 13.09.11 7 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 8. Issues in the Real World ►  Ivory tower architecture ►  Architecture does not fit the domain ►  Architecture is not in the code ►  The documented architecture is different from the real architecture ►  Developers don’t feel their feedback is listened to ►  Either architecture is ignored ►  …or project results in a failure 13.09.11 8 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 9. Agile Development i.e. Scrum Where is Scrum Master Removes obstacles Enforces rules the Architect Stories ? Product Team Owner Self-organizing Creates stories Implements stories 13.09.11 9 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 10. Team ►  Is self organizing ►  An architect might / will emerge ►  …but is not planned for ►  Benefit: >  Responsibility is shared >  i.e. not just the architect cares ►  If the architecture / architect is not helpful, it / he will be ignored ►  Less damage in the end ►  Architect will see his ideas directly in action ►  Better feedback ►  Needs trust and collaboration 13.09.11 10 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 11. New Challenges for Architects Role Creating an Architecture ►  Needs to collaborate with other team ►  Stories defined during the project members ►  Not all requirements known at the start ►  …and make himself useful ►  No Big Design Upfront possible ►  Supports and trusts other team members ►  Architecture needs to emerge ►  Architecture must be constantly redefined ►  Leads by experience ►  …not by title ►  More focus on code ►  Code is the reliable source for the current architecture and state of the project 13.09.11 11 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 12. New Skills For Architects ►  Even more communication ►  Convince, not enforce ►  Must listen to other team members ►  …and use their experience and knowledge ►  Must have excellent technical skills ►  Must not think about architecture as stable ►  i.e. must be able to change plans and adapt 13.09.11 12 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 13. Traditional Architect as a Metaphor An architect is a person trained in the planning, design and oversight of the construction of buildings. 13.09.11 13 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 14. Is “Architect” a Good Metaphor? ►  Buildings are physical entities >  Hard to change ►  Construction industry is established ►  …and has a long history ►  Buildings can be fully specified ►  Specification ►  Software can’t (see Agility) ►  Clear separation: Architect vs. construction worker ►  Common for a Software Architect to be a former developer ►  …or even doing some coding 13.09.11 14 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 15. A New Way to Think About Creating Software 1999 2001 13.09.11 15 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 16. Software Craftsmanship Manifesto (2009) ►  As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value: ►  Not only working software, >  but also well-crafted software ►  Not only responding to change, >  but also steadily adding value ►  Not only individuals and interactions, >  but also a community of professionals ►  Not only customer collaboration, >  but also productive partnerships 13.09.11 16 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 17. Software Craftsmanship ►  Quality, even perfection ►  Work with code ►  Apprenticeship / collaboration ►  Smaller barriers between team members 13.09.11 17 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 18. Architect as a Master Craftsman ►  More experienced ►  Knows the tools very well ►  Guides and helps others ►  Incorporates feedback ►  Improves the craft ►  Quality ►  Will work on code ►  But knows the bigger picture of the project ►  Education and work on the project at hand 13.09.11 18 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 19. Architect’s Experience ►  Bigger “Vocabulary” >  Architecture patterns >  Basic approaches >  Frameworks, languages etc. ►  Thinks in trade offs >  Knows the alternatives >  There is no black and white ►  Knows what is going on in the project >  Code quality >  Current issues ►  Knows how to get software into production 13.09.11 19 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 20. Code vs. Architecture ►  Ultimately, code is the deliverable ►  Architecture must be expressed in the code ►  If the architecture is not in the code, the architect failed ►  It makes sense to focus on code ►  …and see whether the architecture is really implemented ►  Of course architecture and its documentation are important to reach the project goal! 13.09.11 20 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 21. What Is Wrong About Craftsmanship? ►  The software is at the center ►  It fails to mention what the software is created for ►  Most software has a clear business goal ►  At the end customers have to be happy ►  Quality and how it is created must serve this goal ►  Software is not a goal in itself ►  http://dannorth.net/ 2011/01/11/programming-is-not-a-craft/ 13.09.11 21 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 22. Responsibilities Again ►  Non-functional requirements / quality >  Performance >  Availability >  Productivity >  Maintainability >  Security >  Operation readiness ►  The architecture will create a compromise between these goals ►  E.g. seemingly half finished software might be enough ►  Even though it is not well-crafted ►  See agility 13.09.11 22 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 23. Quality ►  Not all parts of a system will have the same quality ►  Not all team members are equally skilled ►  The compromise on the quality can happen “by chance” ►  …or you can steer it ►  Identify core domains >  The ones that add the most value >  i.e. have a good business reason ►  Might want to isolate those ►  …and focus on them 13.09.11 23 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 24. Broken Windows Theory ►  Once windows are not repaired… ►  …vandals will break more ►  …break into the building ►  … ►  Accepting compromises on quality is risky ►  …but if you strive for ultimate quality everywhere, you will fail ►  In particular with legacy software 13.09.11 24 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 25. Domain Driven Design ►  “Tackling Complexity in the Heart of Software” ►  E.g. Ubiquitous Language for Code, Developers and Customers 13.09.11 25 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 26. Strategic Domain Driven Design ►  Bounded Context: Model used only in a specific part of the system ►  Context Map: Translate models from different parts of the system ►  Anti-Corruption Layer: Make sure the core domain is not corrupted 13.09.11 26 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 27. More Responsibilities for Architects ►  Define the Core Domain ►  Ensure that the Core Domain will be implemented properly ►  …and won’t be compromised ►  I.e. manage the overall quality ►  Needs detailed domain knowledge ►  Need to understand business case 13.09.11 27 Eberhard Wolff: What Does It Really Mean to Be an Architect?
  • 28. So: What Does It Really Mean to Be an Architect? 13.09.11 28
  • 29. Architect ►  Cares about non-functional requirements ►  Used to be clearly separated from developers ►  Cannot lead “by title” >  In particular in self-organizing teams >  Will be ignored >  …or create a failure ►  Communication, giving and accepting feedback ►  Craftsmanship might be a better metaphor >  Apprenticeship and learning >  More focus on code ►  Vocabulary (pattern, typical architectural approaches) important ►  Strategic design – quality where it matters Eberhard Wolff: What Does It Really Mean to Be an Architect?