development process framework - madasafish

42
Development Process Framework Editor: Richard Veryard For: SCIPIO Consortium Status: Beta Version Version: 0.91 Filename: SCIPIOdpf.pdf SCIPIO

Upload: others

Post on 04-Dec-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

DevelopmentProcessFramework

Editor: Richard Veryard

For: SCIPIO Consortium

Status: Beta Version

Version: 0.91

Filename: SCIPIOdpf.pdf

SCIPIO

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page ii

Contents

INTRODUCTION 1

GENERAL 2

PERFORMANCE ASSESSMENT 5

ANALYSIS 7

DESIGN 9

DELIVERY 11

PROJECT SCENARIOS 13

DETAILED TASK STRUCTURE 18

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 1

Introduction

This guide describes the tasks of SCIPIO, and indicates their interdependencies. It is intended forthree groups of reader:

Ø SCIPIO practitioners, wishing to understandhow the concepts and techniques can beapplied on projects of various kinds.

Ø The guide offers several scenarios, to showhow SCIPIO may be applied to a range ofbusiness, application and technologicalprojects.

Ø The guide shows the purpose of each task interms of its contribution to parallel orsubsequent tasks.

Ø The guide shows the concepts and techniquesapplicable for each task.

Ø Project managers, needing a basicunderstanding of the task structure of SCIPIOin order to plan and manage a SCIPIO project

Ø The guide provides a detailed task structure,which may be used to derive the content ofproject plans and schedules for a SCIPIOproject.

Ø People in various support roles, who need toknow what SCIPIO practitioners are likely tobe engaged in at different stages of a project inorder to provide adequate support. Thissupport may include skills training, softwaretools, development infrastructure and otherresources.

Ø The guide indicates the knowledge, skills andresources needed at each stage of a SCIPIOproject.

Assumptions

This guide does not provide advice about the project planning process itself. We assume that projectplanning and management will conform to DSDM. If you want to use an alternative method, youmust make the appropriate adjustments yourself.

Acknowledgements

Valuable contributions to this document have been made by other members of the SCIPIOConsortium, especially Clive Mabey and Michael Mills.

Sources

SCIPIO draws upon several sources including ISO 9126 (Software Quality), ISO 10746 (ODPReference Model), the Unified Modelling Language (UML) and DSDM.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 2

General

Overall Structure

Solution Delivery

PerformanceAssessment

Analysis

DeliveringAchievement

Design

Solution Management

ProjectManagement

PeopleManagement

RiskManagement

QualityManagement

Figure 1: Overall Structure of SCIPIO

Interworking of old and new techniques

Delivery

Legacy Wrapping/Interfacing

Component Acquisition

Package Selection

Ass

embl

eWorkflow Development

Infrastructure Development

Build

Components

Applications

ApplicationRestructuring

Keyrepresents Scipio with OO Modellingrepresents existing methodsrepresents methods under development

Analysis

As-Is

BusinessProcessAnalysis

ApplicationSystemsAnalysis

TechnologyInfrastructure

Analysis

ApplicationSystemsAnalysis

SolutionDesign

To-Be

PerformanceAssessment

Benchmark

BusinessAssessment

TechnologyAssessment

ApplicationAssessment

ApplicationSystemsDesign

BusinessProcessDesign

TechnologyInfrastructure

Design

ApplicationSystemsDesign

Figure 2: Solution Development Structure

A key feature of the method is that there is some communication or exchange of information betweenmany of the activities. At this high level, no sequence can be inferred, and the diagram should not beread simply from left to right. Note, for example, that the assessment is iterative: some of theperformance assessment subtasks can only be done after the relevant portions of the analysis andsolution design have been done.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 3

Working in Parallel

The essence of solution provisioning lies in the design of the solution and the planning of transitionfrom the existing situation (As-Is). To illustrate how this might work we take a close look at Analysisand Solution Design. Although there is no single route through the method, one has been chosen forpurposes of illustration. This presupposes that a business process is to be improved.

TOBE

4. DETAIL

5. SOURCECOMPONENT

5. DETAIL

Business Process

Activities

TasksApplications

Components

3. REDESIGN

5. REUSE

Invariant

1. IDENTIFY

2. GENERALIZE

5. DETAIL (Selectively)

ASIS

Figure 3: Detail: Analysis and Design Process

In rough terms, the steps are as follows. (A more formal task structure will be presented in afollowing chapter.)

1. Individual activities are understood through a process of investigation and communication withthose who undertake the activity.

2. When sufficient information is available the individual activities are synthesized into a holistic andtechnology independent view of the business process.

3. Changes to the process are designed bearing in mind available technology and assumed possibilitiesfor reuse. The new process design is recorded in a technology free manner.

4. The process is mapped to the underlying components by a process of decomposition into sub-processes, tasks, manual procedures and software components.

5. As the refinement of the new process proceeds validation is sought for assumptions about reuse oflegacy systems. Candidates for reuse are selectively investigated in sufficient detail to establishwhat role they might play. As candidates are confirmed the design is adjusted to accommodatethem. As this is going on component libraries both external and internal are also investigated.

The modelling and design work does not go strictly top-down, from broad structures to detailedspecifications, nor strictly bottom-up, from detailed specifications to broad (‘strategic’) summaries,but middle-out. This can be seen from Figure 3. This means that each task or subtask may beexecuted at several levels in parallel.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 4

Singular and Plural Tasks

Some tasks refer to a single object being analyzed or designed. For example Analyze Organization, orMap Current Application. In a real project, it may be necessary to carry out these tasks several times.There may be several separate organizations to be analyzed, or several current applications to bemapped. Wherever possible, such tasks are defined in the singular, so that they can be separatelyscheduled for each object. Metrics for such tasks are defined for a single object, and should bemultiplied by the number of objects for which this task is required.

Project Management Concerns

Many methods call for iteration of tasks. A given design technique may be executed at one stage ofthe project to produce a ‘first cut’ deliverable, and then may be re-executed at a later stage of theproject to produce a ‘final’ deliverable.

We regard the control of such iteration as a project management concern. For this reason, we do notexplicitly specify iteration and related matters within the solution development task lists. Instead, weleave them to be ‘plugged in’ as part of the project management approach. In other words, the taskiterations are to be generated when the project plan is created, based on the preferred projectmanagement approach.

In general, we recommend a RAD approach to iteration. The DSDM consortium, which hasdeveloped some industry-wide recommendations on RAD, suggests that, to control iteration, eachimportant design technique be iterated three times. However, some situations or organizations mayprefer to plug in an alternative approach.

Furthermore, the actual project management tasks, such as project planning, are assumed to be partof the project management plug-in, and are not contained within the Solution Provisioning task lists.

Quality Management Concerns

Similarly, the quality management tasks, such as quality planning, training, reviews and audits, arenot contained in the Solution Provisioning task lists but are plugged in as part of the preferred QualityManagement approach. The SCIPIO consortium is able to advise on a standard Quality Process,based on ISO 9000, TickIT and the SEI Capability Maturity Model, but SCIPIO is open to alternativequality management approaches being plugged in.

Production and Maintenance

We do not include Production (i.e. routine operation of the improved business process, applicationand/or infrastructure) within the scope of SCIPIO. However, Production typically spawns a numberof minor improvement opportunities. These may either be managed as mini-projects or assembledinto an ongoing maintenance program.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 5

Performance Assessment

Overview

Performance Assessment (sometimes referred to as System Assessment) considers the characteristicsof the system from several viewpoints, including:

• Business process performance (including cycle time, cost and quality of service);

• Application characteristics (typically the quality characteristics identified by ISO 9126:functionality, maintainability, usability, reliability, efficiency and portability);

• Technological infrastructure characteristics (including value-for money, technical performanceand flexibility).

There are six types of performance assessment, which may be considered at different stages of theproject. These are:

Evaluation: An estimation or measurement of past orpresent performance.

Prediction: An estimation or declaration of futureperformance.

1. Current performance of system. This istypically what triggers the improvementproject.

2. Target performance (or objective setting) ofsystem.

3. Benchmark performance of system.Benchmarks may be internal or external.

4. Simulated performance of current system.This is an optional step; it provides aconfirmation of our analysis, by showing thatour model of the existing system is consistentwith the observed performance and isexplained by it.

6. Actual performance of redesigned system.This is an evaluation of the success of theproject, and may result in furtherimprovement projects.

5. Simulated performance of redesigned system.This provides a prediction of the businessbenefits of a proposed solution, and anidentification of any associated risks. Thisprovides a confirmation that the solution islikely to work.

Thus many of the assessment subtasks can only be carried out after some analysis, design and/ordelivery subtasks have been carried out.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 6

Task Structure

Process Assessment Application Assessment Infrastructure Assessment

Evaluating the performance of anexisting business process, and/orpredicting the performance of aproposed business process.

Evaluating the performance of anexisting application, and/orpredicting the performance andother characteristics of aproposed application.

Evaluating the performance andother characteristics of anexisting technologicalinfrastructure, and/or predictingthe performance and othercharacteristics of a proposedtechnological infrastructure.

Ø Identify Business ProcessObjectives

Ø Review Performance ofCurrent Business Processagainst Objectives

Ø Establish Business ProcessBenchmark

Ø Set Targets for BusinessProcess Improvement

Ø Explain ProcessPerformance

Ø Estimate Performance ofSolution (simulation)

Ø Review Performance ofSolution (post-implementation evaluation)

Ø Identify ApplicationObjectives

Ø Review Current Applicationagainst Objectives

Ø Establish ApplicationBenchmark

Ø Set Targets for ApplicationImprovement

Ø Explain ApplicationCharacteristics

Ø Estimate Characteristics ofSolution (simulation)

Ø Review Characteristics ofSolution (post-implementation evaluation)

Ø Identify InfrastructureObjectives

Ø Review CurrentInfrastructure againstObjectives

Ø Review Technology Trends

Ø Establish InfrastructureBenchmark

Ø Set Targets forInfrastructure Improvement

Ø Explain InfrastructureCharacteristics

Ø Estimate Characteristics ofSolution (simulation)

Ø Review Characteristics ofSolution (post-implementation evaluation)

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 7

Analysis

Overview

The purpose of Analysis (sometimes known as Diagnosis) is to understand the structure of whatalready exists, and to identify the causes of any problems or restrictions. A series of models of thecurrent situation is produced, showing how various people, roles, departments, companies andsystems interact. These models (known as As-Is models) serve several purposes:

• They provide an explanation of the current level of performance, both in absolute terms and incomparison with benchmarks. They allow the immediate symptoms of performance problems tobe traced to their underlying causes.

• They provide a basis for the design of an improved business process, and provide a basis for thepossible restructuring and redeployment of parts of the current system to support the redesignedbusiness process.

Task Structure

Process Analysis ApplicationAnalysis

ComponentExploration

InfrastructureAnalysis

Ø AnalyzeOrganization

Ø Analyze Tasks,Collaborations andInterfaces

Ø DocumentWorkflow Pathsand Mechanisms

Ø Document BusinessRule Structure

Ø Document BusinessResponsibilities

Ø Document Process

Ø Map CurrentApplication

Ø DocumentApplicationComponents

Ø DocumentApplicationInterfaces andProtocols

Ø DocumentApplicationResponsibilities

Ø Map Process toApplication

Ø Formulate SearchCriteria

Ø Create Shortlist ofAvailableComponents

Ø ObtainSpecification ofComponent

Ø IdentifyTechnologyRequirements andConstraints

Ø Map Infrastructure

Ø DocumentInfrastructureComponents

Ø DocumentInfrastructureInterfaces andProtocols

Ø Map Application toInfrastructure

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 8

Process Analysis

This task develops a series of models to describe the existing process. By preference, SCIPIO uses anextension of the UML notation for OO modelling. However, if process models have been producedusing previous methods and notations, this work can often be reused.

Application Analysis

This task develops a series of models to describe the structure and functionality of existingapplications. By preference, SCIPIO uses an extension of the UML notation for OO modelling.However, if application models have been produced using previous methods and notations (includingdata models and data flow diagrams), this work can often be reused.

Analysis of legacy systems, although essential for reuse and transition purposes, is often difficult andtedious, especially when documentation is out-of-date, unreliable or completely lacking. SCIPIOtherefore undertakes careful planning of legacy systems analysis activity, and ensures that details areproduced on a just-as-required basis.

Infrastructure Analysis

This task develops a series of models to describe the existing technology infrastructure. Bypreference, SCIPIO uses an extension of the UML notation for OO modelling. However, iftechnology models have been produced using previous methods and notations, this work can often bereused.

Component Exploration

This task finds and analyses existing application packages and components for potential use. It yields adescription of the functionality and other characteristics of a package or component, defined in termsof its vocabulary and behaviour.

It uses a requirements specification as input, which may be based on a preliminary design. Thisspecification need not be complete: indeed, it is normal to carry out a preliminary search for availablepackages or components with a rough and partial specification.

Components may be found in existing in-house component libraries, or via the World Wide Web.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 9

Design

Overview

Solution Design includes the definition of the solution as well as its planning and sourcing. Theimproved (To-Be) business process is represented in the same way as the current (As-Is) businessprocess: as a set of interactions between people, roles, departments, companies and systems.

• The interactions may be improved and made more effective.

• Wholly new components may be introduced into the system. These may be businesscomponents, application components or technological components.

• Existing components may be adapted to fit the improved system context in which they are tooperate. Opportunities are identified to make the existing components and their interfaces moregeneric, to enhance future adaptability.

• The business rules are reformed and mapped onto the components. Each component is assignedthe responsibility for maintaining one or more rules.

• A holistic picture of the solution is produced.

• An implementation plan is developed, indicating the selected source for each new or modifiedcomponent.

Task Structure

Process Design Application Design Infrastructure Design

Ø Determine OptimizationStrategy

Ø Business RuleRationalization

Ø Business ResponsibilityAssignment

Ø Workflow Structure Design

Ø Workflow MechanismSelection

Ø Solution Verification

Ø Release Planning

Ø Information Sourcing

Ø Component Identification

Ø Component Protocol Design

Ø Component ResponsibilityAssignment

Ø Data Storage Design

Ø Component Specification

Ø Component Sourcing

Ø Envision Solution

Ø Develop UpgradedTechnical Architecture

Ø Determine Re-useOpportunities

Ø Allocate Components toPlatforms

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 10

Process Design

This task uses an extension of UML for specifying the future process.

Application Design

This task uses an extension of UML for specifying the future application as a set of collaboratingcomponents. It yields a description of the solution as a combination of new application componentsand existing portions of the legacy system (which may require some wrapping or modification towork properly as components).

We can also link to traditional techniques, especially during the transition from previous tools andskills. For example, we can use entity-relationship modelling and process decomposition to specifythe functional requirements of the future application. We can also use dialog flow diagramming andwindow design to specify the user interface and implementation of the future application. Such linksto traditional techniques also allow for continuity and reuse of existing design work.

Infrastructure Design

This task uses an extension of UML for specifying the future technology infrastructure as a set ofcollaborating components.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 11

Delivery

Overview

Delivery divides into Component Acquisition, Component Development, Assembling andCommissioning. The provisioning of the new components may follow a variety of paths,including:

• Existing components may be wrapped, repackaged or restructured.

• Modifications to existing components may be hand-crafted. Alternatively, if a suitable componentalready exists elsewhere, it may be cheaper and easier to replace the old component with animproved version satisfying the requirements.

• New components may be bought ‘off-the-shelf’ from a component library. Or a component withsimilar description may be bought and customized.

• Finally, and only where necessary, new components may be commissioned from componentbuilders, either in-house or external.

These considerations apply to the provisioning not only of software application components but alsoof other pieces of the solution, including business process components (such as user guides andstationery) and infrastructure components (such as hardware and system software).

The development and maintenance of components will normally follow a prototyping approach.Furthermore, whole business solutions may be assembled and piloted before roll-out to theremainder of the target organization - this can be regarded as a business-level equivalent of aprototyping approach.

Note: the planning of development and implementation is regarded as part of project management.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 12

Task Structure

Task Description Subtasks

Component Acquisition Obtain application andtechnology components fromexternal sources. Includescomponents supplied bycustomer.

Ø Negotiate Ownership

Ø Take Delivery

Ø Verify AcquiredComponent

Acquired ComponentImplementation

This task includes themodification and installationof components, packages andtemplates from externalsources (including customer).

Ø Modify ComponentDesign

Ø Set ComponentParameters

New ComponentConstruction

This task includes theconstruction of newcomponents.

Ø Build Component

Ø Unit-Test Component

Transition ComponentConstruction

This task consists of wrappingand/or modifying legacy codeto produce applicationcomponents that offer therequired interface/service.The legacy code usually (butnot necessarily) remains onthe original platform.

Ø Wrap Legacy code

Ø Modify Legacy code

Component Publication Make component (and/or theservices it provides) availableto a defined user community.

Ø Define Terms ofAvailability

Ø Publish ComponentSpecification

Ø Establish ComponentDelivery Mechanism

Solution Testing Verifies that the solutionsatisfies the requirements,executes satisfactorily on theinstalled technologicalplatform, and provides theexpected support for thebusiness process.

Ø Define Test Plan

Ø Establish TestEnvironment

Ø Install Test Data Storage

Ø Execute Test Plan

Solution Deployment Installs all new technologycomponents. Configurestechnology infrastructure.Installs all applicationcomponents on theappropriate technologycomponents. Installs processcomponents. Go live.

Ø Install Components

Ø Configure System

Ø Install Live Data Storage

Ø Commission System

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 13

Project Scenarios

SCIPIO covers a broad range of project scenarios from application assembly to BPR. In this chapter,we identify four main solution-oriented scenarios, each with some variations.

• Business Process Improvement

• Reengineering

• Object Development from Scratch

• Middleware

SCIPIO identifies three different flavors of improvement, at each of the three levels (business process,application and technology). This is based on the wisdom that it usually makes sense (at all threelevels) to simplify before integrating (“Don’t pave the cow paths!”), and to integrate beforetransforming. The four scenarios cover all nine variations, as shown in Figure 4.

BusinessProcess

Simplification

Using IT to eliminateredundant steps in a businessprocess, or to reduce excessivevariety.

Integration

Using workflow managementtools and new softwarecomponents to link businessprocesses together moreeffectively.

Transformation

Radical BPR

Scenario: Business Process Improvement

Applica-tion

Simplification

Using CBD in a tightly focusedway to eliminate specificproblems in legacy systems.

Integration

Using middleware to linkinformation systems togethermore effectively.

Transformation

Building new InformationSystem solutions usingcommercially availablecomponents.

Scenario: Reengineering Scenario: Object Development from Scratch

Infra-structure

Simplification

Replacing unnecessarycomplications or variations inthe technological infrastucture.

Integration

Linking heterogeneoustechnologies together moreeffectively.

Transformation

Satisfying new technicalrequirements, or exploitingnew technologicalopportunities.

Scenario: Middleware Scenario: Object Development from Scratch

Figure 4: Four Project Scenarios, covering nine kinds of improvement

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 14

Scenario: Business Process Improvement

Process Simplification

OR

Process Integration

OR

ProcessTransformation

SCIPIO Tasks

Start with an existingbusiness process, whoseperformance is problematicin some way - tooexpensive, too slow, tooerror-prone.

Start with a series ofpoorly coordinatedbusiness activities.

-----------------------→ Process Assessment

OR -----------------------→ Start with an entirelynew process concept.

Determine OptimizationStrategy

Model the as-is process, toidentify which specificsubprocesses andcomponents are causing theproblems.

Model the currentmechanisms (if any) thatlink these activities.

Process Analysis

• Analyse Organization

• Analyse Tasks,Collaborations andInterfaces

• Document Workflow Pathsand Mechanisms

• Document Business RuleStructure

• Document BusinessResponsibilities

Produce an abstract modelto show what is essentialabout the process.

Create an overallbusiness process thatbrings all these activitiestogether.

Process Analysis

• Document Process

OR -----------------------→ Analyse the newconcepts to identify itskey components (at thebusiness level).

Process Design

• Business ResponsibilityAssignment

Prune the process to cut outwhatever is causing theproblems, and replace withsimpler, more robustcomponents.

Design an improvedmechanism for linkingthese activities. Thismay typically involveworkflow managementsoftware.

Process Design

• Determine OptimizationStrategy

• Business RuleRationalization

• Business ResponsibilityAssignment

• Workflow Structure Design

• Workflow MechanismSelection

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 15

Process Simplification

OR

Process Integration

OR

ProcessTransformation

SCIPIO Tasks

Application Design(first cut)

• Information Sourcing

• Component Identification

• Component ProtocolDesign

• Component ResponsibilityAssignment

• Component Specification

• Component Sourcing

Analyse the existingsystems to discoverhow many of therequired componentsalready exist.

Analyse the existingsystems to discoverhow many of therequired componentsalready exist.

Analyse the existingsystems to discoverhow many of therequired componentsalready exist.

Application Analysis

• Document ApplicationComponents

Application Design(second cut)

Estimate the performance ofthe redesigned process.

Estimate theperformance of theredesigned process.

Estimate theperformance of the newprocess.

Process Assessment

• Estimate performance ofsolution (simulation)

Application Assessment

• Estimate characteristics ofsolution (simulation)

Application Design(third cut)

Implement the newcomponents one by one, toyield a simpler, more robustprocess with the desiredperformance.

Modify existingcomponents and/oracquire new componentsto work within theimproved mechanism.

Reconfigure the businessprocess.

Acquire newcomponents asrequired.

Install newcomponents.

Implement newbusiness process.

Process Design

• Release Planning

Application Design

• Component Sourcing

Delivery

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 16

Scenario: Reengineering

Application Simplification Application Integration SCIPIO Tasks

Start with an existing application that isproblematic in some way - fails to satisfyimportant business requirements, too expensiveor too slow to maintain, too error-prone.

Start with a series of poorly coordinatedcomputer systems. There may be high levels ofdata duplication, complex data conversions, orother inefficiencies.

ApplicationAssessment

Model the as-is application, to identify whichspecific subprocesses and components arecausing the problems.

Identify the current mechanisms (if any) thatlink these systems. (The current mechanismswill often be manual - in the worst case, theymay involve rekeying data from one computersystem into another computer system.)

Application Analysis

Prune the application to cut out whatever iscausing the problems, and replace with simpler,more robust components.

Design an overall application architecture thatbrings all these systems together. Designimproved mechanisms for linking these systems.This may typically involve open distributedcomputing.

Application Design

Implement the new components one by one, toyield a simpler, more robust application withthe desired characteristics.

Modify existing components and/or acquirenew components to work with the chosenmechanism. Reconfigure the applications.

Delivery

Scenario: Middleware

Infrastructure Simplification Infrastructure Integration SCIPIO Tasks

Start with an existing infrastructure that isproblematic in some way - fails to satisfyimportant business requirements, tooexpensive or too slow to maintain, tooerror-prone.

Start with a series of poorly coordinatedplatforms and protocols.

Infrastructure Assessment

Model the as-is infrastructure, to identifywhich specific platforms and protocols arecausing most of the problems.

Identify the current mechanisms (if any)that link these platforms and protocols.

Infrastructure Analysis

Rationalize the infrastructure to phase outwhatever is causing the problems, andreplace with simpler, more robusttechnologies.

Design an overall technical architecturethat brings all these systems together.

Infrastructure Design

• Envision Solution

• Develop Upgraded TechnicalArchitecture

• Determine re-useopportunities

Implement the new components one byone, to yield a simpler, more robustinfrastructure with the desiredcharacteristics.

Introduce new middleware to implementthe technical architecture. Modify existingcomponents and/or acquire newcomponents to work with the chosenmechanism. Reconfigure theinfrastructure.

Infrastructure Design

• Develop Upgraded TechnicalArchitecture

• Determine re-useopportunities

Delivery

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 17

Scenario: Object Development from scratch

Application Transformation Infrastructure Transformation SCIPIO Tasks

Start with an entirely new applicationrequirement.

----------------------------------------→ Process Design

• DetermineOptimization Strategy

OR Start with an entirely new technologicalrequirement or opportunity.

Infrastructure Design

• Envision Solution

Analyse the new requirement to identify itskey components.

Analyse the new requirement oropportunity to identify its keycomponents.

Process Design

Analyse the existing systems to discover howmany of these components already exist.

Analyse the existing systems to discoverhow many of these components alreadyexist (probably externally).

Application Analysis

• ComponentIdentification

Acquire new components as required. Acquire new components as required. Application Design

• Information Sourcing

• ComponentIdentification

• Component ProtocolDesign

• ComponentResponsibilityAssignment

• ComponentSpecification

Install new components. Install new components. Delivery

Implement new application. Implement new infrastructure. Delivery

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 18

Detailed Task Structure

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

ProcessAssessment

Identify Business ProcessObjectives

Identify all the businessobjectives for theprocess.

To provide acomprehensive basis forassessment.

Include

• constraints (whatcannot be changed)

• opportunities (whatmay be changed)

• goals (what must bechanged).

Input from processowner

Assumes that the scopeof the business processhas been (at leastprovisionally) defined.

Describe BusinessProcess Objective

Determine BusinessProcess Metric

For each objective:

description

how it is measured

Review Performance ofCurrent Business Processagainst Objectives

Measure or estimateperformance of processseparately against eachobjective.

Documentmanagement attitude toany identified processweaknesses.

To identify the prioritiesfor improvement.

Consider the strengths ofthe current businessprocess, as well as itsweaknesses.

Does the processperform consistently, orare there peaks andtroughs of performance?

Which of the identifiedweaknesses are mostcritical to the business?Which must beaddressed most urgently?

Business ProcessObjectives

Performance Data ifavailable. Otherwisedirect observation of thebusiness process formeasurement.

Assemble AvailablePerformance Data

Conduct PerformanceMeasurements

Determine CurrentPerformance Level

Determine CurrentPerformance Variations

Assess PerformanceAdequacy

Assess Priority of Action

For each objective:

• current levelachieved (with anyimportant variations)

• judgment ofadequacy

• judgment of priority

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 19

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Establish Business ProcessBenchmark

Identify external orinternal best-in-class forthis process. Measuretheir achievementsagainst our objectives.

To stimulateimprovement effort.

To identify realisticproject targets.

And to identify specificpractices that can beconsidered for adoption.

Are the resultsobtainable frompublished figures, orfrom a benchmarkingclub, or do they have tobe estimated? Howreliable is the estimate?

How much do we know(or can find out) abouthow they actuallyachieve these results?

How fair is thecomparison with thebenchmark?

Business ProcessObjectives

Define BenchmarkStrategy and Scope

Identify BenchmarkTargets

Establish ExternalContacts

Define BenchmarkChecklist

Obtain BenchmarkInformation

Obtain CollateralInformation

Identify Issues andOpportunities

Analyze BenchmarkResults

For each benchmark andobjective:

• current levelachieved (with anyimportant variations)

• any significantdifferences betweentheir situation and ours

• objectives

• priorities

• constraints

Set Targets for BusinessProcess Improvement

Define goals for theproject in terms of thebusiness processobjectives.

Required for projectmanagement.

Consider what has beenachieved elsewhere,when setting targets.

Business ProcessObjectives

Current Business ProcessPerformance

Business ProcessBenchmarks

Determine AchievablePerformance Level

Estimate Costs andBenefits of PerformanceImprovement

Determine Cost-Effective PerformanceLevel

Set ImprovementTimescale

For each objective:

• how muchimprovement?

• by when?

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 20

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Explain processperformance.

When the businessprocess has beenmodelled, check thatthe AS IS model isconsistent with andexplains the currentperformance.

Validates the analysis. Is all process cycle timeaccounted for?

Is all the resourceexpenditure accountedfor?

Can the actual quality ofservice be explained interms of the AS ISmodel?

AS IS models(from Analysis)

Establish SimulationApproach (manual /automated)

Develop SimulationModel

Execute SimulationModel

Analyze SimulationResults

The simulation of the ASIS model should yieldresults consistent withthe actual processperformance.

This task may result inchanges to the AS ISmodel.

Estimate performance ofsolution (simulation)

When the process hasbeen redesigned,estimate itsperformance against thebusiness processobjectives.

In complex or high-riskprojects, simulationtools may be used.

Validates the solutionbefore you start buildingit.

Is the new process goingto work?

What is it likely toachieve against thebusiness processobjectives?

Will the improvementtargets be met?

TO BE models(from Design)

Establish SimulationApproach (manual /automated)

Develop SimulationModel

Execute SimulationModel

Analyze SimulationResults

The simulation of theTO BE model shouldyield results consistentwith the project targets.

This task may result inchanges to the TO BEmodel, and/or to theproject targets.

Review performance ofsolution (post-implementationevaluation)

When the redesignedprocess has beenimplemented, measurethe actual performanceachieved against each ofthe business processobjectives.

Evaluates the success ofthe project.

Identifies lessons andopportunities for futureprojects.

Is the new processworking?

Have improvementtargets been met?

Project targets

Actual measurements ofthe improved businessprocess.

Check solutionbehaviour

Measure solutionperformance

Compare solutionperformance withimprovement targets

Identify outstandingactions and opportunities

This task may result in afurther improvementcycle, and/or to changesin the solutiondevelopment processitself.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 21

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

ApplicationAssessment

Identify ApplicationObjectives

Identify all theobjectives for theapplication.

Consider what thebusiness or technologymay require fromapplications in future aswell as the currentrequirements

To provide acomprehensive basis forassessment.

Include

• constraints (whatcannot be changed)

• opportunities (whatmay be changed)

• goals (what must bechanged).

Consider all aspects ofapplication quality andperformance, including:functionality, usability,maintainability,efficiency, reliability andportability.

In some projects, theobjectives may bederived from thebusiness processobjectives. On otherprojects, they will begiven as part of the termsof reference.

Assumes that the scopeof the application hasbeen (at leastprovisionally) defined.

Describe ApplicationObjective

Determine ApplicationQuality Metric

For each objective:

• description

• how it is measured

Review CurrentApplication againstObjectives

Measure or estimatequality of theapplication separatelyagainst each objective.

To identify the prioritiesfor improvement.

Consider the strengths ofthe current application,as well as its weaknesses.

Does the applicationperform consistently, orare there peaks andtroughs of performance?

Which of the identifiedweaknesses are mostcritical to the business?Which must beaddressed most urgently?

Application Objectives

Performance Data ifavailable. Otherwisedirect measurement ofthe application.

Assemble AvailableQuality Data

Conduct QualityMeasurements

Determine CurrentQuality Level

Determine CurrentQuality Variations

Assess ApplicationAdequacy

Assess Priority of Action

For each objective:

current level achieved(with any importantvariations)

judgment of adequacy

judgment of priority

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 22

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Establish ApplicationBenchmark

Identify any equivalentapplication (eitherelsewhere in thecompany or outside),with which the qualityof this application canbe compared. Measuretheir achievementsagainst our objectives.

To stimulateimprovement effort.

To identify realisticproject targets.

And to identify specificpractices that can beconsidered for adoption.

Are the resultsobtainable frompublished figures, orfrom a benchmarkingclub, or do they have tobe estimated? Howreliable is the estimate?

How much do we know(or can find out) abouthow they actuallyachieve these results?

How fair is thecomparison with thebenchmark?

Application Objectives Define BenchmarkStrategy and Scope

Identify BenchmarkTargets

Establish ExternalContacts

Define BenchmarkChecklist

Obtain BenchmarkInformation

Obtain CollateralInformation

Identify Issues andOpportunities

Analyze BenchmarkResults

For each benchmark andobjective:

current level achieved(with any importantvariations)

any significantdifferences betweentheir situation and ours

• objectives

• priorities

• constraints

Set Targets forApplication Improvement

Define goals for theproject in terms of theapplication objectives.

Required for projectmanagement.

Consider what has beenachieved elsewhere,when setting targets.

Relate applicationimprovement targets tobusiness processimprovement targets.

Application Objectives

Business ProcessImprovement Targete

Application BenchmarkResults

Determine AchievableQuality Level

Estimate Costs andBenefits of QualityImprovement

Determine Cost-Effective Quality Level

Set ImprovementTimescale

For each objective:

how muchimprovement?

by when?

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 23

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Explain ApplicationCharacteristics

When the applicationhas been modelled,check that the model isconsistent with andexplains the currentquality of service.

Validates the analysis Are all the response timeand processing delaysaccounted for?

Is all the resourceexpenditure accountedfor?

Can the actual quality ofservice be explained interms of the model?

AS IS models(from Analysis)

Establish SimulationApproach (manual /automated)

Develop SimulationModel

Execute SimulationModel

Analyze SimulationResults

This task may result inchanges to the AS ISmodel.

Estimate characteristics ofsolution (simulation)

When the applicationhas been redesigned,estimate its behaviouragainst the applicationobjectives.

In complex or high-riskprojects, simulationtools may be used.

Validates the solutionbefore you start buildingit.

Is the new applicationgoing to work?

What is it likely toachieve against theapplication objectives?

Will the improvementtargets be met?

TO BE models(from Design)

Establish SimulationApproach (manual /automated)

Develop SimulationModel

Execute SimulationModel

Analyze SimulationResults

This task may result inchanges to the TO BEmodel.

Review characteristics ofsolution (post-implementationevaluation)

When the redesignedapplication has beenimplemented, measurethe actual behaviourachieved against each ofthe applicationobjectives.

Evaluates the success ofthe project.

Identifies lessons andopportunities for futureprojects.

Is the new applicationworking?

Have improvementtargets been met?

Project targets

Actual measurements ofthe improvedapplication.

Check solutionbehaviour

Measure solutionperformance

Compare solutionperformance withimprovement targets

Identify outstandingactions and opportunities

This task may result in afurther improvementcycle, and/or to changesin the solutiondevelopment processitself.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 24

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

InfrastructureAssessment

Identify InfrastructureObjectives

Identify all theobjectives for theinfrastructure.

Consider what thebusiness or applicationsmay require fromtechnology in future aswell as the currentrequirements

To provide acomprehensive basis forassessment.

Include

• constraints (whatcannot be changed)

• opportunities (whatmay be changed)

• goals (what must bechanged).

Consider all aspects ofsystem quality, includingfunctionality, usability,maintainability,efficiency, reliability andportability.

In some projects, theseobjectives may bederived from thebusiness process orapplication objectives.On other projects, theywill be given as part ofthe terms of reference.

Describe InfrastructureObjective

DetermineInfrastructure QualityMetric

For each objective:

description

how it is measured

Review CurrentInfrastructure againstObjectives

Measure or estimatequality of theinfrastructure separatelyagainst each objective.

To identify the prioritiesfor improvement.

Consider the strengths ofthe currentinfrastructure, as well asits weaknesses.

Does the technologyperform consistently, orare there peaks andtroughs of performance?

Which of the identifiedweaknesses are mostcritical to the business?Which must beaddressed most urgently?

Infrastructure Objectives Assemble AvailableQuality Data

Conduct QualityMeasurements

Determine CurrentQuality Level

Determine CurrentQuality Variations

Assess InfrastructureAdequacy

Assess Priority of Action

For each objective:

• current levelachieved (with anyimportant variations)

• judgment ofadequacy

• judgment of priority

Review TechnologyTrends

Consider the likelyfuture capabilities of thetechnologies currentlybeing used.

To identify futureopportunities and threats

Are these expectedcapabilities likely to beavailable within atimeframe to satisfyfuture requirements?

Infrastructure Objectives

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 25

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Establish InfrastructureBenchmark

Identify any equivalentinfrastructure (eitherelsewhere in thecompany or outside),with which the qualityof this infrastructure canbe compared. Measuretheir achievementsagainst our objectives.

To stimulateimprovement effort.

To identify realisticproject targets.

And to identify specificpractices that can beconsidered for adoption.

Are the resultsobtainable frompublished figures, orfrom a benchmarkingclub, or do they have tobe estimated? Howreliable is the estimate?

How much do we know(or can find out) abouthow they actuallyachieve these results?

How fair is thecomparison with thebenchmark?

Infrastructure Objectives Define BenchmarkStrategy and Scope

Identify BenchmarkTargets

Establish ExternalContacts

Define BenchmarkChecklist

Obtain BenchmarkInformation

Obtain CollateralInformation

Identify Issues andOpportunities

Analyze BenchmarkResults

For each benchmark andobjective:

• current levelachieved (with anyimportant variations)

• any significantdifferences betweentheir situation and ours

• objectives

• priorities

• constraints

Set Targets forInfrastructureImprovement

Define goals for theproject in terms of theinfrastructureobjectives.

Required for projectmanagement.

Consider what has beenachieved elsewhere,when setting targets.

Relate infrastructureimprovement targets tobusiness process andapplicationimprovement targets.

Infrastructure Objectives

InfrastructureBenchmark Results

Determine AchievableQuality Level

Estimate Costs andBenefits of QualityImprovement

Determine Cost-Effective Quality Level

Set ImprovementTimescale

For each objective:

• how muchimprovement?

• by when?

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 26

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Explain InfrastructureCharacteristics

When the infrastructurehas been modelled,check that the model isconsistent with andexplains the currentquality of service.

Validates the analysis Are all the response timeand processing delaysaccounted for?

Is all the resourceexpenditure accountedfor?

Can the actual quality ofservice be explained interms of the model?

AS IS model Establish SimulationApproach (manual /automated)

Develop SimulationModel

Execute SimulationModel

Analyze SimulationResults

This task may result inchanges to the AS ISmodel.

Estimate characteristics ofsolution (simulation)

When the infrastructurehas been redesigned,estimate its behaviouragainst the applicationquality objectives.

In complex or high-riskprojects, simulationtools may be used.

Validates the solutionbefore you start buildingit.

Is the new infrastructuregoing to work?

What is it likely toachieve against theinfrastructure objectives?

Will the improvementtargets be met?

TO BE model Establish SimulationApproach (manual /automated)

Develop SimulationModel

Execute SimulationModel

Analyze SimulationResults

This task may result inchanges to the TO BEmodel.

Review characteristics ofsolution (post-implementationevaluation)

When the redesignedinfrastructure has beenimplemented, measurethe actual behaviourachieved against each ofthe infrastructureobjectives.

Evaluates the success ofthe project.

Identifies lessons andopportunities for futureprojects.

Is the new infrastructureworking?

Have improvementtargets been met?

Delivered Solution Check solutionbehaviour

Measure solutionperformance

Compare solutionperformance withimprovement targets

Identify outstandingactions and opportunities

This task may result in afurther improvementcycle, and/or to changesin the solutiondevelopment processitself.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 27

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

ProcessAnalysis

Analyze Organization Understand the actualstructure of theorganization.

Identifies the internalstakeholders in thecurrent process, andtheir responsibilities andrelationships.

This will be importantfor planning anychanges.

Do roles correspond topersons or departments?

Who controls whom?What are theorganizational patterns:

• management byobjectives

• self-managing teams

Scope (provisionally)defined

Identify people andgroups

Identify roles

Identity organizationalrelationships

Organizational StructureDiagram

RAEW matrix

Analyze Tasks,Collaborations andInterfaces

Understand theactivities of theorganization.

Since the currentmechanisms forcommunication betweenactivity steps are likely tochange, we need amodel of the process thatis independent ofmechanisms andsequence.

For each activity,identify the collaboratingactors:

• human actor

• external relationship

• internal relationship

• upstream activity

• downstream activity

• technology support foractivity

Scope (provisionally)defined

Decompose Process intoSub-Processes

Decompose Sub-Processes into Activities

Detail Collaborations

Analyze interfacesbetween organizationunits

Analyze interfacesbetween tasks

Analyze user interfaces

Collaboration orExchange Diagram

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 28

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Document WorkflowPaths and Mechanisms

Analyze how theseparate activity stepsare joined together tomake a completeprocess.

Process control tasksshould be included, aswell as processexecution tasks.

Performance problemsin a process (whether todo with speed orreliability) can often betraced to weakcommunication betweenactivity steps, rather thanto weak performance ofa given step.

How are messagespassed between steps ofthe process?

Where are the queues inthe process? How arethey managed?

How is a given workitem allocated to one ofmany interchangeableservers or caseworkers?

How is the progress andcompletion of workcontrolled?

Identify exchanges

Decompose exchangesinto separate flows

Document flowmechanisms andprotocols

Activity Diagram(Process Flow)

Document Business RuleStructure

Identify the businessrules actuallyimplemented by thecurrent work andprocedures.

Allows business rules tobe explicitly revalidatedand rationalized beforebeing re-implemented inthe new solution.

What are the implicitobjectives andconstraints of each taskor component?

What is supposed tohappen for each logicalcombination ofconditions?

Identify explicit andimplied rules for eachrole.

Identify explicit andimplied rules for eachcomponent.

Consolidate rules intorule diagram.

Rule Diagram

Document BusinessResponsibilities

Identify where theresponsibility lies forguaranteeing each rule

Identifies overlaps andgaps in the currentimplementation of thebusiness rules

Helps the analyst toensure continuity ofrule-governed behaviourduring the transition tothe new solution.

How is each ruleenforced?

Rule Diagram

Organizational StructureDiagram

Matrix mappingbetween Rule Diagramand OrganizationalStructure Diagram

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 29

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Document Process Understand the actualoverall structure of theprocess.

Provides a high-levelsummary of the process,which should bemeaningful to businessmanagement.

This task may be startedat any time, but cannotbe completed until theother tasks in this sectionare complete.

Activity Diagram

ApplicationAnalysis

Map Current Application Identify subsystems ofthe current application,to be documented ascomponents.

Provides starting pointfor planningimprovements to theapplication

How reliable is systemdocumentation?

Does systemdocumentation identifymeaningful clusters oflegacy application?

Can more meaningfulclusters be identifiedafter some detailedanalysis?

Collaboration Diagram:Application Map

Document ApplicationComponents

Describe thefunctionality andperformance of eachidentifiable subsystemof the currentapplication systems

Helps determine whichcomponents can beredeployed in the new orimproved application,and which componentsneed to be altered orreplaced.

Abstract collaborationsto single actions.

Abstract groups to singleobjects.

Specify abstract actionswith postconditions.

Class Diagrams

Document ApplicationInterfaces and Protocols

Identify how theapplication componentstalk to each other atruntime.

Helps fix the interfacesbetween thecomponents that aregoing to remain and thecomponents that aregoing to be replaced.

Are there performanceor quality of serviceassumptions /constraints on theinterfaces?

Sequence Diagram

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 30

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Document ApplicationResponsibilities

Identify which businessrules are currentlyencapsulated insoftware

Identifies overlaps andgaps in the currentimplementation of thebusiness rules.

Helps the analyst toensure continuity ofrule-governed behaviourduring the transition tothe new solution.

Rule Diagram

Application Map

Matrix mappingbetween Rule Diagramand Application Map

Map Process toApplication

Understand therelationship betweenthe actual structure ofthe process and theactual structure of thecurrent applications.

Helps to justify changesto the application interms of improvementsto the business process.

Process Flow Diagram

Application Map

Matrix mappingbetween Process FlowDiagram and ApplicationMap

ComponentExploration

Formulate Search Criteria Define theprocurementrequirements.

Understand what we'relooking for.

Search Criteria

Create Shortlist ofAvailable Components

Determine the names,sources and costs ofcomponents that matchthe search criteria.

Limit the search tocomponents that mightbe relevant to thesolution.

Search Criteria Component Shortlist

Obtain Specification ofComponent

Get details of thebehaviour andvocabulary of thecomponent.

Enables the designer tocreate detailed designs ofsolutions that wouldinclude this component.

Component Shortlist Ideally we can produce aClass Diagram for thecomponent.

Identify TechnologyRequirements andConstraints

Get details of theoperationalprerequisites of thecomponent.

Understand thepracticalities of acquiringthis component, and thecosts of using it.

Component Shortlist Running costs.

Preconditions forinstallation.

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 31

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

InfrastructureAnalysis

Map CurrentInfrastructure

Identify parts of thecurrent infrastructure,to be documented asinfrastructurecomponents.

Provides starting pointfor planningimprovements to theinfrastructure

As for application map Collaboration Diagram:Infrastructure Map As Is

Document InfrastructureComponents

Describe thefunctionality andperformance of eachchunk of the currentinfrastructure

Helps determine whichcomponents can beredeployed in the new orimproved application,and which componentsneed to be altered orreplaced.

Type Diagrams

Document InfrastructureProtocols

Identify how theinfrastructurecomponents talk to eachother at runtime.

Helps fix the interfacesbetween thecomponents that aregoing to remain and thecomponents that aregoing to be replaced.

Sequence diagramsaddress information flowbehaviour requirementscenarios for centralizedaccess, distributedaccess, and connection-free or on-demandaccess.

Sequence Diagram

Map Application toInfrastructure

Understand therelationship betweenthe actual structure ofthe current applicationand the actual structureof the currentinfrastructure.

Helps to justify changesto the infrastructure interms of improvementsto the business processand/or application.

Application Map

Infrastructure Map

Matrix mappingbetween ApplicationMap and InfrastructureMap

ProcessDesign

Determine OptimizationStrategy

Identify the processimprovement pattern(s)to be applied.

Establishes a coherentstyle for the design.

Provides consistentdirection to individualdesigners.

for example:Simplification,Generalization,Integration

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 32

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Business RuleRationalization

Restructure or simplifythe Rule Diagram.

Ensures that essentialrules are implementedreliably and cost-effectively.

Are all business rules stillappropriate? Are thereany rules that cost moreto enforce than isjustified by their value tothe business?

Are any business rulesduplicated or redundant?

Start from Rule Diagram(As Is)

Rule Diagram (To Be)

Business ResponsibilityAssignment

Identify where the ruleswill be implemented.

Ensures the solutioncovers the business rulescompletely and cost-effectively.

Does each activity have ameaningful cluster ofresponsibilities?

Rule Diagram

Process Flow Diagram

Mapping between RuleDiagram and ProcessFlow Diagram

Workflow StructureDesign

Identify the flows ofwork between tasks andorganization units.

Ensure that the solutionis sufficiently flexible.

Provide basis foracceptance testing anduser training.

Establish control modelfor workflow engine (ifappropriate).

Is it necessary orappropriate to fix theworkflow? How muchflexibility is possible?

Start from Process FlowDiagram (As Is)

Process Flow Diagram(To Be)

Workflow MechanismSelection

Identify how the workwill flow.

In some situations, it isappropriate to specifymechanisms in advance.

In many situations, it isnecessary to estimaterequired communicationcapacity (both humanand technological).

Are selected mechanismsrobust enough? Arecontingency mechanismsrequired?

Workflow StructureDesign

Process Flow Diagram(To Be)

Sequence Diagram(To Be)

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 33

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Solution Verification Check solution meetsrequirements.

Reduce risk that theproject fails to meet itsobjectives.

Check solution beforeinvesting in acquisitionor development.

Concentrate on thecomponents whoseacquisition involves thegreatest expectedleadtime, cost or risk.

This task may result inchanges to any of thediagrams representingthe solution.

Release Planning Cluster the changes tothe process into severalself-contained steps orreleases.

Ensure the solution canbe easily implementedwith limited disruptionto ongoing business andtechnical operations.

Consider other businessevents with which theimplementation mayneed to be coordinated.

Annotated Process FlowDiagram and TypeDiagram for eachrelease.

Release Schedule

ApplicationDesign

Information Sourcing Defines where theapplication will obtaindata from, either atinstall-time or at run-time.

Ensure completeness andcorrectness ofinformation to supportbusiness needs.

What are the keyqueries? What data arecurrently available tosupport these queries?

Data Stores

Information Needs

Matrix mappingbetween queries anddata stores.

Component Identification Identifies thecomponents fromwhich the applicationwill be constructed.

The various tasks thatthe software actorsperform are candidateactions for softwarecomponents. We candetail a component interms of its operationsand vocabulary. This isthe external design.

To confirm that theexternal design is at asufficiently fine level ofgranularity to beimplemented as a singlecomponent, it isnecessary to furtherdecompose its actions.

Is the external design at asufficiently fine level ofgranularity to beimplemented as a singlecomponent?

Consider how the lowerlevel items, or interfacetypes, might bepackaged intocomponents.

Components in existingsystem. These may beexplicit (actual) orhidden (potential).

Components readilyavailable from othersources.

Identify External Designof ApplicationComponent

Decompose the Actions

Package Actions intoImplementableComponents

List of components, withoutline description offunctionality and otherrequirements

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 34

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Component ProtocolDesign

Defines howcomponents will talk toeach other.

Needed for specifyingcomponent interfaces.

Are there standardpatterns or protocols thatcan be used across theproject?

Component List Sequence Diagram

ComponentResponsibilityAssignment

Defines which businessrules will beencapsulated in whichsoftware components.

Ensures all business rulesare covered by solution.

We want to designcomponents with highinternal cohesion andlow coupling with othercomponents.

Does each componenthave a meaningful clusterof responsibilities?

Rule Diagram

Component List

Matrix mappingbetween Rule Diagramand list of Components

Data Storage Design Specify the structureand mechanisms forpersistent data storage.

Ensures the solution willpossess data integrity.

Component Specification Produces a detaileddescription of thevocabulary andbehaviour of all newcomponents.

Enables newcomponents to be foundor built.

Initially Assume OneComponent per Type

However, ComponentsNeed Each Other. TheyWill Be Developed andSold in Suites

Executables May BeDelivered as CoarserGrained Components

Complete theSpecification of AllComponents

Type Diagram, withRule Diagrams to specifypre- and post-conditions.

Component Sourcing Plans the acquisition ofnew components, asReuse, Buy or Build.

Get the most rapid andcost-effective solution.

What is budget forprocurement?

What is budget fordevelopment?

What are timescale andcost implications of eachoption?

Plan

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 35

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

InfrastructureDesign

Envision Solution Create a picture of thenew infrastructure.

How to achieve anappropriate level offlexibility.

Collaboration Diagram:Infrastructure Map ToBe

Develop UpgradedTechnical Architecture

As the varioustechnology componentsare identified they needto be fitted into anarchitecture.

It is here that technologyneeds to look not only atthe information accessrequired but thetechnology behaviouraspects as well. This isthe strength of opendistributed computingand its attractiveness tolarge companiesespecially at theenterprise level.

Components Allocate eachComponent to aPlatform

Determine re-useopportunities

Examine opportunitiesto replace or enhanceother business processesand their technologicalsupport both now andin the future.

The cost justification ofcertain componentsmay require a morebusiness managementviewpoint.

The key projectobjective is to solve thebusiness process issue.This task checks whetherwe have a plan thatachieves a timelyimplementation of asolution for the currentbusiness problem.

If possible, thetechnology layer shouldprovide benefits acrossthe entire enterprise.Can we identify longerterm or broaderopportunities? Towhom (beyond thecurrent project team)should these potentialbenefits be presented?

Allocate Components toPlatforms

Decide how theapplication componentsand services will besupported by specificinfrastructurecomponents.

To produce a technicallyefficient and reliablesolution.

ComponentArchitecture

Technology Architecture

Technology Objectives

Deployment Diagram

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 36

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

ComponentAcquisition

Negotiate Ownership Agree price and otherterms for acquisition.

Ensure this projectbenefits from using thiscomponent.

Consider total cost ofownership.

Consider support andupgrade arrangements.

Component AcquisitionAgreement

Take Delivery Obtain application andtechnology componentsfrom external sources,including customer-supplied product.

Make correct version ofacquired componentavailable to developers.

Component and itsdocumentation

Verify AcquiredComponent

Test or inspectdelivered component.

Check that the correctversion has beendelivered.

Confirm that thecomponent is fit-for-purpose.

Can this be done prior tocontract?

ComponentSpecification

Component and itsdocumentation

Non-conformance log

AcquiredComponentImplementa-tion

Modify ComponentDesign

Customize componentto requirements.

Sometimes it's morecost-effective to alterone component than toalter all its neighbours.

But consider theimplications for supportand future upgrades.

Specification ofRequired Component

Specification of AcquiredComponent

Component

Modified Component

Set ComponentParameters

Set initial conditions oroptions for component.

Align interfaces ofconnecting components.

May also want to reducevariety and complexityof test and operations.

What are the operationaloptions built into thecomponent?

Does componentsupplier offer any advice?

ComponentDocumentation

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 37

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

NewComponentConstruction

Build Component Develop a newcomponent.

Satisfy a requirementthat is not covered byexisting components orcode. Support a newinterface or service.

Is it worth building forreuse?

ComponentSpecification

Confirm technologyplatform

Write code

Component

Unit-Test Component Test component inisolation.

Check that thecomponent conforms toits specification.

Use of test harness.

Range of operatingparameters

Component

ComponentSpecification

Tested Component

TransitionComponentConstruction

Wrap Legacy Code Write an interface orbridge to a definedchunk of legacy code.

Reuse legacy code toproduce applicationcomponents that offerthe requiredinterface/service.

The legacy code usually(but not necessarily)remains on the originalplatform.

Legacy Code

ComponentSpecification

Component

Modify Legacy Code Alter a chunk of legacycode so that it satisfiesnew requirements atthe same time as itcontinues to play itsrole in the legacysystem.

Reuse and generalizelegacy code to produceapplication componentsthat offer the requiredinterface/service.

The legacy code usually(but not necessarily)remains on the originalplatform.

The legacy system willnow access this codethrough the componentinterface.

Legacy Code

ComponentSpecification

Component

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 38

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

ComponentPublication

Define Terms ofAvailability

Establish who can haveaccess to a givencomponent (or set ofcomponents), underwhat terms.

Both producer and usershould gain somethingfrom the wider use ofthis component.

We also need to setlimits to the proper orappropriate use of thecomponent.

What is the likely valueof this component tovarious potential users?

What are the costs,benefits and risks ofmaking this componentavailable to potentialusers?

How should the costsand risks be shared withpotential or actual usersof the component?

Identify any risks ofover-extended use.

Define scope ofavailability (to whom)

Define serviceguarantees (if any)

Define charges

Define supportarrangements

Component AccessTerms

Create ComponentCollateral

Produce other materialsto be delivered withcomponent.

Enhance proper use ofcomponent.

Reduce support costs.

ComponentSpecification

Component

Component Collateral -may include ReadMefiles, SetUp routines andother documentation.

Publish ComponentSpecification

Make specification ofcomponent or serviceavailable to potentialusers, either within thesame company oroutside.

Allows potential users toidentify and locate thecomponent.

May use third partyrepositories or brokerageservices.

ComponentSpecification

Component AccessTerms

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 39

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Establish ComponentDelivery Mechanism

Defines procedure forauthorized users toaccess the componentor service itself.

Facilitate proper use ofcomponent, whileinhibiting improper use.

If wide use is desired orexpected, an automaticdelivery and controlmechanism may berequired.

Component

Component Collateral

Component AccessTerms

Define procedure foridentifying andauthorizing user

Define procedure forconfirming that useraccepts terms of use

Define mechanism fordelivering componentand collateral to user

Define chargingmechanism

SolutionTesting

Define Test Plan Specify how thesolution will be tested,including:

§ assembly test

§ computer systemtest

§ performance test

§ user acceptance test

Ensure that the tests willbe effective in verifyingsolution, and will useresources efficiently.

Test againstspecification.

Test against intendedimprovements and userexpectations.

Specification Define Test Strategy

Create Test Cases

Document ExpectedResults

Test Plan

Establish TestEnvironment

Install all componentsrequired for a givenseries of tests within acontrolled testenvironment

Gain the maximumrelevant informationfrom a series of tests.

Minimize impact of testson productionenvironment.

ComponentArchitecture

Components

Install Test Data Storage Generate and installpersistent data storagefor the testenvironment.

Allows data integrity andpersistencecharacteristics to betested.

Is it appropriate toreplicate live data in thetest environment?

Data Storage Design

Test Data

SCIPIO Development Process Framework Version 0.91

Copyright ©1998 Richard Veryard 17 April, 1998 Page 40

Major Task Task Description Purpose / Motivation Key Decisions / Issues Dependency /Assumption / Resource

Subtasks Outputs/Outcome /Deliverables

Execute Test Plan Check that the systemproduces the expectedresults under testconditions.

Verifies that the solutionsatisfies therequirements, executessatisfactorily on theinstalled technologicalplatform, and providesthe expected support forthe business process.

Does it executesatisfactorily on theinstalled technologicalplatform?

Does it provide theexpected support for thebusiness process?

Test Plan Execute Test Cases

Compare actual resultswith expected results

Analyse and resolvediscrepancies

Document outstandingrisks and issues

Test Log

Known characteristics ofoperational solution.

SolutionDeployment

Install Components Install all componentsrequired for this releaseof the solution.

Prepares for release. Do all components haveto be installedsimultaneously?

Does a distributedcomponent have to besimultaneously installedin all locations?

ComponentArchitecture

Components (availableand tested)

Install technologycomponents.

Install applicationcomponents on theappropriate technologycomponents.

Install processcomponents.

Configure System Configure technologyinfrastructure.

Set operationalparameters.

Prepares for release.

Install Live Data Storage Load or convert datainto productiondatabases.

Prepares for release.

Commission System Commence operation.Go live.

Desired Improvements