78
1 MSF-based process patterns Dmitry Malenko ([email protected]) Vladimir Pavlov ( [email protected] )

1 MSF-based process patterns Dmitry Malenko ([email protected])[email protected] Vladimir Pavlov ([email protected])[email protected]

Embed Size (px)

Citation preview

Page 1: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

1

MSF-based process patterns

Dmitry Malenko ([email protected])

Vladimir Pavlov ([email protected])

Page 2: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

2

About the authors Dmitry Malenko (Ukraine)

Graduate student, Dnepropetrovsk National University

MCSD for .NET Member of ACM

Vladimir Pavlov (Ukraine/USA) Chief Technical Officer of eLine Software,

Inc. Microsoft Endorsed MSF Practitioner,

MCSD for .NET, MCSD, MCDBA, MCT, CompTIA Certified IT Project+

Member of PMI, ACM, IEEE and IEEE Computer Society

Page 3: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

3

SPEM and Process Engineering: the big picture

Step 1

Step 5

Step 4

Step 3Step 2

Step 6Step 7

SPEM Model

Tool that supports SPEM

Set of automatedworkbenches

Page 4: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

4

Our agenda Introduction

From design patterns to process and organizational patterns

From UML to SPEM Microsoft Solutions Framework

Process patterns in MSF Living document Reenterable process Smart lifecycle Stakeholder-oriented organization

Page 5: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

5

Design patterns

Design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context

E. Gamma at al. Design Patterns: Elements of Reusable Object-Oriented Software, 1995.

Page 6: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

6

The way to design patterns

Design déjà-vu — feeling that you've solved a problem before but not knowing exactly where or how

Reusing and refining design solutions we had in past

Page 7: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

7

Appeal of design patterns

Depicted using UML notation Easy to understand at one sight Formal enough

Clear rationale behind Highly abstract and therefore

widely reusable

Page 8: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

8

Popularity of design patterns

Internet search for “design patterns” gives more than 7 000 000 links

More than 300 books on the subject on the Amazon.com

IDE support for design patterns at programmer’s workspace (IBM Rational XDE)

Page 9: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

9

Design patterns community Workshops at major conferences

OOPSLA – http://oopsla.acm.org ECOOP – http://www.ecoop.org ICSE – http://www.icse-conferences.org

Lots of publications in different journals E.g.

http://www.research.ibm.com/designpatterns/publications.htm

Large Internet-community of users and contributors http://hillside.net/patterns

Page 10: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

10

Effectiveness does not come easy

ignoranceconsternation

initiation

understanding

familiarity

benefit

Page 11: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

11

Sample pattern: Command

Page 12: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

12

Sample pattern: Command Consequences

Command decouples the object that invokes the operation from the one that knows how to perform it

Commands are first-class objects. They can be manipulated and extended like any other object

You can assemble commands into a composite command

It's easy to add new Commands, because you don't have to change existing classes

Page 13: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

13

Way to process patterns

Many different software processes were created. All of them tried to combine best practices with some fresh ideas

Design patterns have proved their value and it was tempting to apply similar technique to software development processes

Page 14: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

14

Process patterns

Process patterns describe a proven, successful approach and/or series of actions for developing software

First introduced by Jim Coplien’s paper "A Generative Development-Process Pattern

Language“, 1994

Page 15: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

15

Literature on process patterns Coplien, J.O. A Generative Development-Process

Pattern Language. Pattern Languages of Program Design, Addison Wesley Longman, Inc., pp. 183-237, 1995

Ambler, S. W. Process Patterns: Building Large-Scale Systems Using Object Technology. New York: SIGS Books/Cambridge University Press, 1998

Ambler, S. W. More Process Patterns: Delivering Large-Scale Systems Using Object Technology. New York: SIGS Books/Cambridge University Press, 1998

Pattern Languages of Program Design Series More on

http://hillside.net/patterns/papersbibliographys.htm

Page 16: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

16

Process patterns community Conferences and workshops

Conference on Pattern Languages of Programs - http://st-www.cs.uiuc.edu/~plop/

Workshop on Software Development Process Patterns at OOPSLA

http://oopsla.acm.org/fp/files/wor-16.html http://wwwbib.informatik.tu-muenchen.de/

infberichte/2002/TUM-I0213.pdf.gz …

Large Internet-community of users and contributors

http://www.ambysoft.com/processPatternsPage.html

Page 17: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

17

Why process patterns?

Process engineering benefits Documented experience of software

development process organization Methodology agnostic – can be

applied to whatever methodology you use

Support for process patterns within process engineering tools in future

Page 18: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

18

Sample pattern: Team per task (Alistair Cockburn, Risk management patterns catalog)

Sensation We are getting distracted here. We are losing precious design cycles

Symptoms The project is not moving forward, even though you think it should be. People

have multiple things to do (as usual). A secondary task is dominating their time, keeping them from moving forward with their primary goal. Possibly, they are spending so much energy switching contexts they cannot get a clear mind to do their main task

Forces On the one hand, if you let them drop any of their tasks, your project will miss an

important date. So you want several tasks moved forward at one time. On the other hand, having people active on these multiple tasks is not working well

Try This Split the team. Sort the activities so that each team has a primary task and set of

activities that are not mutually distracting (designing software and sitting in meetings or answering phone calls are mutually distracting). Arrange it so that each team can focus on its primary task, and each task has a dedicated team member

Counterforce You will eventually have one-person teams. Before then, you may discover that it

is not worth splitting up the task set the team has because the working synergy between people that is lost is more harmful than the dedicated time gained per task

Page 19: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

19

Some observations

Idea is difficult to capture from first sight

Being too specific makes it harder to reuse

Most of the times can be called “principle” rather than “pattern”

No formal description

Page 20: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

20

From UML to SPEM

UML is an industry standard for OO modeling

http://www.omg.org/technology/documents/formal/uml.htm

“Pure” UML is not perfect for software process modeling

SPEM – Software Process Engineering Meta-model

http://www.omg.org/technology/documents/formal/spem.htm

Page 21: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

21

Software Process Engineering Meta-model SPEM is an ordinal UML profile that aids

software process modeling Process structure

WorkProduct, WorkDefenition, Activity, Step Process components

Process, Discipline Process lifecycle

Phase, Iteration

Page 22: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

22

Conceptual Model

Page 23: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

23

Why SPEM?

Standardizes a way of expressing any software development process

Can be used with any methodology, tool, framework

Leverages expressiveness and popularity of UML

Page 24: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

24

Processes that have SPEM-base definition

Rational Unified Process DMR Macroscope IBM’s Global Services Method Unisys QuadCycle …

Page 25: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

25

Sample SPEM diagram from Rational Unified Process

Requirements Core WorkflowRequirements Core Workflow

System Analyst

Architect

Use-Case Specifier

User-Interface Designer

Find Actors and Use Cases

Prioritize Use Cases

Detail a Use Case

Structure the Use Case Model

Prototype User Interface

Repeat and Iterate

Page 26: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

26

Tools that support SPEM Iris

Can be used to enact designed process http://www.osellus.com/products/iris.html

IBM Rational Process Workbench Can be used for RUP customization http://www.ibm.com/software/awdtools/rup/workbench

Objecteering/UML Supports SPEM Profile http://www.objecteering.com/products.php

Enterprise Architect Supports SPEM Profile http://www.sparxsystems.com.au/ea.htm

More to appear…

Page 27: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

27

Process engineering

Step 1

Step 5

Step 4

Step 3Step 2

Step 6Step 7

SPEM Model

Tool that supports SPEM

Set of automatedworkbenches

Page 28: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

28

Process patterns applied Process engineer creates a process by

combining best practices Software development projects face

some common problems – common solutions exist

Process patterns leverage previous experience

Formal definition of pattern allows for easier incorporation of known solution into new process

Page 29: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

29

Future of SPEM

SPEM 2.0 is being worked on Alignment with Business Process

Definition Meta-model Process modeling tools that support

SPEM begin to emerge More and more organization use

SPEM to model and engineer their processes

Page 30: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

30

Process patterns and SPEM

SPEM can be used for description of process patterns like UML is used for description of design patterns

SPEM allows for more formal definition of process and organizational patterns

Process patterns can be described in Gamma-style

Page 31: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

31

Microsoft Solutions Framework

The Microsoft Solutions Framework (MSF) is a collection of Microsoft's proven practices on managing successful IT projects

Microsoft almost does not market MSF and they are not selling it, instead, they focus on making money using MSF

Similar to Windows or any other product, MSF evolves and matures as long as new versions are released. Initially Microsoft made MSF available in 1994. The latest version of MSF is 3.0

You cannot buy this product from Microsoft, but you still can get it – it’s free. Both whitepapers describing MSF and sample templates for MSF lifecycle deliverables are available on the Microsoft web-site

Page 32: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

32

Microsoft Solutions Framework Software process used within Microsoft

http://www.microsoft.com/msf (English) http://www.microsoft.com/rus/msf (Russian)

Microsoft Solutions Framework consists of: MSF Team Model MSF Process Model MSF Project Management Discipline MSF Risk Management Discipline MSF Readiness Management Discipline

Page 33: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

33

MSF Team Model

Communication

Delivering the solution within project constraints

Satisfied customers

Enhanced user effectiveness

Smooth deployment and ongoing operations

Approval for release only after all quality issues are identified and addressed

Building to specification

Program Management

Development

Test

Release Management

User Experience

Product Management

Page 34: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

34

MSF Process Model

Project plans approved

Scope complete

Release readiness approved

Deployment complete

Vision/scope approved

Page 35: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

35

MSF Project Management Discipline

Team Leads

Program Management

Product Management

Development

Test

User Experience

Release Management

Quality

Man

agem

ent

Risk M

anag

emen

t

Proc

urem

ent M

anag

emen

t

Comm

unicatio

ns Man

agem

ent

Comm

unicatio

ns Man

agem

ent

Cost M

anag

emen

t

Time

Manag

emen

t

Scope

Manag

emen

t

Inte

gratio

n Man

agem

ent

at overall project level at sub-team level

A bridge between MSF and PMBOK

Page 36: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

36

MSF Risk Management Discipline

Risk Statement

Risk Database,Risk Concepts and Processes

Identify

LearnLearn

ControlControl

Track and Report

Track and Report

Plan and SchedulePlan and Schedule

Analyze and

Prioritize

Analyze and

Prioritize

Risk Assessment Document

Top n Risks

Page 37: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

37

MSF Readiness Management Discipline

DefineDefine

Knowledge,Skills,

Abilities

Knowledge,Skills,

Abilities

ChangeChange

AssessAssess

EvaluateEvaluate

Page 38: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

38

Our agenda Introduction

From design patterns to process and organizational patterns

From UML to SPEM Microsoft Solutions Framework

Process patterns in MSF Living document Reenterable process Smart lifecycle Stakeholder-oriented organization

Page 39: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

39

MSF in SPEM

Many software processes were described using SPEM

Formal definition of the process can be used to generate tool for supporting that process

MSF is an “agile” process – can SPEM be used to model “agile” processes?

Page 40: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

40

Our project Create a formal description of MSF

in SPEM Find out whether SPEM is applicable

to modeling of “agile” processes Extract process patterns from MSF

model in SPEM Give general description of

discovered process patterns

Page 41: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

41

Our project Started in December 2003 We used Enterprise Architect with SPEM

Profile to create a model of MSF About 20 diagrams define project team

structure and different disciplines/processes More than 10 ProcessRoles and more than

15 ProcessPerformers associated with more than 20 WorkDefinitions

A separate report on SPEM model of MSF is being worked on

Page 42: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

42

The same process from different points

Different diagrams can be used to describe same process

Not only shown transitions are allowed

Different perspectives of same process give better understanding

Page 43: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

43

Patterns discovered

Living document Reenterable process Smart lifecycle Stakeholder-oriented organization

Other MSF-based patterns are to be discussed in further presentations …

Page 44: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

44

MSF-based process patterns

Living document

Reenterable process Smart lifecycle Stakeholder-oriented organization

Page 45: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

45

MSF Project LifecycleMaster Project Plan

Th

is s

hou

ld b

e

3D

-dia

gra

m.

Wh

y?

Take

a look

at

slid

es

46

-47

Page 46: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

46

MSF Risk Management Discipline

Th

is s

hou

ld b

e

3D

-dia

gra

m.

Wh

y?

Take

a look

at

slid

es

46

-47

Page 47: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

47

Déjà-vu – we’ve already seen that…

Last two diagrams look very similar – it is reasonable to expect common rationale behind them

It is a pattern!!! A closer look at the models we

created allowed us to identify some more patterns

Page 48: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

48

Living document (UML)

Step 1

Step 2

Document

Step 3

Document

Step 4

Document

Document

Step 5

Step 6

Step 7

Page 49: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

49

Living document (SPEM)

Step 1

Step 5

Step 4

Step 3Step 2

Step 6

Step 7

DocumentDocument

Document

Document

Page 50: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

50

Living document Intent

To make sure important decisions can be baselined as early as possible and frozen as late as possible

Motivation Very often document created once as output

of certain step of process is seen as stale and changes to the document are not appreciated. This prevents project team from effectively incorporating latest information that affect decisions made earlier

Page 51: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

51

Rationale

MSF Living Document Baseline early, freeze late

Agile Welcome changing requirements,

even late in development. Agile processes harness change for the customer's competitive advantage

Page 52: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

52

MSF: Baseline Early, Freeze Late

MSF

DeploymentComplete

DeploymentComplete

Vision/ScopeApproved

Vision/ScopeApproved

Project PlansApproved

Project PlansApprovedScope CompleteScope Complete

Release Readiness Approved

Release Readiness Approved Baseline

Fre

eze

Page 53: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

53

Example from XP

Analyse requirement Create Unit Test

Write new code

Unit Test

Test

Refactor code

Page 54: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

54

MSF-based process patterns

Living document Reenterable process

Smart lifecycle Stakeholder-oriented organization

Page 55: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

55

MSF Risk Management Discipline

Page 56: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

56

XP Development Cycle

Analyse Requirement

Test

Create Unit Test

Write New Code

Refactor Code

Page 57: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

57

Reenterable process (UML)

Step 1

Step 5

Step 4

Step 3

Step 2

Step 6

Page 58: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

58

Reenterable process (SPEM)

Step 1

Step 5Step 6

Step 4

Step 3Step 2

Page 59: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

59

Reenterable process Intent

To provide explicit parallelism for process that deals with set of similar artifacts

Motivation When process should be carried out for a set of

similar artifacts (usually we have word “list” in description of artifact) not all of them can be ready to transition to next step. It is reasonable to proceed with each artifact separately but making sure all artifacts go through all process steps

Page 60: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

60

MSF-based process patterns

Living document Reenterable process Smart lifecycle

Stakeholder-oriented organization

Page 61: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

61

MSF Process Model

Page 62: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

62

ORACLE CDM Fast Track

Definition

RequirementsModeling

SystemDesign &

Generation

Transitionto

Production

Page 63: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

63

Smart Lifecycle (UML)

Step 1

Step 5 Step 4

Step 3

Step 2

Page 64: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

64

Smart lifecycle (SPEM)

Step 1

Step 2

Step 3

Step 4Step 5

Page 65: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

65

Smart lifecycle Intent

To provide a possibility of making critical (go/no-go) decisions throughout entire project lifecycle (at the end of each phase)

Motivation Inability to make an important decision that

influences whole project can lead to significant loss of money and time. Closing project at proper time can prevent from further loss of resources invested into project

Page 66: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

66

Rationale

If project has started it means some resources were invested in it

We may close the project to prevent further loss of money and time

Most often if the project is not going to finish it is closed after first phases

Page 67: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

67

MSF-based process patterns

Living document Reenterable process Smart lifecycle Stakeholder-oriented organization

Page 68: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

68

Stakeholders in MSF

“Classic” MSF has 6 role clusters Product Management Program Management Development Testing Release Management User Experience

Page 69: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

69

Role Cluster

Customer

Stakeholder

External Stake-holder

Sponsor

User

OperationsRelease Management

Development

Testing

Program Management

Product Management

User Experience

Project Team

6

Page 70: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

70

How does it work? We used “customized” MSF for

courseware development We had 7 role clusters

Program Management Trainer Advocacy Student Advocacy Potential Employer Representative Institutialization Development Testing

Page 71: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

71

Role Cluster

Stakeholder

External Stake-holder

Development

Testing

Sponsor

Trainer

Student

PotentialEmployer

Potential Employer Representative

Trainer Advocacy

Program Management

StudentAdvocacy

Project Team

7

Academic Facility

Institualization

Page 72: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

72

Role

External Stake-holder 1

Stakeholder

External Stake-holder

External Stake-holder 2

External Stake-holder N

Role N

Role Y

Role X

Role 2

Role 1

Project Team

Stakeholder-oriented organization

Page 73: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

73

Stakeholder-oriented organization Intent

To make sure interests of key project stakeholders are taken into account and balanced

Motivation Naturally different stakeholders have

different and often conflicting interests in project and its result. Such organization makes probability of satisfaction of key stakeholders much higher

Page 74: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

74

Examples from XP

Business people and developers must work together daily throughout the project

The sponsors, developers, and users should be able to maintain a constant pace indefinitely

Page 75: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

75

Conclusions

High-level formal description of software process leads to discovery of some process patterns

Using SPEM allowed to give Gamma-style definitions to discovered patterns

Page 76: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

76

Nikita Boyko (Dnepropetrovsk National University, Ukraine)

Alex Dubinsky (Dnepropetrovsk National University, Ukraine)

Andrey Terekhov (Microsoft, Russia) Alex Zverintsev

(eLine Software, Inc., Ukraine/USA) Yevgen Berlyand

(Information Systems Development, Ukraine) Konstantin Runduev

(Dnepropetrovsk National University, Ukraine) Stanislav Petrovsky (ABV Technique, Ukraine)

Our thanks to:

Page 77: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

77

Stanislav Busygin (University of Florida, USA)

Mariele Hagen(University of Leipzig, Germany)

Vivienne Suen (Osellus, Inc., Canada)

ZEN-Process-Pattern-Team - M. Gnatz, F. Marschall, G. Popp, A. Rausch, M. Rodenberg-Ruiz, W. Schwerin, K. Bergner (University of Munich, Germany)

Stanislav Vonog (Moscow Institute of Physics and Technology, Russia)

Our thanks to:

Page 78: 1 MSF-based process patterns Dmitry Malenko (dmalenko@acm.org)dmalenko@acm.org Vladimir Pavlov (vlpavlov@ieee.org)vlpavlov@ieee.org

78

This presentation was delivered on March 4, 2004 in Moscow State University (Russia) at the conference “Microsoft Technologies in Computer Science and Software Engineering”

You can download this presentation from: http://www.vlpavlov.com

http://www.microsoft.cs.msu.su/conference http://www.elinesoftware.com

Questions?