Software Architecture
                                Prof.Dr.ir. F. Gielen


The Architecture Business Cycle - ABC




 Vakgroep Informatietechnologie – IBCN
Software Architecture



Software Architecture
       Software creates Value
       Software Architecture Business Cycle
       What is Software Architecture ?




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 2
What is a business model ?

   It is a description of how your company
    intends to
         Create value
         Capture value


   High Tech Innovation:
         New product
         New Markets



Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 3
Why make a business model ?




        Measured in technical domain                    Measured in value domain


         The business model unlocks the value of the technology

         and justifies the capital requirements to implement it ..


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                              p. 4
Functions of the business model

 1.    Articulate the value proposition, that is, the value created
       for users by the offering based on the technology;
 2.    Identify a market segment, that is, the users to whom the
       technology is useful and for what purpose;
 3.    Define the structure of the value chain within the firm
       required to create and distribute the offering;
 4.    Estimate the cost structure and profit potential of the
       offering
 5.    Describe the position of the firm within the value network
       linking suppliers and customers, including identification of
       potential complementors and competitors;
 6.    Formulate the competitive strategy by which the
       innovating firm will gain and hold advantage over rivals.


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                 p. 5
Example: The Paperless Office




     •     What is the value proposition ?
     •     What are the market segments ?
     •     Who is your customer ?

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 6
Value Chain : Customers & Users
A   value chain is a “chain” of companies
   that work together to satisfy a market
   demand for a particular product.




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 7
Example: On-line Games




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 8
Example: The Paperless Office




         •     What is the value chain?
         •     Who is your customer ?


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 9
Creating value In the real world

    Only 28% of projects finish on time and within
     budget
    23 % of projects are cancelled before delivery
    The remaining projects (late, over budget) only
     delivered a fraction of the planned functionality.
                                              Standish Group CHAOS 2000 report



Software is increasing in :
•   complexity, size and functionality.
•   customer expectations
•   business value


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                            p. 10
… almost 10 years later




     Only 32% of projects finish on time and within
      budget
     24 % of projects are cancelled before delivery
                                                Standish Group CHAOS 2009 report


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                              p. 11
Failed projects : Motorola Iridium
                                            • 7 billion USD development cost
                                            • 88 satelites
                                            • 3.000.- USD for a phone
                                            • 2 billion satellite opex per month




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                          p. 12
Software Architecture Business Cycle



Software Architecture
       Software creates Value
       Software Architecture Business Cycle
       What is Software Architecture ?




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 13
The ABC: Architecture Business Cycle


                                                      1.    Stakeholder needs
                                                      2.    Business management issues
                                                      3.    Legal/contractual issues
                                                      4.    Commercial & competitive
                                                            pressures
                                                      5.    Technical environment
                                                      6.    Political issues
                                                      7.    Life-cycle issues


An architecture is the result of a set of business and
                 technical decisions
    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                        p. 14
Influence by Stakeholders
         Development     Marketing
                                        End user        Maintenance   Customer
         Manager         Manager                         Manager




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                            p. 15
Skills of a software architect
   Handle ( conflicting ) requirements from:
      business
      organisation
      customer
      finance people
 Be a technical guru.
 Be a diplomat
 …with great communication skills



                  Do you still want the job …. ?
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 16
Influence of the architect
   Organisation
      Subsystems = teams & skills
      Budget & schedule
      Build up the skill base for the company
   Business impact
      Development & maintenance cost
      Time to market
      Meet customer requirements




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 17
Architect a Doghouse




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 18
Architecting a High rise




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 19
Dimensions of complexity
                           Higher technical complexity
                               - Embedded, real-time, distributed, fault-tolerant
                               - Custom, unprecedented, architecture reengineering
                               - High performance
An average software project:
 - 5-10 people                                                                         Defense
- 10-15 month duration                                                Telecom       Weapon System
- 3-5 external interfaces                                              Switch
- Some unknowns & risks                                                                      National Air Traffic
                                               Commercial                                     Control System
                                    Embedded Compiler
                                    Automotive
                                     Software                          Large-Scale
Lower                                          CASE Tool            Organization/Entity
                                                                       Simulation
                                                                                                  Higher
management                                                                                        management
complexity                      Small Scientific                                                  complexity
- Small scale                     Simulation                                                        - Large scale
- Informal                                IS Application
                                                                                 Defense            - Contractual
                                       Distributed Objects   Enterprise IS
- Single stakeholder                                         (Family of IS      MIS System          - Many stake holders
                                           (Order Entry)
- “Products”                                                 Applications)                          - “Projects”
                                          IS Application
                                             GUI/RDB
                                           (Order Entry)
                        Business
                       Spreadsheet

                      Lower technical complexity
                       - Mostly 4GL, or component-based
                       - Application reengineering                                                      Walker Royce, Rational
                       - Interactive performance

    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                                                              p. 20
Software Architecture



Software Architecture
       Software creates value
       Software Architecture Business Cycle
       What is Software Architecture ?




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 21
Software Architecture Definition

   The Software Architecture of a program or
      computing system is the structure or
   structures of the system, which comprises
     software elements, the external visible
      properties of those elements and the
           relationships among them.



                                   Software
Requirements                                            Design
                                Architecture

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN            p. 22
Qualities in Software Architecture
                               Functionality




                                    Software
 System                                                 Architectural
                                  Architecture
 Qualities                                              Qualities



                                Business
                                Qualities




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                   p. 23
The Role of Software Architecture (1/2)

     Communicate among stakeholders
           Vocabulary for structure, system and constraints
           Making architectural choices
     Make early design decisions
           Resource allocation
           Organisation and work breakdown
      Inhibit and enables quality attributes
           High performance -> time budgets
           Scalable -> high capacity requirements
           Re-usable -> coupling
      Change Management
           local and non-local changes
           architectural changes
      Analysis
           System level analysis , verify structural constraints,
            consistency checking.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                p. 24
The Role of Software Architecture (2/2)
   Construction
      Partial blueprint, construction instructions.
   Evolution
      Allowable envelope of change, change impact
       analysis.
   Reuse
      components, and patterns for the organisation
   Management
      evaluation of milestones,
      identification of risks
   Basis for evolutionary prototyping
      Skeletal construction - vertical strip.




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN     p. 25
Sa002 abc

Sa002 abc

  • 1.
    Software Architecture Prof.Dr.ir. F. Gielen The Architecture Business Cycle - ABC Vakgroep Informatietechnologie – IBCN
  • 2.
    Software Architecture Software Architecture  Software creates Value  Software Architecture Business Cycle  What is Software Architecture ? Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 2
  • 3.
    What is abusiness model ?  It is a description of how your company intends to  Create value  Capture value  High Tech Innovation:  New product  New Markets Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 3
  • 4.
    Why make abusiness model ? Measured in technical domain Measured in value domain The business model unlocks the value of the technology and justifies the capital requirements to implement it .. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 4
  • 5.
    Functions of thebusiness model 1. Articulate the value proposition, that is, the value created for users by the offering based on the technology; 2. Identify a market segment, that is, the users to whom the technology is useful and for what purpose; 3. Define the structure of the value chain within the firm required to create and distribute the offering; 4. Estimate the cost structure and profit potential of the offering 5. Describe the position of the firm within the value network linking suppliers and customers, including identification of potential complementors and competitors; 6. Formulate the competitive strategy by which the innovating firm will gain and hold advantage over rivals. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 5
  • 6.
    Example: The PaperlessOffice • What is the value proposition ? • What are the market segments ? • Who is your customer ? Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 6
  • 7.
    Value Chain :Customers & Users A value chain is a “chain” of companies that work together to satisfy a market demand for a particular product. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 7
  • 8.
    Example: On-line Games VakgroepInformatietechnologie – Onderzoeksgroep IBCN p. 8
  • 9.
    Example: The PaperlessOffice • What is the value chain? • Who is your customer ? Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 9
  • 10.
    Creating value Inthe real world  Only 28% of projects finish on time and within budget  23 % of projects are cancelled before delivery  The remaining projects (late, over budget) only delivered a fraction of the planned functionality. Standish Group CHAOS 2000 report Software is increasing in : • complexity, size and functionality. • customer expectations • business value Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 10
  • 11.
    … almost 10years later  Only 32% of projects finish on time and within budget  24 % of projects are cancelled before delivery Standish Group CHAOS 2009 report Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 11
  • 12.
    Failed projects :Motorola Iridium • 7 billion USD development cost • 88 satelites • 3.000.- USD for a phone • 2 billion satellite opex per month Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 12
  • 13.
    Software Architecture BusinessCycle Software Architecture  Software creates Value  Software Architecture Business Cycle  What is Software Architecture ? Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 13
  • 14.
    The ABC: ArchitectureBusiness Cycle 1. Stakeholder needs 2. Business management issues 3. Legal/contractual issues 4. Commercial & competitive pressures 5. Technical environment 6. Political issues 7. Life-cycle issues An architecture is the result of a set of business and technical decisions Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 14
  • 15.
    Influence by Stakeholders Development Marketing End user Maintenance Customer Manager Manager Manager Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 15
  • 16.
    Skills of asoftware architect  Handle ( conflicting ) requirements from:  business  organisation  customer  finance people  Be a technical guru.  Be a diplomat  …with great communication skills Do you still want the job …. ? Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 16
  • 17.
    Influence of thearchitect  Organisation  Subsystems = teams & skills  Budget & schedule  Build up the skill base for the company  Business impact  Development & maintenance cost  Time to market  Meet customer requirements Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 17
  • 18.
    Architect a Doghouse VakgroepInformatietechnologie – Onderzoeksgroep IBCN p. 18
  • 19.
    Architecting a Highrise Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 19
  • 20.
    Dimensions of complexity Higher technical complexity - Embedded, real-time, distributed, fault-tolerant - Custom, unprecedented, architecture reengineering - High performance An average software project: - 5-10 people Defense - 10-15 month duration Telecom Weapon System - 3-5 external interfaces Switch - Some unknowns & risks National Air Traffic Commercial Control System Embedded Compiler Automotive Software Large-Scale Lower CASE Tool Organization/Entity Simulation Higher management management complexity Small Scientific complexity - Small scale Simulation - Large scale - Informal IS Application Defense - Contractual Distributed Objects Enterprise IS - Single stakeholder (Family of IS MIS System - Many stake holders (Order Entry) - “Products” Applications) - “Projects” IS Application GUI/RDB (Order Entry) Business Spreadsheet Lower technical complexity - Mostly 4GL, or component-based - Application reengineering Walker Royce, Rational - Interactive performance Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 20
  • 21.
    Software Architecture Software Architecture  Software creates value  Software Architecture Business Cycle  What is Software Architecture ? Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 21
  • 22.
    Software Architecture Definition The Software Architecture of a program or computing system is the structure or structures of the system, which comprises software elements, the external visible properties of those elements and the relationships among them. Software Requirements Design Architecture Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 22
  • 23.
    Qualities in SoftwareArchitecture Functionality Software System Architectural Architecture Qualities Qualities Business Qualities Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 23
  • 24.
    The Role ofSoftware Architecture (1/2)  Communicate among stakeholders  Vocabulary for structure, system and constraints  Making architectural choices  Make early design decisions  Resource allocation  Organisation and work breakdown  Inhibit and enables quality attributes  High performance -> time budgets  Scalable -> high capacity requirements  Re-usable -> coupling  Change Management  local and non-local changes  architectural changes  Analysis  System level analysis , verify structural constraints, consistency checking. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 24
  • 25.
    The Role ofSoftware Architecture (2/2)  Construction  Partial blueprint, construction instructions.  Evolution  Allowable envelope of change, change impact analysis.  Reuse  components, and patterns for the organisation  Management  evaluation of milestones,  identification of risks  Basis for evolutionary prototyping  Skeletal construction - vertical strip. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 25

Editor's Notes

  • #4 Business Modeling is s not different from the logic of scientific discovery: Start with a hypothesis Test in the market place Conceptual test: does it make sense ? Market test: do the numbers add up ?
  • #5 “ The functions of a business model are to: articulate the value proposition , that is, the value created for users by the offering based on the technology; identify a market segment , that is, the users to whom the technology is useful and for what purpose; define the structure of the value chain within the firm required to create and distribute the offering; estimate the cost structure and profit potential of producing the offering, given the value proposition and value chain structure chosen; describe the position of the firm within the value network linking suppliers and customers, including identification of potential complementors and competitors; formulate the competitive strategy by which the innovating firm will gain and hold advantage over rivals. These six attributes collectively serve additional functions, to justify the financial capital needed to realize the model and to define a path to scale up the business.The process begins with articulating a value proposition latent in the new technology. This requires a preliminary definition of what the product offering will be and in what form a customer may use it. The business model must then specify a group of customers or a market segment to whom the proposition will be appealing and from whom resources will be received. A customer can value a technology according to its ability to reduce the cost of a solution to an existing problem, or its ability to create new possibilities and solutions. Importantly, different prospective customers may desire different latent attributes of the technology. Thus, there is no single inherent value for the technology: if it subsequently were to be developed in different ways, it would likely accrue different value to its developer. Value, of course, is an economic concept, not primarily measured in physical performance attributes, but rather what a buyer will pay for a product or service. A further complexity is the fact that realizing value also involves third parties, both within the vertical value chain, and from the value network
  • #6 Example Digitial document management
  • #12 Example: Unisys – Phenix – Justice dept – 50 Mio € Na zes jaren van vertraging, verspilling en bochtenwringerij heeft defederale regering eenzijdig het contract opgezegd met Unisys in het kader van het Phenix-project. Dat project moest voorzien in demodernisering van het departement van Justitie. De FOD justitie werkt nu samen met Fedict aan een overbruggingsscenario.
  • #13 Many people argue that companies are able to use innovation to create needs within customers. The iPod is a classic example, people defend that the world never needed such fashionable device before Apple created it. In my opinion, however, it is not possible to create needs within customers.One can influence people and consumption behavior with marketing techniques but he can not create a need out of nothing. Every successful innovation addresses a task that customers were already trying to perform in the first place.The Iridium project launched by Motorola in the late 1990s illustrates this point perfectly. Around that time the mobile market was in ferment and service operators around the world were fighting to conquer the increasing number of mobile subscribers.Most mobile networks, however, were based on base stations that could cover a couple of kilometers each. Such technology obviously limited the range where operators could offer their services.In order to solve such a problem Motorola tried to develop a network that would cover literally the whole world. It looked like a great innovation and the management team was enthusiast about the idea that people would be able to talk anywhere from the Sahara Desert to the North Pole. The project required an investment of 7 billion dollars and it involved 88 satellites that were placed into orbit around the Earth.After the network was in place they started selling the services. The handsets were large and clumsy, after all they required a much more complex technology. They would also sell for $3000 a pop and call charges were incredibly high. But hey, those would allow users to communicate anywhere in the globe!A couple of months later, once the novelty worn off, people started to realize that there was not such a strong need to make calls from a remote city in Siberia or from an island in Polynesia, after all. But it was already too late. Motorola did not only missed the sales expectations by far but it was also forced to keep paying the maintenance of the satellites, which accounted for 2 billion dollars… monthly. Motorola invested into what could have been a very successful innovation, but there was no customer need to be met in the first place. In 1999 the Iridium project filled for Chapter 11 bankruptcy.
  • #16 Many people and organisations are interested in the construction of a software system. We call them the stakeholders: The customer, the end user , the developer, the people who maintain the system are a few examples. These stakeholders have different concerns that they wish the system to optimize or guarantee. The software architecture of a system is the first early artifact that allows to analyze the priorities of the competing concerns and translates them into system qualities.
  • #20 When we consider complex physical buildings, it is immediately apparent that we could not do without architecture. The result is at best baroque. Along with theclumsiness, inelegance and discord in the structures, we get • duplication, redundancy, wasted effort, rework • gaps • poor integration, inconsistency, mismatch We simply could not imagine building a skyscraper without an architecture! Now there is not just the need for integrity of the design, consistency of assumptions, and integration among the parts. Even for theinexpert, other considerations loom large: The sequence of work has to be carefully planned. Also, structural qualities have to be designed --including the building ’ s ability to bear load, it ’ s behavior under high-winds, the ability to move people as well as bulky heavy equipment into the building. All these normal conditions, and unusual conditions like fire, earthquake, and terrorist attacks, have to be taken into account. If they are not explicitly taken into account in creating the architecture, it is left purely to a matter of luck and who can afford this?
  • #23 While there are numerous similar definitions of software architecture, at the core of all of them is the notion that the architecture describes its gross structure using one or more views. The structure in a view illuminates a set of top level design decisions, including such as how the system is composed of interacting parts, the main ways of interaction and communication and the propoerties of the parts. Software architecture typically plays a key role as a bridge between requirements and design and by providing an absrtact description of the system it gives the designer a tool to assess certain system requirements and suggest methods for construction and implementation
  • #25 Communication among stakeholders Understanding, vocabulary for structure, system and constraints. Making architectural choices.
  • #27 Simon Brown at C5 – Jersey -