software process optimizationpart-2) masao ito nil software vcad solutions tomorrow's seed...

59
Software Process Optimization (Part-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san

Upload: truongnhi

Post on 01-May-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Software Process Optimization

(Part-2)

Masao ITO

Nil SoftwareVCAD Solutions tomorrow's seed (1993)

Kishida-san

Page 2: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Contents

• General problem solving framework and software engineering technique

• Steps of software process optimization

• Monitoring and evaluation of SPO’s work and feedback into the organization

• Case study

Page 3: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

1. Motivation

Page 4: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Motivation

Plan

OriginalGoal

++

Final Goal

Real --

Page 5: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Motivation

• Our SPO approach is technology-oriented. It is based upon software engineering techniques. We are software engineers and able to apply our technical knowledge to solve various process problems.

• During the long history of software engineering various useful technologies have been developed. So, it is natural to apply way those technologies to solve process problems we encounter in the course of software development projects.

Page 6: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Transformationinto an immaterial labor

Page 7: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

2. Outline of SPO

Page 8: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Characteristics of SPO

• Participatory approach

• Using techniques of software engineering

• Comprehensive approach

• whole and part

• analysis and creation (i.e. solving)

• Enjoyable !

Page 9: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Characteristics of SPOWhat is the difference between SPI and SPO

• SPI based on SPA is good at finding the deficiency comparing with the average software process, if it exists.

• SPO is systemized, it helps many SEPG people to find the better way for changing process. It covers whole software development process as human activities differing among projects and organizations.

Page 10: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

SPO FRAMEWORKrelating topics

Base Model

Self Communion

SoftwareEngineering

ProcessTechniques

OrganizationManagement

ActivityTheory

KAOSCRC card

UML

15508PCM

Page 11: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

KAOS

• KAOS (Knowledge Acquisition in autOmated Specification) is a method for modeling requirements

[Vl91] A. Lamsweerde, et al:, The KAOS Project: Knowledge Acquisition in Automated Specification of Software, Proc. of AAAI Spring Symposium Series, Track: “Design of Composite Systems”, Mar. 1991.

Page 12: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

KAOSgoal, interference, expectation

DevelopSpec.

Get CustomerRequest

DefineSpec.

FeasibilityProblem

Mis-understanding

CustomerUnderstanding

Interference

Goal

Expectation

Page 13: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

CRC card

• CRC (Class Responsibility Collaboration) is a method for retrieving objects in bottom-up manner

Class Name:Superclass:Subclass:

Responsibilities Collaborators

Page 14: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

CRC cardtransformation

Class Name:

Class Name:

Class Name:

Class Name:

Class Name:Class Name:

Class Name:

Class Name:Superclass:Subclass:

Responsibilities Collaborators

Page 15: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

UML

• UML is a modeling language for the software development

Object

_privateMethod2()

_privateMethod1()

method2()

method1()

attribute1: type

attribute2: type

UC x.x

Use Case Name

Page 16: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Activity Theory

• “Activity Theory is a philosophical and cross-disciplinary framework for studying different forms of human practices as developmental processes, with both individual and social levels interlinked at the same time.” Kuutti(1996)

• The way to articulate contradiction

Page 17: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Activity TheoryEngeström ’s activity systems thinking

SubjectObject

Outcome

Rules Community Division of labor

Mediating artifactsschema

Page 18: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Activity Theory5 principles

• Collective, artifact-mediated and object- oriented nature

• Multi-voicedness

• Historicity

• Contradiction as sources of change and development

• Expansive transformation

Page 19: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Activity Theoryinteraction of activities

AnalystSpec.

Rules Community DoL

Verbal message

Analyst

DoL Community Rules

QA list

DesignerCustomer

Page 20: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

3. Details of Software Process Optimization

Page 21: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Steps

Participatory Planning

Mission Definition

Analysis/Resolving Support

Closed-WorldModel

Open-WorldModel

Resolving

Mon

itori

ng/E

valu

atio

n

Libr

ary

Page 22: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planning

Page 23: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planningoutline

• Stakeholders analysis

• Abstract problems analysis

• Objectives analysis

• Summarize in SPO Activity Matrix (SAM)

Page 24: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planninganalysis of stakeholder

• Confirm the expected goal

• List on cards all individuals, organizations within the expected goal

• Sort the cards by category

• Select important stakeholders

• Analyze the selected stakeholders in detail

• Tentatively select a target group

Page 25: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planningstakeholder on the card

Basic informationObjective information about socio-cultural structure, technical ability, ...

Problem/ Weaknesses

What kinds of problems and weakness are there ?

Needs What are there needs ?

(Potential) strengths What advantageous quality or resources already exist ? What is the potential capabilities ?

Action to takeWhat kinds of actions can be taken in the above conditions ?

Page 26: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planningabstract problem analysis

• Identify a core problem

• Write the problems that are direct causes of the core problem and place them under the core problem

• Repeat above procedure

• Write the direct effects of the core problems above the core problem

• Repeat above procedure

Problem

Effects

Causes

Page 27: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planningabstract problem analysis

Rework occurred in design phase

Specifications are often misunderstood

Analyst has their own style of writing

Spec. has ambiguityIt’s hard to know the right place of spec.

Old spec. was referred Future version was referred

Rework occurred in implementation phase

Rework occurred in test phase

...

core problem

direct effect

direct causes

Page 28: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planningobjectives analysis

• Identify a core objective

• Write the potential direct means for the core objective and place them under the core objective

• Repeat above procedure

• Write the direct end of the core objective above the core objective

• Repeat above procedure

Objective

Ends

Means

Page 29: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Participatory Planningobjectives analysis

No rework will occur in design phase

Specifications are understood rightly

Analysts are educated as for writing spec

Format of spec is defined

List of spec to be referred is maintained

No rework will occur in implementation phase

No rework will occur in test phase

...

core objective

direct ends

direct means

Designer have to write CM no. in doc.

Page 30: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Mission Definition

Page 31: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Mission Definitionselection

No rework will occur in design phase

Specifications are understood rightly

Analysts are educated as for writing spec

Format of spec is defined

List of spec to be referred is maintained

No rework will occur in implementation phase

No rework will occur in test phase

...

overall goal

outputs

purpose

Designer have to write CM no. in doc.

Page 32: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Mission DefinitionSPO Activity Matrix (SAM)

• Overall Goal

• What will be aimed at after the mission purpose is achieved ?

• Purpose

• What should the mission achieved within the mission duration ?

• Outputs

• How should the mission achieve the purpose ?

• Actions

• What should be done concretely to produce the outputs ?

• Input

• Personnel, materials, equipment, facilities, and funds

• Preconditions

• Conditions that must be fulfilled before the mission gets underway.

Page 33: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Mission DefinitionSPO Activity Matrix (SAM)

Summary Verifiable Indicator

Means of Verification

Important Assumption

Overall Goal

Purpose

Outputs

Actions InputsInputsActions InputsInputs

Pre-conditions

Mission Name: Duration: Target Area: Target Group:

Page 34: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Mission DefinitionSAMs

• SAM might be revised by rethinking of plan or change of situation (it would occur constantly)

....SAM0 SAM1 SAM2 SAMn

planning implementation

Page 35: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Analysis/Resolving Support

Closed-world Model

Open-world Model

Resolving

Page 36: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Closed-World Model

Page 37: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Closed-World Model

• Dig down the activity deeper within our current scope

Page 38: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Closed-World Modelsteps

• Define the adopted activity

• Write Object-Attribute-Action (OAA) statements

• Describe Quantitative Change graph (QC graph)

Page 39: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Closed-World ModelObject-Attribute-Action

Developer AnalystShareSpec.

Software Spec.

Functional Spec Non-Functional

{id, text}code

1..n1..2

next

prev

1..n 1..nrefer

create

Page 40: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Closed-World ModelQC-graph

0

27.5

55.0

82.5

110.0

1 2 3 4 5 6 7 8 9 10

Freq. Access One AnalystFreq. Access Two Analyst

In QC-graph, you do thought experiment quantitatively.

Off course, this data is sample.

QC:Qualitative Change

Page 41: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Open-World Model

Page 42: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Open-World Model

• Sketch the problem situation and the ideal solution

• Apply particles to bridge the gap between problem and ideal solution

• Describe and/or tree

Page 43: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Open-World ModelReal State

AnalystDeveloper A

Developer B

Page 44: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Open-World Modelideal state

AnalystDeveloper A

Developer B

Page 45: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Open-World Modelsolution exists between real and ideal state

AnalystDeveloper A

Developer B

Page 46: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Open-World ModelAND/OR tree

Particles can deliver the right item as a spec to the designer

Particles know which version is needed by

the designer

Particles know about the version that

analyst want to apply

AND

Particles hold the every item of the

specification

AND

Item has the version information

Analyst tells the version when passing

the item

OR

Page 47: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Resolving

Page 48: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Resolving

• Analyze Uniqueness

• Examine solutions by dimensionality/pluralization/distribution/transduction

• Generate concepts

• Consolidate concepts and find out ONE solution

Page 49: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Resolvingcharacteristics

• Action

• Relation and number of objects

• Role of each object

• Attribute of each object

Page 50: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Closed-World ModelObject-Attribute-Action

Developer AnalystShareSpec.

Software Spec.

Functional Spec Non-Functional

{id, text}code

1..n1..2

next

prev

1..n 1..n

refer

create

change action

change rolechange relation

Page 51: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Resolvinguniqueness of space-time

• Space

• The size of each characteristics in multidimensional space

• Time

• Variation of characteristics moment by moment

Page 52: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Monitoring/Evaluation

Page 53: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Monitoring/Evaluation

• Monitoring is to check the progress of an active mission based on the SAM, and modify the plan if necessary

• Evaluation is to check the accomplished mission by the five evaluation criteria

Page 54: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Monitoring/Evaluationaim of evaluation

• Get the lesson-learned or future direction from the mission, not for criticizing

Page 55: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Monitoring/Evaluationevaluation table

RelevanceEffective-

nessEfficiency Impact

Sustain-ability

Overall Goal

Purpose

Outputs

Inputs

Page 56: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Monitoring/Evaluationevaluation table

Relevance Effective-ness

Efficiency Impact Sustain-ability

Overall Goal

Purpose

Outputs

Inputs

Summary Verifiable Indicator

Means of Verification

Important Assumption

Overall Goal

Purpose

Outputs

Actions InputsInputsActions InputsInputs

Pre-conditions

SAM

Evaluation table

Page 57: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Monitoring/Evaluation5 evaluation criteria

• Relevance

• Have there been any changes in the organization policy ?

• Effectiveness

• Is the purpose expected to be achieved by the end of period ?

• Efficacy

• Are the “inputs” being utilized properly to produce “Outputs” ?

• Impact

• Is the mission producing any negative effect ?

• Sustainability

• Is the target group properly prepared to sustain the benefits of their process after the mission end ?

Page 58: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Library

Page 59: Software Process OptimizationPart-2) Masao ITO Nil Software VCAD Solutions tomorrow's seed (1993) Kishida-san Contents • General problem solving framework and software engineering

Library

• A repository for re-use in other cycles. It includes the output of mission:

• SAMs (SAM0, SAM1, ... SAMn)

• Triangles of activity

• OAA

• Evaluation results

• It becomes the asset of your organization