Software Architecture Colloquium

download Software Architecture Colloquium

of 13

Transcript of Software Architecture Colloquium

  • 8/14/2019 Software Architecture Colloquium

    1/13

    1

    Software Architecture WorkshopSummary

    A. Barletta

    ASL

    Sony Corporate Laboratories Europe

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.02

    Summary

    l Architecture (what you do)

    l Architecting (how you do the process)

    l Architects (who they are)

    l Conclusions

  • 8/14/2019 Software Architecture Colloquium

    2/13

    2

    Architecture

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.04

    What is an Architecture ? (I)

    Gigantic

    New

    Visionary

    Immortal

    Multi tier

    Expensive

    Technology

  • 8/14/2019 Software Architecture Colloquium

    3/13

    3

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.05

    What is an Architecture ? (II)

    l Definitions:

    There are 3 reasons why Software Architecture is important

    a) communication among stakeholders,

    b) early design decisions, and

    c) transferable abstraction of the system

    Architecture is the structure of the system, comprised of

    a) components or building blocks,

    b) externally visible properties of those components and therelationships among them

    l Definitions:

    There are 3 reasons why Software Architecture is important

    a) communication among stakeholders,

    b) early design decisions, and

    c) transferable abstraction of the system

    Architecture is the structure of the system, comprised of

    a) components or building blocks,

    b) externally visible properties of those components and therelationships among them

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.06

    When do we need an Architecture ?(I)

    l Large/Complex System

    Number of people (communication)

    Time Frame Size of the artifacts

    l Multiple Interactive Applications

    Different technical/engineering areas

  • 8/14/2019 Software Architecture Colloquium

    4/13

    4

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.07

    When do we need an Architecture ?(II)

    l Product Family

    Ex: Sony Home Devices -> Symphony !

    l Technology Architecture

    Java 2EE, .Net, CORBA,etc

    l Domain Standard/Reference Models Harmonization of a large domain

    UML, ISO-OSI, etc

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.08

    Software Architecture Domain

    l Technology Engineering: Java, C++, digital signal processing

    Is it good ?

    l Environment or Context team, company structure, resources, etc

    Is it right ?

    l Political Finance, Engagement

    Is it successful ?

    Tensions & Conflict

  • 8/14/2019 Software Architecture Colloquium

    5/13

    5

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.09

    Big Stones First !!

    lPut in the Jar the BIG stones first

    lArchitectural Principles

    lArchitectural Styles

    l Important Properties

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.010

    Divide et Impera

    lReduce complexity

    lConstraint infinite choices

    l Focus on priorities

    Intellectually manageable

    Socially manageable

  • 8/14/2019 Software Architecture Colloquium

    6/13

    6

    Architecting

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.012

    Architecting

    l It is the step-by-step process to build a properArchitecture starting

    l from the contextual forcesl problems to solvel environment

    l skills

    l to the final solutionl Architectural principles, styles, attributes, etc

    l Architect document (components, interfaces, protocols, etc)

    The process is a framework to be used properly.

  • 8/14/2019 Software Architecture Colloquium

    7/13

    7

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.013

    Software Architecture Model (I)

    l Meta-Architecture

    l Architecture

    Conceptual Architecture

    identification of components and allocation of responsibilities

    Logical Architecture

    design of component interactions, connection mechanisms, protocols

    Execution Architecture

    physical allocation of resources and process

    l Architecture Guidelines and Policies

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.014

    Software Architecture Model (II)

  • 8/14/2019 Software Architecture Colloquium

    8/13

    8

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.015

    Software Architecting

    Init/Commit

    Deployment

    Architectural

    Requirements System

    Structuring

    Architecture

    Validation

    Architects

  • 8/14/2019 Software Architecture Colloquium

    9/13

    9

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.017

    Architect(s) Role

    l Domains of competency

    l What you know ?

    l What you do ?

    l What you are ?

    l How many do you need ?

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.018

    Domains of CompetencyFramework

    Technology

    BusinessStrategy

    OrganizationalPolitics

    ConsultingLeadership

    What youARE

    What youDO

    What youKNOW

  • 8/14/2019 Software Architecture Colloquium

    10/13

    10

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.019

    Domains of Competency

    l Leadership

    Technical, Intellectual

    l Consulting

    Willing to provide support

    l Organizational Politics

    Who is in control of What

    l Business Strategy

    Visionary but with the feet on the ground

    l Technology

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.020

    What you know ?

    l Understanding what technical issues are thekey to success

    l Modeling techniques & development methodsl Organizations business strategy and rationale

    l Understand where are the Key players in theorganization

  • 8/14/2019 Software Architecture Colloquium

    11/13

    11

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.021

    What you do ?

    l Communicate, Communicate and Communicate

    l Modeling, tradeoff analysis, prototype,experiment, system viewpoint

    l Prepare architectural documents andpresentations

    l Translate business strategy into technicalvision and strategy

    l Motivate and make decisions

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.022

    What you are ?

    l Investigative, Creative and Practical

    l Visionary

    l Ambitious and driven, patient and notl Good mentor, teacher

    l Committed, dedicate, passionate

  • 8/14/2019 Software Architecture Colloquium

    12/13

    12

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.023

    Conclusions

    l Architecture Structure of the solution: good, right and successful

    Divide et Impera, reduce complexity

    l Architecting Architecture Model and Process

    l Architects What you DO, you KNOW, you ARE

    Communication

    SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.024

    References

    l http://www.bredemeyer.com/papers.htm

  • 8/14/2019 Software Architecture Colloquium

    13/13

    13

    Thank you very much for yourpatience J

    Any Question ?