Prepared By
Bahaa Farouk
9/16/2013 ...... Being Architect !
Agenda
 Who?
 Roles?
 ACF!
 To Build Architecture.
 References
9/16/2013 ...... Being Architect !
Architect Roles
 1st and in advance, what are IT architect types:
 Software Architect
Design the technical solution of the entire application. The logical and
physical structure.
 Infrastructure Architect
Ensure the safe and productive deployment and operation of enterprise
applications. This involves managing hardware, network and operating
systems.
 Enterprise Architect
Ensure convergence between business needs and technologies by
establishing architectural guidelines such as enterprise conceptual data
models or, in service-oriented environments, business service interfaces.
9/16/2013 ...... Being Architect !
Who is?
Simply
 Architecture is the structure of the system, comprised of:
 components or building blocks
 the externally visible properties of those components, and
 the relationships among them
 The people who do this are called architects.
9/16/2013 ...... Being Architect !
Architect Roles
 2nd what’re main skill set in
Architect
 The architect is a technical
leader
 The architect understands
the software development
process
 The architect has knowledge
of the business domain
 The architect has technology
knowledge
 The architect has design skills
 The architect has
programming skills
 The architect is a good
communicator
 The architect makes decisions
 The architect is a negotiator
9/16/2013 ...... Being Architect !
 Crafting the right architecture to solve the problem by:
 Define, document, and communicate it
 Ensures everyone is using it, and using it correctly
 Ensures the software and system architectures are in synchronization
 Ensures management understands it (to the detail necessary)
 Identify and interact with stakeholders to make sure their needs are being met
 Ensures that the architecture is not only the right one for operations, but also for
deployment and sustainment
 Resolve disputes and make tradeoffs
 Resolve technical problems
 Understand and plan for evolutionary paths
 Plan for new technology insertion
 Manage risk identification and risk mitigation strategies associated with the
architecture
Architect Roles
9/16/2013 ...... Being Architect !
With Others
9/16/2013 ...... Being Architect !
Architect
Project
Manager
DEV/OPS Teams
Customer
<Technical + Business>
Technical Analysis
Propose Solutions
Technical Ref./Conslt.
PM Activities *
Technical Ref./Conslt.
Tech. Decisions
Other Systems Integ.
PM Activities *
Client Req. Synch!
Teams Synch!
Strategy Synch!
Skill & Roles - ACF
 Architect domain as per Architect Competency
Framework (ACF) are:
 Technology
 Strategy
 Organization Politics
 Consulting
 Leadership
 There’s a competency table for each to show domain in
details.
9/16/2013 ...... Being Architect !
Skill & Roles - Architect Domain
Technology
What to Know What to Do What to Be
In-depth understanding of
the domain and pertinent
technologies
Identify and address
architectural challenges
Creative
Investigative
Practical/pragmatic
Understand what technical
issues are key to success
Create models and assess
alternative approaches
Prototype/experiment/sim
ulate
Insightful
Good at working at an
abstract level
Development methods and
modeling techniques
Prepare architectural
documents and
presentations
Technology trend analysis
Take a system viewpoint
Tolerant of ambiguity,
willing to backtrack, seek
multiple solutions
9/16/2013 ...... Being Architect !
Skill & Roles - Architect Domain
Strategy
What to Know What to Do What to Be
Organization’s business
strategy and rationale.
Influence business strategy.
Translate business strategy into
technical vision and strategy.
Visionary
Competition (products,
strategies and processes).
Understand customer and
market trends.
Entrepreneurial
Company’s business
practices.
Capture customer, organizational
and business requirements on
the Architecture.
9/16/2013 ...... Being Architect !
Skill & Roles - Architect Domain
Organization Politics
What to Know What to Do What to Be
Who the key players
are in the organization
Communicate, communicate,
communicate!
Listen, network, influence
Able to see from and sell to
multiple viewpoints.
Confident and articulate.
What they want, both
business and personal
Sell the vision, keep the vision
alive
Ambitious.
Patient and not Resilient.
Take and retake the pulse of all
critical influencers of the
architecture project
Sensitive to where the
power is and how it flows
in your organization
9/16/2013 ...... Being Architect !
Skill & Roles - Architect Domain
Consulting
What to Know What to Do What to Be
Elicitation techniques Build “trusted advisor”
relationships..
Understand what the
developers want and need
from the architecture.
Committed to others’
success.
Empathetic, approachable
Consulting frameworks Help developers see the
value of the architecture
and understand how to use
it successfully.
Mentor junior architects.
An effective change agent
A good mentor, teacher
9/16/2013 ...... Being Architect !
Skill & Roles - Architect Domain
Leadership
What to Know What to Do What to Be
Yourself Set team context (vision).
Make decision (stick).
Charismatic and credible
Build teams.
Motivate.
You believe it can and should be done,
and that you can lead the effort
You are committed, dedicated,
passionate.
You see the entire effort in a broader
business and personal Context
9/16/2013 ...... Being Architect !
Competency Conclusion
As you become more senior in architect role, it is less about what you know
and more and more about who you are -- your personal characteristics.
9/16/2013 ...... Being Architect !
To Build Architecture
 Goals, architectural goals tend to address the following
questions:
 What is the expected lifespan of the system?
 Will the system need to respond to technological changes
over that time, such as new versions of middleware or
other products?
 How frequently is the system expected to adapt to change?
 What changes can we anticipate in the future, and how can
we make them easier to accommodate?
9/16/2013 ...... Being Architect !
To Build Architecture
Patterns versus System Type
Category Pattern
Structure
Layers
Pipes and Filters
Blackboard
Distributed Systems Broker
Interactive Systems
Model-View-Controller
Presentation-Abstraction-Control
Adaptable Systems
Reflection
Microkernel
9/16/2013 ...... Being Architect !
To Build Architecture
Principles
9/16/2013 ...... Being Architect !
To Build Architecture
 Component Designing,
 Component replace-ability
 Source file replace-ability
 Deployment replace-ability
 Run-time replace-ability
 Location transparency
 Component instantiation
 Modeling Components
 UML Definitions -- A History
9/16/2013 ...... Being Architect !
To Build Architecture
 Reusing
 What is a Reusable Asset?
 Identifying Reuse Opportunities
 Assessing and Selecting Assets to Reuse
 Reuse Techniques
 Inheritance and Aggregation
 Finding Reusable Code
 Finding Reusable Code
9/16/2013 ...... Being Architect !
To Build Architecture
 Refactoring
 Code refactoring.
 Database refactoring.
 User interface (UI) refactoring.
9/16/2013 ...... Being Architect !
To Build Architecture
 Constraints
 Network topology
 Given database vendor or an existing database
 Web environment (server configurations, firewall, DMZs,
and so forth)
 Servers (hardware model, operating system)
 Use of third-party software or a particular technology
 Compliance with existing standards
9/16/2013 ...... Being Architect !
References
 The Hidden Roles of Software Architects
 pkruchten.files.wordpress.com/2010/05/kruchten_2008_journal-of-
systems-and-software.pdf
 The Role of Software Architects
 www.bredemeyer.com/pdf_files/role.pdf
 Characteristics of a software architect
 Software Architecture | Research | Previous Architecture Research |
Duties, Skills, & Knowledge of a Software Architect
 The Role of Architect vs. The Role of the Software Architect, A
Reality Check from Beautiful Architecture - O'Reilly FYI Blog
 http://epf.eclipse.org/wikis/openup/core.tech.common.extend_sup
p/guidances/concepts/software_architecture_59A08DE0.html
9/16/2013 ...... Being Architect !

Being Architect

  • 1.
    Prepared By Bahaa Farouk 9/16/2013...... Being Architect !
  • 2.
    Agenda  Who?  Roles? ACF!  To Build Architecture.  References 9/16/2013 ...... Being Architect !
  • 3.
    Architect Roles  1stand in advance, what are IT architect types:  Software Architect Design the technical solution of the entire application. The logical and physical structure.  Infrastructure Architect Ensure the safe and productive deployment and operation of enterprise applications. This involves managing hardware, network and operating systems.  Enterprise Architect Ensure convergence between business needs and technologies by establishing architectural guidelines such as enterprise conceptual data models or, in service-oriented environments, business service interfaces. 9/16/2013 ...... Being Architect !
  • 4.
    Who is? Simply  Architectureis the structure of the system, comprised of:  components or building blocks  the externally visible properties of those components, and  the relationships among them  The people who do this are called architects. 9/16/2013 ...... Being Architect !
  • 5.
    Architect Roles  2ndwhat’re main skill set in Architect  The architect is a technical leader  The architect understands the software development process  The architect has knowledge of the business domain  The architect has technology knowledge  The architect has design skills  The architect has programming skills  The architect is a good communicator  The architect makes decisions  The architect is a negotiator 9/16/2013 ...... Being Architect !
  • 6.
     Crafting theright architecture to solve the problem by:  Define, document, and communicate it  Ensures everyone is using it, and using it correctly  Ensures the software and system architectures are in synchronization  Ensures management understands it (to the detail necessary)  Identify and interact with stakeholders to make sure their needs are being met  Ensures that the architecture is not only the right one for operations, but also for deployment and sustainment  Resolve disputes and make tradeoffs  Resolve technical problems  Understand and plan for evolutionary paths  Plan for new technology insertion  Manage risk identification and risk mitigation strategies associated with the architecture Architect Roles 9/16/2013 ...... Being Architect !
  • 7.
    With Others 9/16/2013 ......Being Architect ! Architect Project Manager DEV/OPS Teams Customer <Technical + Business> Technical Analysis Propose Solutions Technical Ref./Conslt. PM Activities * Technical Ref./Conslt. Tech. Decisions Other Systems Integ. PM Activities * Client Req. Synch! Teams Synch! Strategy Synch!
  • 8.
    Skill & Roles- ACF  Architect domain as per Architect Competency Framework (ACF) are:  Technology  Strategy  Organization Politics  Consulting  Leadership  There’s a competency table for each to show domain in details. 9/16/2013 ...... Being Architect !
  • 9.
    Skill & Roles- Architect Domain Technology What to Know What to Do What to Be In-depth understanding of the domain and pertinent technologies Identify and address architectural challenges Creative Investigative Practical/pragmatic Understand what technical issues are key to success Create models and assess alternative approaches Prototype/experiment/sim ulate Insightful Good at working at an abstract level Development methods and modeling techniques Prepare architectural documents and presentations Technology trend analysis Take a system viewpoint Tolerant of ambiguity, willing to backtrack, seek multiple solutions 9/16/2013 ...... Being Architect !
  • 10.
    Skill & Roles- Architect Domain Strategy What to Know What to Do What to Be Organization’s business strategy and rationale. Influence business strategy. Translate business strategy into technical vision and strategy. Visionary Competition (products, strategies and processes). Understand customer and market trends. Entrepreneurial Company’s business practices. Capture customer, organizational and business requirements on the Architecture. 9/16/2013 ...... Being Architect !
  • 11.
    Skill & Roles- Architect Domain Organization Politics What to Know What to Do What to Be Who the key players are in the organization Communicate, communicate, communicate! Listen, network, influence Able to see from and sell to multiple viewpoints. Confident and articulate. What they want, both business and personal Sell the vision, keep the vision alive Ambitious. Patient and not Resilient. Take and retake the pulse of all critical influencers of the architecture project Sensitive to where the power is and how it flows in your organization 9/16/2013 ...... Being Architect !
  • 12.
    Skill & Roles- Architect Domain Consulting What to Know What to Do What to Be Elicitation techniques Build “trusted advisor” relationships.. Understand what the developers want and need from the architecture. Committed to others’ success. Empathetic, approachable Consulting frameworks Help developers see the value of the architecture and understand how to use it successfully. Mentor junior architects. An effective change agent A good mentor, teacher 9/16/2013 ...... Being Architect !
  • 13.
    Skill & Roles- Architect Domain Leadership What to Know What to Do What to Be Yourself Set team context (vision). Make decision (stick). Charismatic and credible Build teams. Motivate. You believe it can and should be done, and that you can lead the effort You are committed, dedicated, passionate. You see the entire effort in a broader business and personal Context 9/16/2013 ...... Being Architect !
  • 14.
    Competency Conclusion As youbecome more senior in architect role, it is less about what you know and more and more about who you are -- your personal characteristics. 9/16/2013 ...... Being Architect !
  • 15.
    To Build Architecture Goals, architectural goals tend to address the following questions:  What is the expected lifespan of the system?  Will the system need to respond to technological changes over that time, such as new versions of middleware or other products?  How frequently is the system expected to adapt to change?  What changes can we anticipate in the future, and how can we make them easier to accommodate? 9/16/2013 ...... Being Architect !
  • 16.
    To Build Architecture Patternsversus System Type Category Pattern Structure Layers Pipes and Filters Blackboard Distributed Systems Broker Interactive Systems Model-View-Controller Presentation-Abstraction-Control Adaptable Systems Reflection Microkernel 9/16/2013 ...... Being Architect !
  • 17.
  • 18.
    To Build Architecture Component Designing,  Component replace-ability  Source file replace-ability  Deployment replace-ability  Run-time replace-ability  Location transparency  Component instantiation  Modeling Components  UML Definitions -- A History 9/16/2013 ...... Being Architect !
  • 19.
    To Build Architecture Reusing  What is a Reusable Asset?  Identifying Reuse Opportunities  Assessing and Selecting Assets to Reuse  Reuse Techniques  Inheritance and Aggregation  Finding Reusable Code  Finding Reusable Code 9/16/2013 ...... Being Architect !
  • 20.
    To Build Architecture Refactoring  Code refactoring.  Database refactoring.  User interface (UI) refactoring. 9/16/2013 ...... Being Architect !
  • 21.
    To Build Architecture Constraints  Network topology  Given database vendor or an existing database  Web environment (server configurations, firewall, DMZs, and so forth)  Servers (hardware model, operating system)  Use of third-party software or a particular technology  Compliance with existing standards 9/16/2013 ...... Being Architect !
  • 22.
    References  The HiddenRoles of Software Architects  pkruchten.files.wordpress.com/2010/05/kruchten_2008_journal-of- systems-and-software.pdf  The Role of Software Architects  www.bredemeyer.com/pdf_files/role.pdf  Characteristics of a software architect  Software Architecture | Research | Previous Architecture Research | Duties, Skills, & Knowledge of a Software Architect  The Role of Architect vs. The Role of the Software Architect, A Reality Check from Beautiful Architecture - O'Reilly FYI Blog  http://epf.eclipse.org/wikis/openup/core.tech.common.extend_sup p/guidances/concepts/software_architecture_59A08DE0.html 9/16/2013 ...... Being Architect !