selection and evolutionary development of software-service bundles: a capability based method...

Post on 14-Apr-2017

123 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Selection and Evolutionary Development of Software-Service

Bundles: a Capability Based Method

Jānis Grabis1, Kurt Sandkuhl21Institute of Information Technology, Riga Technical

University, Kalku 1, Riga, Latvia2 Chair of Business Information Systems , University of Rostock, Albert-Einstein-Straße 22, Rostock, Germany

grabis@rtu.lv, kurt.sandkuhl@uni-rostock.de

Outline

• Motivation• Objectives and problem statement• Method elaboration• Application example• Conclusion

Software-Service Bundle• Software is

available in different versions

• Software is made available with a number of additional services• Support• Domain expertise• Outsourcing

State of the Art

• Product-line development– Pohl et al. (2005)

• Packaged software selection– Jadhav and Sonar (2009)

• Evidence based software engineering– Olsson and Bosch (2015)

CDD Approach

• Assumptions– Suitability of software-service bundles is

context dependent– A bundle optimizing performance is desirable– Clients share software usage data

• Capability driven development (CDD) is an approach for delivering services in different contexts at the desired level of performance– Bērziša et al. (2015)

Objectives

• To elaborate a method allowing collaboration between vendor and client in selection of the right configuration of software-service bundles and continuous improvement of the selected configuration– Based on the CDD approach

Problem Statement

Software-service bundle

O1 O2

O3 O4

O5 O6

Performance and context

data

Vendor

Client A

Context

Performance

O5

Client B

Context

Performance

O4

Client C

Context

?

?

Evolutionary development process

Create capability support matrix

Define capability model

Engage new client

Select appropriate configuration Deploy solution

Monitor delivery

Goals not achievedContext has changed

• Capability model• What factors affect service delivery

and which solutions could be used• Capability support matrix

• Which configuration is suitable in a specific context situation

• Continuous improvement• Development of new configurations

Evolutionary Development Stages

Design stage

Delivery stage

Evolution

Design Stage

• Initial configuration of the software-service bundle is selected and deployed for a new client

• Relevant parameter for the selection:– Context elements: have a context range– Context situations: combinations of context

element values from the context range– Most plausible context situation Cnew for a new

client– Configurations Oj derived from

Capability Support Matrix• Client also sets KPI• Least cost configuration Oj appropriate for

context situation faced by the new client

11

1

1 N2 …

1

H

2…

Configurations

Cont

ext S

ituat

ions CSM

),...,( 1 iiTii crcrCR

N

H

CRCRCSCS ...

,...,

1

1

)1|min( inew

ij CSCSaj

Delivery Stage

• Software-service bundle is in use by the client• Context situations and delivery performance are monitored• Delivery performance:

– Monitoring is based on real-time values of KPI– Actual values are compared to target values– On underperformance, recommendation to revise solution is

issued• Context monitoring

– Comparison of observed context situation with context situations supported by current configuration

– If current configuration no longer fits, warning is issued• Context monitoring serves as an advanced warning system

to potential performance deterioration

Evolution

• Adjustment of software-service bundle to changing circumstances

• Violations of performance objectives or unsupported context situations suggest an upgrade of the current configuration

• Alternative ways– Selection of a more suitable configuration from

CSM– Reevaluate CSM for the software product– Special software-service bundle needs to be

developed

Application Example

• Business information exchange process–Manual processing– Automated processing– Outsourcing

Capability Model

Capability support matrixProcessing load level

Load volatility O1 O2 O3

Low Low 1    Low Medium 1 1  Low High   1  Medium Low   1  Medium Medium   1 1Medium High     1High Low   1  High Medium     1High High     1

Simulated Evolution

• Demand for data processing services is simulated– Changing demand level– Changing demand volatility

• EXP1– Is manual processing appropriate for low

demand situation?• EXP2– Is outsourcing needed for high volatility

situations?

low,if 100medium,if 00 1000

high,if 1000 PLC

Simulation Results (EXP1)

O1 O2

Simulation Results (EXP2)

O2 O3

Conclusion

• Incentives for data sharing• Limitations of simulation based

evaluation• Cost of evolutionary development

top related