Upload
janis-grabis
View
123
Download
0
Embed Size (px)
Citation preview
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
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