Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method...

19
Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method Jānis Grabis 1 , Kurt Sandkuhl 2 1 Institute of Information Technology, Riga Technical University, Kalku 1, Riga, Latvia 2 Chair of Business Information Systems , University of Rostock, Albert-Einstein-Straße 22, Rostock, Germany [email protected], [email protected]

Transcript of Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method...

Page 1: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

[email protected], [email protected]

Page 2: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Outline

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

Page 3: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Software-Service Bundle• Software is

available in different versions

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

Page 4: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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)

Page 5: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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)

Page 6: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

Page 7: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

?

?

Page 8: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

Page 9: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Evolutionary Development Stages

Design stage

Delivery stage

Evolution

Page 10: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

Page 11: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

Page 12: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

Page 13: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Application Example

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

Page 14: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Capability Model

Page 15: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

Page 16: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

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

Page 17: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Simulation Results (EXP1)

O1 O2

Page 18: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Simulation Results (EXP2)

O2 O3

Page 19: Selection and Evolutionary Development of Software-Service Bundles: a Capability Based Method @Asdenca 2016

Conclusion

• Incentives for data sharing• Limitations of simulation based

evaluation• Cost of evolutionary development