Академический Документы
Профессиональный Документы
Культура Документы
Contents:
Architecture & Architects
Architecture Frameworks & methodologies
ISO/IEC 42010 (ANSI/IEEE 1471)
Zachman framework
Introduction to TOGAF
Architecture Modelling languages & techniques
Use Case
Stakeholder Analysis
Value Chain Analysis
Top Down Bottom Up
Functional & Non-functional requirements
CRUD matrix
Changes
List of standards
Migration Planning
Implementation Management
Governance & Control
What is an “Enterprise”?
An Enterprise is often described as a “big and complex business” while, in fact, enterprises do not have
to that big, it does give a good idea about how the term is perceived. Perhaps a better way to try and
define an Enterprise is to consider it as “a collection of organisations which establish an area of
common activities and resources so that they can achieve a common goal or goals”.
Organisations can mean many things: Segments, Business or Organisational Units, or Cost Centres for
example. Organisations may be one business or a collection of businesses. Enterprises can be long
term and strategic (such as the historic collaboration between Canon and Hewlett Packard which led to
the HP Laserjet series of printers), or short term and tactical (such as a small retail organisation with
expansion plans that works closely with several key suppliers in a mutually beneficial relationship). The
common area can even be found inside a single organisation if it is large enough.
Enterprises are co-operative endeavours, each organisation will set its own objectives and have its
own structure of management. The fact that these disparate businesses have chosen to work with each
other in pursuit of a common goal does not mean that there is no political conflict. The way an Enterprise
is put together and managed is something that needs to be understood by any aspiring Enterprise
Architect (EA).
What is “Architecture”?
Architecture has a specific meaning for EAs as you would suspect. EAs talk about “defining the
Architecture” or “Governing the Architecture”, or “Implementing the Architecture” etc. So what do they
mean by this term? Architecture is simply, the process for documenting and describing an Enterprise or
part of it. The BCS Reference Model provides two definitions:
So if we want to understand how our Enterprise is put together we need architecture and guess who
creates this architecture?
In addition each level of Architect has their own specific responsibilities which we shall be looking into
next.
An EA needs a wide and eclectic knowledge of everything IT. Databases, Networks, Software,
everything. The need is to be able to understand what the various specialists (in the “lower” layers) are
talking about. Have a look at this advert for an Enterprise Architect posted on a job site – it gives a good
idea of why EAs are so special:
All businesses need coherent planning (an example of non-coherent planning is digging up the road
one week to lay electric cables and then digging it up again the following week to lay phone lines). The
practice of Enterprise Architecture supports structured and coherent planning within complex business
systems such as Enterprises. The EA does not act alone but can call in and co-ordinate the skills and
efforts of other IT Architects and experts such as Solution Architects and Domain Architects.
Architecture Domains
Enterprise Architecture covers a wide area of interests. When examining a business, or part of it, it is
often useful to work with a partial representation of the whole. Hiding or masking areas not of interest at
the time can bring clarity and focus to the architecture endeavour. These portions of the whole
Enterprise are called Architecture Domains and the people who understand and work with them are
known as Domain Architects.
Primary domains
Depending on who you talk to there are three or four major or primary domains (and a few “lesser”
domains which I will mention later). Both TOGAF and BCS agree on the number “4” so I will follow their
lead were possible. TOGAF & BCS do use slightly different names however so I will list them both here:
Business architecture: The structure and behaviour of a business system (not necessarily
related to computers). Covers business goals, business functions or capabilities, business
processes and roles etc. Business functions and business processes are often mapped to the
applications and data they need.
Data architecture: The data structures used by a business and/or its applications.
Descriptions of data in storage and data in motion. Descriptions of data stores, data groups and
data items. Mappings of those data artefacts to data qualities, applications, locations etc.
The reason why some people say there are three primary domains is that they lump Data & Application
together as IS (or Information Systems). Here is a slightly different view of what the domains are about:
Domain Architects cluster tightly under the Enterprise Architect. They work closely together
According to the BCS Reference Model as well as the general responsibilities discussed earlier the
following are specific responsibilities for the Solutions Architect:
Software Architect
The Software Architect is very much a detail person. They will often work with one application
understanding and modelling the internal structure and modules that a complex application uses (think
of SAP for example). Two complex applications that really need an expert software person on the team
are ERP (&/or SCM) & CRM systems.
Other Domains
As I said, there are several other domains sometimes mentioned. Here are a few of them:
Information architecture
Information systems architecture.
Security architecture
Stakeholder analysis
Scope
Requirements
Constraints
Transition planning (positioning the Enterprise from Baseline to Target perhaps via an
Intermediate state)
Governance (both implementation projects and architecture definition)
A methodology lifecycle
There are lots of frameworks out in the world the most well-known is TOGAF however other names
which crop up are:
The Zachman Framework for Enterprise Architectures (not really an Architectural Framework
many say but usually considered the starting point)
The Open Group Architecture Framework (TOGAF)
Federal Enterprise Architecture (FEA)
Gartner Architecture Framework (GAF)
ISO/IEC 42010 (also not really a framework actually a standard for one)
We will look at TOGAF, ISO/IEC 42010 & Zachman later in these notes but for now let’s look into what
a methodology is.
Set up Governance and planning bodies (the planning body is the project management team)
Understand exactly what needs to be achieved
Plan & cost the project
Run the plan adapting as circumstances dictate
Create the deliverables and test them to ascertain that them meet the customer’s requirements
Tidy up loose ends, identify & record lessons, attend the post project party
This is the methodology or lifecycle or a project, each bullet point could be considered a phase or
process. Enterprise Architecture involve running projects so part of a good Architecture Framework
should be a description of the phases of the lifecycle or process and identification of the tasks needed to
perform each phase successfully.
Vision
This is the flash point or instigation or the cycle. It is the recognition that there is a need for the
Enterprise to change.
This is when the Enterprise Architecture team (doers) and the Architecture Governance Board (decision
makers) are formed. The scope of the work is determined and the Vision (what the expected end state
of the change is) decided. The work to be carried out in the Architecture Definition and Migration
Planning sections is planned (and if necessary a Business Case justifying this work is produced)
Architecture Definition
The EA and the Domain Architects roll up their collective sleeves and get to work understanding the
current state of the Enterprise (or rather the bits they are interested in this time). Once they understand
the Baseline they describe the Target state which is how the business needs to be to deliver on the
vision. Once both states are described it becomes possible for the team to perform a Gap Analysis
identifying the difference between the two states (illustrating what needs to change).
The Architecture Definition provides Architecture Descriptions which in this context refers to the act of
describing the structure and behaviour of an enterprise or system. An Architecture Description is
supposed to be more than just a model it should be a “comprehensive knowledge structure” (BCS
Reference Model). Many Architecture Frameworks stop at the Architecture Description stage handing
over all responsibility for implementation to other specialist. Some (such as TOGAF and our example)
continue the cycle into planning and oversight although they acknowledge that the EA’s input is usually
minor (perhaps a watching brief).
Migration planning
Now that the team knows what needs to be done the next step is to plan how to do it. Migration planning
involves Solution Architects and Programme & Project Managers working with the EA to produce a
programme of architecture implementation projects which, if sanctioned by the business, will transform
it into the shape needed to support the vision. The implementation projects should have Business
Cases written for them so that the Business Leaders can determine whether they should be authorised
to start.
Once this stage is completed the EA’s responsibilities are almost concluded.
Architecture Governance
This is the preserve of the Architecture Governance Board (or Governance Board or Architecture
Board). The AGB is formed of senior Business managers who usually have authority for the
organisations or business areas within the Enterprise which will be changed by this architectural work.
The AGB is appointed right at the beginning of the cycle (Vision in our example) then deploy when the
Architecture definition starts.
Architecture Repository
All the work performed by the Enterprise Architecture team, all their models and artefacts etc need to be
stored somewhere. Enterprise Architects tend to use the term Architecture Repository for this. The
BCS definition of an Architecture Repository is:
There are many ways of categorising the Architecture Repository. TOGAF & Zachman, for example,
use a tabular system (a grid composed of columns and rows).
ISO/IEC 42010
ISO/IEC/IEEE 42010:2011 is an ISO standard describing best practice to create Architectural
Descriptions of software intensive systems (Architectural Descriptions were described above). It started
life as ANSI1471 and is also known as IEEE1471. Whatever you call it, the standard addresses the
creation, analysis and sustainment of architectures of systems through the use of architecture
descriptions.
A conceptual model of architecture description is established and the required contents of an
architecture description are specified.
Amongst other things, the standard covers
Architecture viewpoints
Architecture frameworks
Architecture description languages are introduced for codifying conventions and common practices of
architecture description.
Entities
At the lowest level are Architecture Entities. These are the basic Building
Blocks of any Architecture Description being a single describable
component. If you think of an entity as something that is treated as a black
box you will not go far wrong. If I was making an Architecture Description of
my kitchen for example an entity could be “Washing Machine” or “Cooker” or
“Fridge”. I know what these things do and can describe what they need to be
for me to consider them as satisfactory (for example I can state the
dimensions and connections that a washing machine needs to conform to if it
is to fit in my kitchen); if the Washing Machine goes wrong I can replace it with another that conforms to
my idea of what a good washing Machine is (that’s after I’ve removed all the dog hairs from the filter
anyway!). Sometimes entities are split into sub-entities it depends on how much detail is needed in the
description, for example my washing machine could be sub-divided into “motor”, “pump”, “controller” etc.
Entities are usually associated with a particular domain. Often an entity is defined with a standard
template.
Artifacts
Are used to describe entities and the relationships between them. In a way, artifacts are models. For
example a plan of my kitchen could be considered an artefact as it shows were all the appliances are
located. Artifacts can be built up out of other artifacts as well (like a plan of my house).
Typically, entities are combined in lists (or catalogues), matrixes, or diagrams. Below is a common
artefact – a principles catalogue:
This can be used for such things as gap or impact analysis, requirements traceability, or cluster/affinity
analysis.
Not only artefacts can perform mapping, views can also perform this task
Deliverables
Anything output from an architecture project is considered to be an architecture deliverable
Architecture Description, Artifacts, and entities are all examples of deliverables.
Viewpoint
The ISO definition of a viewpoint is: ““what
views of the same kind look like… a schema
or template… describing the purpose and
intended audience of the view”
A viewpoint identifies the information that a stakeholder needs to be provided with by the EA. It should
also define how that information is formatted and how and when it should be delivered.
It is a good idea to store old viewpoints for reuse by architects in the same organisation.
View
The ISO definition of a view is: “a representation of a whole system from the perspective of a related
set of concerns, to demonstrate to one or more stakeholders that their concerns are addressed in the
design of the system.”
Views are decomposable; An EA creates views by joining together artifacts (which can be used in other
views).
Views are instances of a particular viewpoint that is a viewpoint is a question and the view the answer.
As we have seen, a viewpoint defines a view’s scope (the concerns which need to be addressed). As a
stakeholders set of concerns rarely changes a viewpoint is comparatively stable however the same
cannot be said for its associated view – as the data changes the EA needs to make sure the view is also
refreshed.
The 6 rows cover each of the perspectives (stakeholder groups and architecture viewpoints) outlined
above. They move through levels of idealisation-realisation from highest level context to operational
systems (Scope, Enterprise Model, System Model etc) however the rows should not be interpreted as
levels of decomposition
The 6 columns are primarily analysis questions (What?, How?, When? etc) the focus of these shifts
depending on who is asking the question (ie the row) they can also be seen as architecture domains
and are often re-titled as data, function, network (or Locations), people, time and motivation respectively.
These represent different areas of interest for each perspective.
Each row in the data column addresses understanding of, and dealing with the enterprise’s data. Row
one shows a list of items that concern the company. As you move down the matrix, you move to
progressively more rigorous descriptions of the data. Not only are the descriptions more detailed, they
are from the differing perspectives of the owner, designer, builder, operator, etc.
The rows of the function column describe the process of translating the mission of the enterprise into
successively more detailed definitions of its operations. As you move down the rows, the business
processes become more defined, until eventually executable code for the system can be produced.
The Network/ locations column is concerned with the geographic distribution of the enterprise’s
activities. Any enterprise which operates from two or more physical locations, will eventually need to
deal with intra-office communication, networking, networking protocols, etc. Similar to other columns,
moving down through the rows, shows the various perspectives and detailed definitions of
communications plans, and networking infrastructure needed to accomplish the communications
facilities a business would need to effectively operate their information systems in a geographically
distributed way.
Introduction
Developed and maintained by members of The Open Group, The Open Group Architecture Framework
(TOGAF) is probably the most popular and highly used Architecture Framework in use today. TOGAF
includes a detailed methodology called the Architecture Development Method (ADM) and a set of
supporting tools, techniques and artefacts. TOGAF is designed to be customised and will work
alongside other frameworks such as Service Management and Project & Programme Management.
TOGAF may be used freely by any organisation wishing to develop an enterprise architecture.
History
TOGAF Version 1 (1995) was based on the Technical Architecture Framework for Information
Management (TAFIM), developed by the US Department of Defense (DoD).
The DoD gave The Open Group explicit permission and encouragement to create TOGAF by building
on the TAFIM, which itself was the result of many years of development effort and many millions of
dollars of US Government investment.
Starting from this sound foundation, the members of The Open Group Architecture Forum have
developed successive versions of TOGAF and published each one on The Open Group public web site
The current version is TOGAF Version 9.1
The ADM cycle starts with getting the right people together, that is those that have the technical ability to
perform an Architecture definition and senior managers who will support and direct them. A Request
for Architecture Work will be produced defining what the Technical Team (lead by Enterprise
Architects) is being asked to undertake.
If all is well then the cycle starts and the Phase A gets underway. Here the technical team plan how they
will undertake the Architectural Definition and Architecture Implementation planning parts of the cycle.
This is documented in the Statement of Architecture Work. The Enterprise & Domain Architects
commence to beaver away (phases B-D) moving through the four primary domains modelling the
baseline and desired target states of each and performing gap analysis.
In Phase E they construct an outline Roadmap (or schedule of projects showing how the Enterprise
could be transformed to meet its business needs.
In Phase F the outline Roadmap and its supporting Implementation & Migration Plan is costed and if
acceptable to senior managed finalised.
In Phase G the Implementation & Migration Plan is handed over to the Programme Managers to run
with the EA auditing the projects to make sure they stay honest and remain on track to meet
requirements.
The AGB are put together in the preliminary phase but move into Phase H after the Request for
Architecture Work has been approved. They perform oversight and governance of the Enterprise and
other Architects who have been involved doing the technical work. They consider Request For Changes
and other issues and risks.
Organisation Sponsors
Organisation’s mission statement
Business goals and changes
Strategic plans of the business
Time limits
Changes in the business environment
Organizational constraints
Budget information, financial constraints
External constraints, business constraints
Current business system description
Current architecture/IT system description
Description of developing organization
Description of resources developing organization has available
In Phase A the EA Team plans how they will perform the work which will create a programme of work to
make the necessary change. This information is contained in the Statement of Architecture Work.
The aim of the Statement of Architecture Work (SAW) is to act as a “control pack” for the Architecture
definition project.
That is the work needed to identify what needs to be changed and plan a programme of works to
implement that change.
B-D: The Architectural Vision (the high level description of the gap that needs to
Business, IS, be closed) is looked at in more detail across the four domains
Technology B: Business
Architectures C: Application & Data
D: Technology
Detailed Domain A detailed Baseline & Target architecture is described
Definition
The gaps between the two are identified
Potential ways of bridging the gaps found and functional specifications
(Architecture Building Bocks) drawn up
G: The delivery projects are underway but the EA still needs to keep an eye on
Implementation them
Governance In phase G, Architectural Contracts are issued (to define and start the
Oversight & control projects)
of implementation Audit the projects
projects Handle change requests and other issues
At this point you update the Project Sponsor and create a summary of what the project is about (this is
the “Request for Architecture Work”) TOGAF states this is prepared by the Project Sponsor by the way.
The Data Architecture: describes what kind of data you need to take care of for your online
shop capability. Customer data, product data, payment data, shipping data, product pictures,
and ingredient lists, etc.
It also describes where the data comes from, where it flows to, who needs what data when and
so on. We see two types of data here: Structured data (what you'd place into a database) and
unstructured data (i.e.: flat files).
The Applications Architecture: describes what applications you need to handle your data:
Web portals, CRM applications, supply chain management applications, shipping and tracking
applications, order management applications, payment processing applications, candle
personalisation and mixing order processing applications etc.
More diagrams, more catalogues and more matrices are created to describe this stage of
building your on-line shop.
Column Focus
Foundation Generic: structures and items that are universal
Common Structures (composed of foundation items) that are used across most business
systems domains
Industry Structures and items used by Enterprises in one business domain (say Telecoms or
Banking)
Organisation Specific to one business: Structures and items specific or bespoke to a single
enterprise
The TRM is so abstract that just about any business or Enterprise can be
modelled by it. It is useful as when starting to do Enterprise modelling,
people can use the TRM as a guide to get them started in creating their own
more specific model.
What is a model?
A model is a simplified description of something (or part of something), it provides a limited
representation of entities and events in the real world (in this case typically Enterprise based systems).
Being simplified it can mask out complexity and parts of the whole that would distract often providing
clarity of understanding to answer specific concerns or questions (you can draw the link between this
and views/viewpoints yourself).
Instead of model Enterprise Architects often use the terms artefact or view however recall that artefacts
(and views) are composed themselves of artefacts so sometimes a model is a little more complex
consisting of a number of artefacts and the mappings between them.
Do not think we are talking Airfix kits or Lego bricks here – in Enterprise Architecture models etc are
usually abstractions drawn as diagrams or matrixes.
Idealisation hierarchy
Models are a form of Idealisation and exist in a hierarchy moving
from high level conceptual through logical models to end up with
physical models
Often a good set of tools is helpful moving up and down this stack
and this is where MDA (Model Driven Architecture) can help out.
MDA is promoted by the Object Management Group. The idea is to
encourage vendors to develop tools that help transform models
between the layers going down (forward engineering) or going up
(reverse engineering) as we move between a conceptual model to
a logical model, and a logical model to a physical model.
As we have seen there are several layers of abstraction from the highest conceptual view down to
physical models. The TOGAF Continuum can be viewed as a series of abstracted layers (the Zachman
cannot).
Usually the higher more abstract layers cover more scope than the detailed layers below them. EA’s
usually work with the highest levels of abstraction leaving the detail to other specialists. Obviously there
is an opposite process to Abstraction; this opposite is the process of adding more detail or becoming
more specific.
Abstraction is a tool that every architect must be able to use. Enterprise architects work with the highest
abstractions.
There are a number of terms associated with the term Abstraction and the BCS syllabus offers a precise
definition of each which I have assembled into table on the next page:
Idealisation Realisation
1: A kind of generalisation that produces a logical The opposite of idealisation; leads to the
description of a physical component or process. instantiation of physical materials. It can be
Reverse engineering to produce a description that viewed as forward engineering, as a
can be presented as the requirement for the real progression from requirement to solution
thing.
2: The separation of an interface from the
component(s) that realise the interface.
Enterprise architects define logical components and
services
How do we model? There are a number of Modelling Techniques and Modelling Languages that an
EA needs to be aware of – we will discuss these next.
Process models
Data models
Context diagrams
Use case diagrams
Data flow diagrams
Interaction/sequence diagrams
System objects have both behaviour (they do things) and state (they know things or they can be in one
of a number of positions). The behaviour and state of some objects can be incredibly complicated, so
complex in fact that developers can have difficulty understanding them. By providing a standard,
pictorial description of behaviour and/or state, system modelling languages help provide clarity and
understanding.
Overview
IDEF (for Integrated Definition) is a group of modelling methods that can be used to describe operations
in an enterprise. IDEF was created by the United States Air Force and is now being developed by
Knowledge Based Systems
IDEFØ is a method designed to model the decisions, actions, and activities of an organization or system.
IDEFØ was derived from a well-established graphical language, the Structured Analysis and Design
Technique (SADT). Effective IDEFØ models help to organize the analysis of a system and to promote
good communication between the analyst and the customer. IDEFØ is useful in establishing the scope
of an analysis, especially for a functional analysis. As a communication tool, IDEFØ enhances domain
expert involvement and consensus decision-making through simplified graphical devices. As an
analysis tool, IDEFØ assists the modeller in identifying what functions are performed, what is needed to
perform those functions, what the current system does right, and what the current system does wrong.
Thus, IDEFØ models are often created as one of the first tasks of a system development effort.
In December 1993, the Computer Systems Laboratory of the National Institute of Standards and
Technology (NIST) released IDEFØ as a standard for Function Modelling in FIPS Publication 183.
Communication
IDEFØ concepts designed to enhance communication include the following:
Control of the details communicated at each level (three to six function boxes at each level of a
decomposition).
Bounded Context (no omissions or additional out-of-scope detail).
Diagram Interface Connectivity (Node numbers, Box numbers, C-numbers, and Detail
Reference Expression).
Data Structure Connectivity (ICOM codes and the use of parentheses).
Unique Labels and Titles (no duplicated names).
Syntax Rules for Graphics (boxes and arrows).
Data Arrow Branch Constraint (labels for constraining the data flow on branches).
Input versus Control Separation (a rule for determining the role of data).
Data Arrow Label Requirements (minimum labelling rules).
Minimum Control of Function (all functions require at least one control).
Purpose and Viewpoint (all models have a purpose and viewpoint statement).
UML Classes
In UML Classes are used to represent Objects. An
Object can be anything having properties and
responsibility.
The UML symbol for a Class is a rectangle which is
divided into four parts:
Class name
Class attributes
operations performed by the class.
(optional ) shows any additional components
A Component is used to represent any part of a system for which UML diagrams are made
Structural Diagrams – depict what must be present in a system being modelled. A component diagram
is an example of a structural diagram.
Here is an example of a very basic component diagram, depicting something that you may have learned
in a science lesson at school.
In this example each component (cloud, air, lake) is a complicated subsystem that connects with
another component by producing a requirement (condensation, precipitation, evaporation) needed by
another component..
The states of the door are depicted in the oblong boxes. The door can be in one of three states: Opened,
Closed or Locked
It can respond to the events: Open, Close, Lock and Unlock
Not all events are valid in all states ie if a door is open you cannot lock it until you close it.
Some events can also have conditions applied to them ie when transitioning from open to closed state,
we can apply a ‘guard condition’ that will not let us close the door if the doorway is not empty (doorway
->isempty)
Layers
In Archimate the architecture is divided into 3 layers: business, application and technology.
Business Layer – consists of business processes, services, functions and events of business units. It
offers products and services which are realized in the organization by business processes performed by
actors and roles.
Application Layer – consists of software applications that provide services to support the business
Technology Layer – consists of hardware and communication infrastructure components that provide
infrastructural services that support the application layer.
The general structure of models within each layer is similar, using similar concepts and relationships,
although the exact nature and detail will vary.
a service element – a unit of functionality that a system exposes whilst hiding its internal
operations
an interface element – a point of access where one or more services are made available to the
environment
In addition to these basic elements, Archimate also includes a motivation extension that allows
modelling of concepts such as goal, principle and requirement. This element permits describing the
context or reason lying behind the architecture of an enterprise.
Use Cases
A use case (literally a “Case of Use”) is a methodology used in system analysis to identify, clarify, and
organise system requirements. A Use Case describes how an Actor uses a System (usually to support
an OPOPOT business process step). A use case provides context for understanding system
development requirements and thereby provide the analysis necessary in finding out the functional
requirements of a software system. By ‘use’ we refer to how an actor (a person, system or computer)
may need to use a system in order to carry out an objective or set of objectives.
The use case is made up of a set of possible sequences of interactions between systems and users in
a particular environment and related to a particular goal. It consists of a group of elements (for example,
classes and interfaces) that can be used together in a way that will have an effect larger than the sum of
the separate elements combined. The use case should contain all system activities that have
significance to the users.
A Use Case usually has one main path and several alternative (or exception) paths. The details of each
step (including any automated services invoked) may be documented separately from the use case
itself.
A use case can be text based (Use Case Description) or visual in the form of a (Use Case Diagram).
Use cases can be employed during several stages of software development, such as planning system
requirements, validating design, testing software, and creating an outline for online help and user
manuals.
Actor – anyone or anything that performs a behaviour (who is using the system)
Stakeholder – someone or something with vested interests in the behaviour of the system
under discussion
Primary Actor – stakeholder who initiates an interaction with the system to achieve a goal
Preconditions – what must be true or happen before and after the use case runs.
Triggers – this is the event that causes the use case to be initiated.
Main success scenarios [Basic Flow] – use case in which nothing goes wrong.
Alternative paths [Alternative Flow] – these paths are a variation on the main theme. These
exceptions are what happen when things go wrong at the system level.
Use case diagram provides a graphical overview of goals (represented by use cases) users
(represented by actors) want to achieve by using the system (represented by system boundary but is
often left out in the diagram).
The main purpose of modelling with a use case diagram is to establish a solid foundation of the system
by identifying what the users want. Based on the result of analysis you can move forward to study how
to fulfil those user needs.
Here is an example of a use case diagram, depicting how actors may use the system to carry out their
objectives which in this instance are to:
In the above example, we identify that the Customer requires to system to Select (a) Holiday, Book
(a) Holiday and Book (an) Excursion. The Holiday company (User) needs to Place (an) Advert and
the Web Admin needs to Insert (the) Advert onto the web site.
2.FILL RESERVATION
FORM(NAME,SURNAME,ADDRESS,
PHONENO,VACATION DATES, ROOM
TYPE, NO OF PEOPLE)
3.SUBMIT FORM
3.1CHECK FOR DATA VALIDITY
3.2CHECK ROOM AVAILABILITY
ACCORDING TO VACATION DATES, ROOM
TYPE, NO OF PEOPLE
3.3DISPLAY CONFIRMATION PAGE WITH
RESERVATION DETAILS AND TOTAL PAY
AMOUNT
4.1DISPLAY PAYMENT OPRIONS PAGE
4.SELECT CONFIRM LINK
5.SELECT SUITABLE PAYMENT
OPTIONS AND SUBMIT 5.1DISPLAY PAYMENT DETAILS FORM
6.ENTER PAYMENT DETAILS (CREDIT
CARD NO, NAME, SURNAME, 6.1VERIFY PAYMENT DETAILS
ADDRESS…) 6.2DISPLAY PAYMENT DETAILS FOR
CONFIRMATION
7.CONFIRM PAYMENT DETAILS 7.1STORE RESERVATION DETAILS AND
PAYMENT DETAILS TO DB WITH UNIQUE
RESERVATION CODE
7.2DISPLAY RESERVATION SUCCESS.
COMPLETE MSG. AND UNIQUE
RESERVATION CODE
EXCEPTION 3.2 IF FORM FIELD ARE LEFT BLANK
CONDITIONS: THEN RE-DISPLAY FORM WITH (*) SIGN AND DISPLAY INFO. MESSAGE
3.2 IF INVALID DATA ENTERED
THEN RE-DISPLAY FORM WITH INVALID DATA MESSAGE
3.3 IF NO ROOM AVAILABLE ACCORDING TO VACATION DETAILS
THEN RE-DISPLAY FORM TO SELECT ANOTHER ROOM TYPE
3.3 IF NON OF THE ROOM TYPES AVAILABLE
THEN DISPLAY HOTEL ROOM UNAVAILABILITY MESSAGE AND RE-DISPLAY
FORM FOR USER TO SELECT DIFFERENT VACATION DATES
6.2 IF INVALID PAYMENT DETAILS ENTERED, THEN RE-DISPLAY PAYMENT FORM
WITH INVALID DATA MESSAGE
Basic terminology
Stakeholders Person or role with power over and/or interest in work to be done or its deliverables
A person who has one or more concerns about the system to be built (because they
own it, manage it, use it or other reason).
Introduction
Formal architecture is typically introduced to an organisation because key people (stakeholders) have
concerns about the ‘ad-hoc’ nature of IT Systems development and the lack of alignment between
business needs and the technology that is introduced. Concern is used in a technical not colloquial
sense to describe what interests a stakeholder. The role of the architect is to address these concerns,
by identifying and refining the requirements that the stakeholders have, developing views of the
architecture that show how the concerns and the requirements are going to be addressed, and by
showing the trade-offs that are going to be made in reconciling the potentially conflicting concerns of
different stakeholders. Without the architecture, it is unlikely that all the concerns and requirements will
be considered and met.
Definition of Stakeholders
There are many definitions of what a stakeholder is. Below two of these definitions have been listed:
“Anyone who has an interest in, or may be affected by, the issue under consideration.”
“An individual, team or organisation (or classes thereof) with interests in, or concerns relative to,
the outcomes of the architecture. Different stakeholders with different roles will have different
concerns.”
(TOGAF)
So in summary Stakeholder(s) are:
Interested in a project
Affected by a project
Can influence a project
Powerful stakeholders can be identified upfront which means that we can uses their input to
shape the architecture which enables architects to improve the quality of the architectural
model procedures
Support from powerful stakeholders cab help to win more resources
Knowing your stakeholders and communicating with them regularly can lead to a more clear
and concise detailed architecture
Increased anticipation of reactions to reactions to the architecture means that architects are
more likely to anticipate changes as react in positive manner
Architects can identify competing and conflicting objectives early on and develop a strategy to
deal with them early on
A stakeholder methodology
The following is a 4 step way to handle Stakeholders advocated by TOGAF:
1. Identify Stakeholders
2. Classify Stakeholder Positions
3. Determine Stakeholder Management Approach
4. Tailor Engagement Deliverables
Owners
Customers
Suppliers
Employees
Managers
Partners
Regulators and legal bodies
Competitors
Project Stakeholders
Project Manager- Day to day control
Business Analysts - Elicitation & Analysis
Solution Developers - Technical feasibility, Produce prototypes
Testers - validating that requirements are testable
Architects
Business Stakeholders
Project Sponsor - Ultimately paying for project, Signs off the requirements
Subject matter expert - Local SME :Understands the business, Domain SME: Understands the
industry
End users and managers: For whom the solution is designed
External stakeholders
Customers
Regulators
Suppliers - Products and services
Competitors - Can be difficult to engage with
Ability to disrupt
Require support
Understanding
Understanding
Commitment
commitment
Stakeholder
Required
Required
Current
Current
change
Line
Sara Jane M M M H M M
Manager
Mark
CEO H M H H M M
Johnson
Christopher
CFO H L M L M H
Smith
First identify your stakeholders by the Power (influence they have over the project) and Interest (what
their information needs are) using the following table as a guide:
Roles are cumulative so, for example, if Sue is a member of the Board (“Keep Satisfied”) and because
of another role she performs is also categorised as “Keep Informed” she goes in the “Key Player” box in
the power interest matrix.
Value Chain Analysis was first described by Michael Porter in his 1985 book Competitive Advantage so
it has been around for some time and is well understood by Senior Managers, as such you will probably
use the VCA diagram as part of your Views for CxOs.
Porter introduced a generic value chain model that comprises a sequence of activities found to be
common to a wide range of firms; he identified groups of primary and support activities:
(1) Primary Activities - those that are directly concerned with creating and delivering a product
(e.g. component assembly)
(2) Secondary (Support) Activities - which whilst they are not directly involved in production,
may increase effectiveness or efficiency (e.g. human resource management)
The goal of these activities is to offer the customer a level of value that exceeds the cost of the activities,
thereby resulting in a profit margin. It is rare for a business to undertake all primary and support
activities.
Primary Activities
What activities a business undertakes is directly linked to achieving competitive advantage. So using a
diagram that models a process as a series of value generating activities makes sense. The diagram will
help leaders identify what needs to be changed to achieve their strategic visions. A competitive
advantage could be gained by:
Cost advantage: by better understanding costs and squeezing them out of the
value-adding activities.
Differentiation: by focusing on those activities associated with core competencies and
capabilities in order to perform them better than do competitors.
For example, a business which wishes to outperform its competitors through differentiating itself
through higher quality will have to perform its value chain activities better than the opposition. By
contrast, a strategy based on seeking cost leadership will require a reduction in the costs associated
with the value chain activities, or a reduction in the total amount of resources used.
Once the value chain is defined, a cost analysis can be performed by assigning costs to the value chain
activities. The costs obtained from the accounting report may need to be modified in order to allocate
them properly to the value creating activities.
A firm develops a cost advantage by controlling these drivers better than their competitors.
A cost advantage also can be pursued by reconfiguring the value chain. Reconfiguration means
structural changes such a new production process, new distribution channels, or a different sales
approach. For example, FedEx structurally redefined express freight service by acquiring its own planes
and implementing a hub and spoke system.
Enterprise Continuum V1.1 Page 50
Linkages Between Value Chain Activities
Value chain activities are not isolated from one another. Rather, one value chain activity often affects
the cost or performance of other ones. Linkages may exist between primary activities and also between
primary and support activities.
Many of these also serve as cost drivers. Differentiation often results in greater costs, resulting in
trade-offs between cost and differentiation.
Secondary Activities
Secondary activities are necessary activities to support the Primary Value Chain. Secondary Activities
include:
Secondary Description
Activity
Procurement This concerns how resources are acquired for a business (e.g. sourcing and
negotiating with materials suppliers)
Human Those activities concerned with recruiting, developing, motivating and
Resource rewarding the workforce of a business
Management
Technology Activities concerned with managing information processing and the
Development development and protection of "knowledge" in a business
Infrastructure Concerned with a wide range of support systems and functions such as
finance, planning, quality control and general senior management
(1) Break down a market/organisation into its key activities under each of the major headings in
the model;
(2) Assess the potential for adding value via cost advantage or differentiation, or identify current
activities where a business appears to be at a competitive disadvantage;
(3) Determine strategies built around focusing on activities where competitive advantage can
be sustained
Fundamentally, a requirement is how Customers and Suppliers, Business & Vendors develop a
common understanding as to what makes an acceptable deliverable (usually a combination of Scope &
Quality)
Different approaches to project development have a different take on what a requirement is. In Agile,
requirements are fundamentally negotiable whereas in a traditional (Waterfall or Iterative) Software
Development Methodology (SDM) changes are only allowed within a rigorous change management
process.
The International Institute for Business Analysis (IIBA®) in its Business Analysis Body of Knowledge™
(BABOK®) defines four fundamental types of requirements:
Each type of requirement expresses a different level of detail. Business requirements are very high level
and a typical project will address very few. Business requirements lead to stakeholder requirements
which in turn give us solution requirements. A typical project needs many stakeholder requirements to
specify the business requirements from the perspective of the people involved. Solution requirements
turn the focus of the stakeholder requirements towards the solution technology. There can be a very
large number of solution requirements. Finally, transition requirements define components of the
solution that only exist to replace the current solution, as it exists today. As you can see these four types
of requirement fit nicely with the Enterprise Architecture Cycle.
Stakeholder requirements
Stakeholder requirements express the needs and wants of one or more stakeholders and how they will
interact with a solution. Stakeholder requirements bridge business and solution requirements.
Interviews, Business Scenario workshops and User Story Workshops are common tools for gathering
stakeholder requirements.
For example,
“As a customer, I can browse the current product catalogue to select items that I want to buy.”
Legal requirements
Service level agreements
Contractual obligations
Audit requirements
Internationalization requirements
Corporate standards
Flexibility,
Scalability
Portability
Usability
Audit requirement
A requirement to do with ensuring an auditor can find the when/where/how/who of a process or stored
data, and can replay events. (Considered by some to be a functional requirement and others to be
non-functional.)
Sales personnel must attend the 2-day new customer acquisition program prior to using the
new Sales Support System.
All existing customer data will be maintained in both the old and the new database format until
the end of the first quarter.
Requirement statement
A Requirement statement is a “statement of need with which compliance must be demonstrated”
This implies an acceptance test and an acceptance authority (requirements should be SMART).
Reference number
Description
Source
Owner
Type
Priority
Deadline
Enterprise Architecture
IEEE 1471 now ISO-42010 Recommended practice for an Architecture description of software
intensive systems (Ref 3.2.2)
ISO9001
Is a standard for quality management systems
While identifying what needs to change and how the new business will look is an important part of the
Enterprise Architects function, there should be more to a cycle of Architectural Work than just the
Architectural Definition. The next step in the chain is Migration Planning, this is where a programme is
drawn up that identifies a series of implementation projects which will transform the business to the
degree needed to meet the Business Vision of Senior Stakeholders.
Before we get into projects and programmes we need to have a look at some key areas needed by both
– Issues & Risks, and Planning.
Risk appetite
Determines the amount of risk that management are prepared to accept. Think of it as gambling – how
much do you spend on lottery tickets? That’s your risk appetite for gambling.
Assumption
Assumptions carry risk with them. When we plan we often base our estimates on assumptions, that is
things we think are true but we have not checked. So for example we are costing up a server build and
we assume that we can negotiate a 15% discount on the hardware. This assumption is built into our
costings but what if it is incorrect? In that case the assumption suddenly turns into a risk or an issue
rd
(other assumptions might be “we can get the server delivered by 23 April”,” installation and
configuration will take no more than 5 hours” etc). It is good practice when writing a plan to include a list
of assumptions that informed your estimates of costs and timescales.
RAID Catalogue
In is necessary to keep track of Risks, Assumptions, Issues & Dependencies and often Logs or
Registers are used for that purpose. Some people like to have separate logs for each type, others
advocate a combined approach in a RAID Log or Catalogue. RAID stands for what you would imagine
by the way!
Planning
All projects and programmes need to be planned. It is common to have several levels of plans to service
the different information needs of stakeholders and implementers. For example you could have an
overarching project/programme plan which covers the work end-to-end. This is usually high level and
gives a good idea of the overall work. It is often divided into sections (often called stages or increments).
In turn the stages are planned in more detail often just before they are needed. This gives the accuracy,
immediacy, and detail needed to actually manage the work.
Plans should contain more than just a schedule as they need to demonstrate how an outcome will be
reached. Typically a plan will contain the following sections:
Assumptions and dependencies are covered in the Issues & Risks section I think the others are
self-explanatory.
Levels of plan
Plans are needed at all stages of the Enterprise Architecture cycle. Plans have breadth (scope of what
they cover) and depth (detail they go into). Usually the broader the breadth the less the depth.
The BCS syllabus describes three level of plan for you to be aware of:
Migration Path / Migration Plan
Roadmap
Project Plan
A company wishes to develop a Contact Centre (they call it a Global Help Desk). This will involve
creating a building, recruiting staff and installing the infrastructure. The above shows how the three
projects will fare over three periods.
Roadmap
In Enterprise Architecture the term Road Map is often used to describe a specific type of plan which
charts how the Business will migrate from the current baseline to the desired target. A Road Map is
often a timeline of the implementation projects needed showing their order (thus illustrating
dependency) and with an indication of costs, resources and timescales. Here is a simple example. A
High Street hardware provisions merchant has a vision of moving into on-line sales. Their roadmap
might look a little like this:
A Road map is often considered more detailed than a migration path but not as detailed as a project
plan.
Project plan
Plans one individual project – usually in Enterprise Architecture this is an Implementation Project
These tools provide the basis both for preparation of a schedule, and of resource planning (in small
projects you might not all or any of them) .
During management of a project, they allow you to monitor achievement of project goals. They help you
to see where remedial action needs to be taken to get a project back on course.
Gantt Charts tend to be used within projects while CPA and PERT charts tend to be used for more
complex work and programmes, however remember this is just a rule of thumb – if you need them then
use them.
Networks
In project planning terminology, the term “Network Diagram” has a different meaning to IT. The project
Network Diagram shows activities which need to be conducted serially or sequentially and those that
can run in parallel and the events associated with them. A project defines an activity as a task that must
be performed if the project is to be successful and an event as a milestone indicating either the start or
completion of one, or several activities.
There are two main philosophies when constructing network diagrams, Activity-on-node, and
Activity-on-Arrow
Activity-on-node
Activity-on-node is a project management term that refers to a precedence diagramming method which
uses boxes to denote schedule activities. These various boxes or “nodes” are connected from
beginning to end with arrows to depict a logical progression of the dependencies between the schedule
activities. Each node is coded with a letter or number that correlates to an activity on the project
schedule.
Typically, an activity-on-node diagram will be designed to show which activities must be completed in
order for other activities to commence. This is referred to as “finish-to-start” precedence – meaning one
activity must be finished before the next one can start. In the diagram above, activities A and D must be
done so that activity E can begin. It is also possible to create other variations of this type of diagram. For
example, a “start-to-start” diagram is one in which a predecessor activity must simply be started rather
than fully completed in order for the successor activity to be initiated.
With the ADM network drawing technique, the start and end of each node or event is connected to an
arrow.
The start of the arrow comes out of a node while the tip of the arrow goes into a node. Between the two
nodes lies an arrow that represents the activity.
The event represented by the circular node consumes neither time nor resources.
A node is a specific, definable achievement in the project.
It has zero duration and consumes nil resources.
All activities that lead into a node must be completed before the activity lines following this node
can start.
Gantt Charts
A Gantt chart is a well-known and easy to understand planning tool. It graphically illustrates the
relationship between tasks/ activates and time:
As you can see above, the Gantt chart lists the tasks/activities on the left then shows when these will
take place.
A Gantt chart graphically illustrates both the activities to be performed and how these are scheduled
(you do not need much more to make a roadmap).
A list of all activities required to complete the project (also called a work breakdown structure)
The duration of each activity
The dependencies between the activities
The downside of CPA is that it is not as intuitive as a Gannt chart partly as the relationship of tasks to a
timeline are not really indicated.
Consider the diagram above – imagine that this illustrated a project which had two sequential chains (1
& 2) and two parallel tasks (3 & 4). As all of these four are not dependent on each other they can be
started at any convenient time. 2-4 all take less time than 1 so chain 1 sets the minimum time this
I suspect at this point you can begin to see the value that CPA might add to your planning activities!
Activity networks
CPA uses Activity Networks as a way of visually linking together the activities needed to produce a
result. Each node has some useful planning information attached to it (as I will describe a little later).
Each box (node) on the network identifies an activity, the arrows (connectors) show the dependency
and flow. The network should start with “Begin” and “End” boxes
Activity boxes
It is common to add extra information into each activity box to aid planning:
PERT originally was an activity on arc network, in which the activities are represented on the lines and
milestones on the nodes. Over time, some people began to use PERT as an activity on node network.
For this discussion, we will use the original form of activity on arc.
The Program Evaluation and Review Technique (PERT) is a network model which was developed in the
late 1950s for big complex projects (the Polaris Missile project actually). PERT represents activities by
arcs (lines with arrows) and milestones by nodes (Circles).
While PERT charts are usually complex we need to just consider a very simple example:
TomSoft an internet gaming company is developing a proof of concept new game “Car Crash
3000” as part of an AGILE project.
The game involves players logging on and creating a character, they then select a car and the
appropriate bits (these are actors) then drive round a rendered 3D map committing mindless
acts of mayhem and having a thoroughly good time (OK you’ve got the picture!).
The first SPRINT has the seven activities as listed below:
The nodes are numbered, the higher the number the later the activity needs to start. It is common to
leave gaps in the numbering so that new activities can be easily inserted (the numbers are ordinal not
relative).
The arrows indicate dependencies, tasks, and the expected duration of each task.
Estimating times
“An Estimate is a probabilistic assessment based on Skill and Experience of the Time and Resources
required for the Delivery of a Specified End Product.”
Estimating is both an art and a skill, unfortunately we do not have time to go into estimation methods
here a simple listing of common techniques will have to satisfy us:
Cone of Uncertainty
At the beginning of a project little is known about the work,
and therefore estimates are subject to high variability
Beginning:
100% estimate range
Outline Planning:
50% range
Task: Single estimate
Compare estimations based on work
Bottom-up
Usually performed at the task level
Identify every discrete activity in a stage of the Project
Estimate for each activity in the stage
Sum activity estimates into a total estimate for the stage
Top-down
Usually performed when doing high level or overall planning
Estimate for the Project overall
Typically only a single figure produced
Identify the major stages required
Check the relative sizes of stages
Apportion the overall estimate
Usually based on our knowledge of past cases
Analogy
Estimate produced by comparing the present project with previous completed and successful projects.
Advantage:
Based on actual experience
Disadvantage:
Is the experience valid?
Is the experience recorded?
One useful thing about PERT is that it can handle uncertainty in estimations. For each activity it is
possible to indicate any of three types of estimation:
Optimistic time Usually the shortest time we estimate the activity to take
Most likely time The completion time having the highest probability
Note: Do not confuse Most likely time with Expected Time
Pessimistic time The longest time we reasonable can foresee the activity taking
This equation is a weighted average where the most likely estimate is weighted 4 times more heavily
than the optimistic and pessimistic estimates. This prevents the PERT number from being too heavily
skewed in one direction.
Example:
Suppose a project manager wishes to estimate time to complete some work. She sits with the team and
using their experience they estimate the following:
1. The time it would take to perform the work if there were no hold ups at all (let’s say this comes
to 7 days)
2. Common and frequently occurring hold-ups in work of this nature and how much they could add
to the project duration (5 extra days)
3. Unlikely and rare hold-ups that could occur in work of this nature and how much these would
add to the project duration (17 extra days)
You can see that experience and estimation techniques are critical here!
However, while we are pretty sure that some of the hold-ups will happen, we are confident that not all of
them will. So what would a reasonable estimate of project duration be?
Using the formula described earlier, The PERT estimate for the duration of the project would be:
To calculate the variance for each activity completion time you can use the following approximation
( Expected - Optimistic ) / 6
PERTS’s limitations
Like all techniques PERT has areas that it does not perform well in. A major area of concern is the
estimation system used.
Despite the statistical formula used estimation is always going to be just that – a hostage to fortune so
there is still a need to have experienced estimators. Group estimates (at least 3 people help) but there is
always bias however hard you try to avoid it.
Even if the estimates are sound the distribution may not be exactly as assumed by PERT so there might
be in-exactitude here.
PERT focuses on one chain as being the critical path but cannot easily compensate for other chains
becoming critical as they experience delays and because of this PERT often underestimate actual
project completion time (Monte Carlo Simulations technique can be used to compensate for this
problem in some degree).
Cost-benefit analysis
A financial technique used to contrast the costs and benefits of a change. Often there are several ways
to make a change and a Cost/Benefit analysis will help indicate which might be the most beneficial to an
business.
One way of performing a Cost-benefit analysis is Discounted Cash Forecasting which converts a future
return into current savings.
Options
Options in the Business Case should list alternative solutions to meet the need for change. A Business
needs to increase its profitability – options could be: Increase Market Share, sell off a loss making
subsidiary, or invest in re-engineering a process to make it more efficient. One option you should
consider putting in a Business Case is the option to “Do Nothing”, this acts as a nice illustration of what
will happen if nothing is done!
How a selected Business or Technical option is achieved is described by Solution Options (discussed
a little later)
Impacts
Describes the effect the change would have on the business should it be carried out. This should
describe the work to be done and the changes made to the affected organisations
Solution Options
Once the Technical or Business solution has been decided it is necessary to identify how that solution
can be achieved. For example, supposing that (from the previous example) it has been decided to sell
off a loss making subsidiary, how would the business go about this? Should they call in a firm of
consultants, find their own buyer and arrange a sale, or form it as a separate entity and float it? These
are known as Solution Options (as opposed to Business or Technical Options in the Business Case)
At the solution vision stage there may be several Solution Options proposed. As the cycle progresses
and more information becomes available, the options will be contrasted & compared. Comparison
methods commonly employed could be:
Risk analysis
The BCS reference guide for this syllabus considers Risks to be threats to the ability of the target to
meet the non-functional and security requirements specified as part of the Architecture Definition.
An initial risk analysis should be performed at the beginning of the cycle as well as subsequently as the
cycle progresses.
Trade-off analysis
Is yet another technique from the Software Engineering Institute of Carnegie Mellon University.
A consultant leads analysis of all the system options and investigates the trade-offs between them. This
helps identify the best option.
Business scenario
Is similar to a User story but much more comprehensive, It identifies a process and the actors who
interact with it. Usually created within a workshop it is useful in identifying risks and concerns of
stakeholders and also capturing requirements. May be used initially in pre-cursers or during the
investigation into the Business Domain. Can be used in support of a Business Case or a Solution Vision
or may be presented as an example instance of a business process.
Methodologies differ between themselves although there is often an overlap between the management
deliverables and the techniques described by different methodologies. Some (but not all) specify that
the project should have a single person assigned to manage the work on a day to day basis (this is the
oft maligned Project Manager). TOGAF and other Enterprise Architecture methodologies can be
considered as a high level project methodology in a way.
PRINCE2
PRojects IN a Controlled Environment. The strength of PRINCE is that it describes a flexible set of
processes and a good set of management deliverables (PRINCE calls them Management Products).
The governance framework is particularly attractive as it provides a good degree of control coupled with
a minimum use of senior management time. PRINCE’s great weakness is that it only describes a very
few techniques. Also the methodology has an ill deserved reputation of being inflexible and
bureaucratic.
While PRINCE describes how to control a project well it does not concern itself too much which how the
delivery teams should go about their business.
The PO defines the requirements (what needs to be delivered) which are held in the Product Backlog.
The development Team work in short cycles of between 2-4 weeks called a Sprint. At the start of a
Sprint the Product Owned and the team agree what is to be completed during that sprint (the Sprint
Backlog) then the team plan the work and get on with it. Each day of the Sprint starts with a short
meeting (Scrum) were the development team plan the day’s work. The end of a sprint sees the
completed work as something that could possible be integrated into the business (Potentially Shippable
Product).
Scrum is good for rapid development but starts to struggle as the Development Team expands in size.
Also the governance and control frameworks are minimal (to be generous) so Scum often is not suitable
for compliance/ security focussed Implementation Projects.
DSDM starts with two short phases (Feasibility and Foundations) which together provide for project
establishment. Plans and governance are set up (minimalist as per the Lean philosophy) and a high
level set of requirements produced.
Programme
If the work is too complex to manage with a single project then it needs to be split up. This results in
several interdependent projects which in turn need to be co-ordinated. A collection of interdependent
projects is called a Programme and the process of managing it is known as Programme Management.
The dependent projects shelter under the umbrella of the Programme. Usually the projects are funded
from the Programme budget and there is some form of Programme Governance which controls the
projects.
The Enterprise Architecture cycle should include Implementation Projects (Application Development
Projects) and these usually need to be co-ordinated under a Programme Manager into a programme.
MSP (Managing Successful Programmes) is a well-respected programme methodology which could be
used at the Enterprise level in this manner.
This section addresses the organisations and processes needed to govern and implement an
Architecture Description, in development and operation, including the management of changes
Why?
Implementation Management is about having a high level understanding of how Implementation
projects work. Implementation projects are those which turn the Enterprise Architect’s carefully crafted
model into reality. This is usually were it all goes wrong.
Architecture implementation
Enterprise Architects are charged with initiating a change to an Enterprise. To do this they listen to
Senior Stakeholders and seek to understand the direction in which an enterprise is heading in the future
(this is often called the Vision or the Business Vision). They then draw up a model of how the Enterprise
will look if this Vision is translated into reality. Next they contrast this future state model with how the
Enterprise is now (the Baseline or Current State model) so that they can identify the difference between
the two states.
What happens next depends on the methodology, we shall follow the TOGAF viewpoint on this as it is
probably the best accepted EA methodology on the block. TOGAF states that the EA helps to develop a
programme of implementation projects (assisted by Solution Architects and Programme & Project
Managers) which if actioned by Business will make the changes needed to support the Vision. Once
sanctioned, the Implementation projects are managed by Programme & Project Managers with the
Enterprise Architect keeping an eye on things as they progress. So there are two types of “project”
which concern the EA. There is the Architecture Definition in which the modelling and gap analysis
takes place and there is the Implementation in which the EA takes a back seat (but not too much of a
back seat!). Implementation projects may be expensive and they will only be worthwhile if they deliver
the requirements specified by the Enterprise & Solution Architects who have in turn listened to the
needs of their stakeholders. So the EA needs to audit and monitor each implementation project to make
sure it stays on track to deliver what has been promised. Things change, and sometimes the outputs of
a project need to change as well. EAs need to understand (and get involved with the change process as
well).
Transition
Once the implementation projects have done their work the Architecture Cycle is just about finished. All
that remains is to perform a planned shutdown of the cycle and release the implementation deliverables
to the Business. Usually the completed systems, processes, or what have you, are handed over to two
business units:
Maintenance/ Update (Transition into Maintenance): Supporting and maintain the products
ISO9001
Is a standard for quality management systems. ISO9001 includes:
Change Request
1. Description of the proposed change
2. Rationale for the proposed change
3. Impact assessment of the proposed change, including:
Reference to specific requirements
Stakeholder priority of the requirements to date
Phases to be revisited
Phase to lead on requirements prioritization
Results of phase investigations and revised priorities
Recommendations on management of requirements
4. Repository reference number
Handling changes
This is TOGAF’s view of handling changes:
Firstly they check (“audit”) that the work is going according to their needs. They might not check
directly themselves. They may delegate the actual auditing to people who they trust and who
are not involved with the work being audited. For example, the EA is often asked to audit
implementation projects to ascertain if they are meeting the requirements set out in the
Architecture Contract.
Secondly they give guidance to their subordinates on which decisions the subordinate can
make and which need to be passed upwards to them.
So Governance is Management ensuring that the goals, rules and principles laid down are followed.
Enterprises exercise governance at three levels:
Area Responsibility
Corporate governance and principles Board of Directors
IT governance and principles IT Board
Enterprise Architecture and principles Architecture Governance Board
The AGB (or “Governance Board) support the EAs as the Architecture Definition proceeds by being
available to provide advice and direction and to consider RFCs. Members of the Governance Board
should be drawn from the areas of the business which will be impacted by the current cycle of
Architecture Definition and change implementation. This allows senior management to satisfy
themselves that changes will not be made to the parts of the business for which they are responsible
without their knowledge and permission.
One of the duties of the AGB is to make sure that the Enterprises Architecture process has the required
level of capability.
The best known maturity model is the CMM for software processes, from the Carnegie Mellon
University Software Engineering Institute. Capability Maturity Model Integration (CMMI) is the
successor to CMM administered and marketed by Carnegie Mellon. Carnegie Mellon University claims
CMMI can be used to guide process improvement across a project, division, or an entire organisation
CMMI and has established maturity models for many different sectors and industries.
There are maturity models for architecture organisations and processes.
The CMM is similar to ISO 9001, one of the ISO 9000 series of standards specified by the International
Organisation for Standardisation (ISO). The ISO 9000 standards specify an effective quality system for
manufacturing and service industries; ISO 9001 deals specifically with software development and
maintenance. The main difference between the two systems lies in their respective purposes: ISO 9001
specifies a minimal acceptable quality level for software processes, while the CMM establishes a
framework for continuous process improvement and is more explicit than the ISO standard in defining
the means to be employed to that end.
Impact analysis
When a RFC is generated the Change Control procedure should perform Impact Analysis so that the
effects of a change and the impact on the current baseline can be understood. The end result of an
Impact Analysis is an Impact Analysis Report which should identify risks, costs, benefits and constraints
associated with the proposed change.
The concept is illustrated in the above diagram. Note that this is just one way to set up escalation there
are many possible paths I have not shown here (otherwise I would have arrows all over the chart). Also
be aware that there can be many Change Boards at all levels of this hierarchy (I have only shown one)
Architecture Contract
This is the trigger that is used to authorise an implementation project. It is signed by senior stakeholders
and may be a legally binding document (for external suppliers) or a simple Memorandum of
Understanding (if used internally). Either way this is the point of “No Return” were vendors are
commissioned to perform work.
From the Enterprise Architecture perspective an Architecture Contract should specify:
Governing architect
There are many Architects involved in an architectural cycle so it is convenient for the Governance
Board to have one senior Enterprise Architect as their main point of contact. This person assumes the
role of Governing Architect (sometimes called “Lead Architect”, “Chief Architect”, or “Design Authority”)
and is charged by the AGB with ensuring that the systems specified as an outcome of an Architecture
Definition are built and/or run in accord with its architecture contract, managing risk and making sure
that the value of the system to its stakeholders is maintained
Architecture in Operations
A recognised International Standard for ITSM is ISO/IEC 20000 (based on the earlier British Standard,
BS 15000). It promotes the integration of processes to deliver managed services to meet the business
and customer requirements. Processes include Planning & Implementing New or Changed Services,
Service Delivery Process, Relationship Processes, Control Processes, Resolution Processes and
Release Process.
Best practice in this area is described by ITIL (formerly known as the Information Technology
Infrastructure Library). ITIL is a large and globally recognised body of advice from the UK government
(originally the Office of Government and Commerce) describing how to manage an IT services
organisation. ITIL underpins ISO/IEC 2000 (although there is some difference).
ITIL advocates that IT services are aligned to the needs of the business and support its core processes.
It provides guidance to organisations and individuals on how to use IT as a tool to facilitate business
change, transformation and growth.
The ITIL best practices are currently detailed within five core publications:
These five volumes map the entire ITIL Service Lifecycle, beginning with the identification of customer
needs and drivers of IT requirements, through to the design and implementation of the service and
finally, the monitoring and improvement phase of the service.
The IT infrastructure of an Enterprise will often be a mixture of many different services, systems and
platforms, often in different geographic locations. Some of the IT services provided are:
A good CM system should Support other processes, in particular: Incident Management, Problem
Management and Change Management.
It does this by providing accurate and reliable information to the rest of the Enterprise about all the
components of the IT infrastructure.
The main way it can provide this information is by maintaining an up to date a database of CIs (the
CMDB or Configuration Management DataBase) which should hold:
Part of CM is having a robust Asset Management System however be careful as the term “Asset
Management System” can mean one of two things either a record of all IT assets or sometimes it is just
focused on end user devices.
A CMDB is a repository that acts as a data warehouse for configuration items (CIs), and their attributes.
The CMDB holds the authorised configuration of the significant IT components. The CMDB is a vital part
of the configuration management process and should relate to any enterprise architecture repository.
When populated, the repository becomes a means of understanding how critical assets such as
information systems are composed, what their upstream sources or dependencies are, and what their
downstream targets are.
CI attributes
Every CI has attributes associated with it. The three main ones are described in the table below:
Attribute Description
Technical Data that describes the CI's capabilities which include software version and
model numbers, hardware and manufacturer specifications and other
technical details like networking speeds and data storage size. Keyboards,
mice and cables are considered consumables
Ownership Part of financial asset management, ownership attributes record purchase
date, warranty, location and responsible person for the CI. Identification
numbers like bar codes and type, like software, hardware and documentation
are also ownership attributes
Relationship The relationships between hardware items (e.g. a printer), software (e.g.
drivers), and users (i.e. Eric).
Depending on the CI type or category, there are many attributes that might be captured, basically
anything that you need to know about a CI is an attribute. Here are some more examples:
Common Information Model (CIM) is a standard which defines how the elements in an IT environment
can be represented as a common set of objects and relationships in a CMDB
Baseline
In Configuration Management, a Baseline describes a known state of a component. When a
component has been passed as Fit for purpose usually by passing a test, it is handed over to the
Configuration Manager who gives it a unique version number. If the item subsequently needs to
change it is modified and re-tested, then it is given a new version number to distinguish it from its
predecessor.
Usually a baselined item can only be changed by passing through a formal change control process.