Selection and Evolutionary
Development of Software-Service
Bundles: a Capability Based Method
Jānis Grabis1, Kurt Sandkuhl2
1Institute 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
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 achieved
Context 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
1
1
1
1 N2 …
1
H
2
…
Configurations
ContextSituations
CSM
),...,( 1 iiTii crcrCR 
 
N
H
CRCR
CSCS
 ...
,...,
1
1
)1|min( i
new
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 matrix
Processing load
level
Load volatility O1 O2 O3
Low Low 1
Low Medium 1 1
Low High 1
Medium Low 1
Medium Medium 1 1
Medium High 1
High Low 1
High Medium 1
High 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 100
medium,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

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

  • 1.
    Selection and Evolutionary Developmentof Software-Service Bundles: a Capability Based Method Jānis Grabis1, Kurt Sandkuhl2 1Institute 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 grabis@rtu.lv, kurt.sandkuhl@uni-rostock.de
  • 2.
    Outline • Motivation • Objectivesand problem statement • Method elaboration • Application example • Conclusion
  • 3.
    Software-Service Bundle • Softwareis available in different versions • Software is made available with a number of additional services • Support • Domain expertise • Outsourcing
  • 4.
    State of theArt • Product-line development – Pohl et al. (2005) • Packaged software selection – Jadhav and Sonar (2009) • Evidence based software engineering – Olsson and Bosch (2015)
  • 5.
    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)
  • 6.
    Objectives • To elaboratea 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
  • 7.
    Problem Statement Software- service bundle O1O2 O3 O4 O5 O6 Performance and context data Vendor Client A Context Performance O5 Client B Context Performance O4 Client C Context ? ?
  • 8.
    Evolutionary development process Createcapability support matrix Define capability model Engage new client Select appropriate configuration Deploy solution Monitor delivery Goals not achieved Context 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
  • 9.
    Evolutionary Development Stages Designstage Delivery stage Evolution
  • 10.
    Design Stage • Initialconfiguration 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 1 1 1 1 N2 … 1 H 2 … Configurations ContextSituations CSM ),...,( 1 iiTii crcrCR    N H CRCR CSCS  ... ,..., 1 1 )1|min( i new ij CSCSaj 
  • 11.
    Delivery Stage • Software-servicebundle 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
  • 12.
    Evolution • Adjustment ofsoftware-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
  • 13.
    Application Example • Businessinformation exchange process – Manual processing – Automated processing – Outsourcing
  • 14.
  • 15.
    Capability support matrix Processingload level Load volatility O1 O2 O3 Low Low 1 Low Medium 1 1 Low High 1 Medium Low 1 Medium Medium 1 1 Medium High 1 High Low 1 High Medium 1 High High 1
  • 16.
    Simulated Evolution • Demandfor 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 100 medium,if 00 1000 high,if 1000 PLC           
  • 17.
  • 18.
  • 19.
    Conclusion • Incentives fordata sharing • Limitations of simulation based evaluation • Cost of evolutionary development