applicability of a strategic tpm release planning model on ... · pdf fileobjectives....

9
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966 © Research India Publications. http://www.ripublication.com 11958 Applicability of a Strategic TPM Release Planning Model on a CRM Project Case Samia Naciri 1 and Mohammed Abdou Janati Idrissi 2 1 TIME team, ENSIAS, Mohammed V University In Rabat, Morocco. 2 TIME team, ENSIAS, Mohammed V University In Rabat, Morocco Abstract Building an effective release planning roadmap for pending change requests and providing a whole visibility on customer expectations remain among the main purposes of Third Party Application Maintenance (TPM), while considering several change requests characteristics and multiple conflicting objectives. Furthermore, in outsourcing contract, service level agreements (SLA) compliance is required in the release planning process and might generate penalties to the maintainer if TPM providers do not control SLA through an efficient Release Planning (RP) process. In a previous paper, we proposed a strategic TPM Release Planning Model (S- TRPM). This Integer linear programming model supports, in a systematic way, TPM manager’s decisions of when to deliver customer’s change requests. In this paper we show the applicability of our model on a large CRM project that was maintained using an ad hoc release planning. We will also compare the Change Requests release plans obtained by the two models in terms of: roadmap visibility, SLA contractual commitment and customer satisfaction degree. Keywords: Software Engineering; Software Maintenance; Third Party Application Maintenance; TPM; Release Planning; Search-based software engineering; SBSE. INTRODUCTION The Third-party application maintenance (TPM) is a particular type of outsourcing referring to the delocalization of products maintenance. TPM allows companies to control Information Technology costs, to improve products quality and evolutivity, and to harness external resources to maintain their software [1]. However, running TPM projects raises new challenges for both companies requesting and providing such services. One of the most challenging tasks within TPM software process development relates to release planning as summarized in [2], [3], [4]. Release planning aims to select an optimal set of change requests to deliver in a release within constraints consideration. From TPM point of view, software release planning is considered as a tedious task. It takes into account the perspectives of project stakeholders, integration problems, functional and non-functional requirements, existing technologies, anticipating coming changes, service commitment, concurrency and other goals. The interdependencies between change requests can be also considered [5]. Scheduling requested changes and planning their delivery in upcoming releases is considered as a strategic release planning activity (called also Software Delivery Roadmap) and not operational release planning activity [6], [7]. Strategic RP involves the selection and assignment of requirements to sequences of upcoming releases, in respect of technical and organizational constraints. Once a strategic plan is generated, a decision is made on what features should be part of which release, while operational planning focuses only on the selection of features to be included in the next release [8], [9]. Software engineering literature classify the Release planning as a “Wicked problem”, [10] which means a problem difficult to define and often, it has no clear and definitive solution. Release Planning exists on two main approaches. In [11], Saliu and Ruhe have categorized software RP into ad-hoc RP approach and science based RP approach. They have also considered a hybrid RP approach that enjoys the benefits of both categories to be the most effective. State of art practices in software maintenance RP indicates that, typically, ad-hoc RP is the most commonly used in the engineering industry using judgment and experience of engineering staff. We have proposed in our previous work [12] a Strategic Release Planning model(S-TRPM) to support TPM manager in RP process. This model aims to plan pending change requests over a releases roadmap in a systematic way. The first contribution of this model over existing works is the consideration of contractual commitment in terms of service levels agreement (SLA) which is not covered fully by existing RP models. The second is to produce a maintenance roadmap giving to the customers a whole visibility on the next releases and when to deliver pending change requests contrary to the RP. Furthermore, this generated release roadmap allows customer and TPM manager to improve the software evolution planning by scheduling efficiently major evolution releases considering maintenance releases dates. Our proposed approach is designed for outsourced software maintenance, generating huge volume of change requests affecting directly the use of the software under maintenance. In our previous paper, we have applied our proposed model to

Upload: buituyen

Post on 13-Mar-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11958

Applicability of a Strategic TPM Release Planning Model on a

CRM Project Case

Samia Naciri1 and Mohammed Abdou Janati Idrissi2

1TIME team, ENSIAS, Mohammed V University In Rabat, Morocco. 2 TIME team, ENSIAS, Mohammed V University In Rabat, Morocco

Abstract

Building an effective release planning roadmap for pending

change requests and providing a whole visibility on customer

expectations remain among the main purposes of Third Party

Application Maintenance (TPM), while considering several

change requests characteristics and multiple conflicting

objectives. Furthermore, in outsourcing contract, service level

agreements (SLA) compliance is required in the release

planning process and might generate penalties to the

maintainer if TPM providers do not control SLA through an

efficient Release Planning (RP) process. In a previous paper,

we proposed a strategic TPM Release Planning Model (S-

TRPM). This Integer linear programming model supports, in a

systematic way, TPM manager’s decisions of when to deliver

customer’s change requests. In this paper we show the

applicability of our model on a large CRM project that was

maintained using an ad hoc release planning. We will also

compare the Change Requests release plans obtained by the

two models in terms of: roadmap visibility, SLA contractual

commitment and customer satisfaction degree.

Keywords: Software Engineering; Software Maintenance;

Third Party Application Maintenance; TPM; Release

Planning; Search-based software engineering; SBSE.

INTRODUCTION

The Third-party application maintenance (TPM) is a

particular type of outsourcing referring to the delocalization

of products maintenance. TPM allows companies to control

Information Technology costs, to improve products quality

and evolutivity, and to harness external resources to maintain

their software [1]. However, running TPM projects raises new

challenges for both companies requesting and providing such

services. One of the most challenging tasks within TPM

software process development relates to release planning as

summarized in [2], [3], [4].

Release planning aims to select an optimal set of change

requests to deliver in a release within constraints

consideration. From TPM point of view, software release

planning is considered as a tedious task. It takes into account

the perspectives of project stakeholders, integration problems,

functional and non-functional requirements, existing

technologies, anticipating coming changes, service

commitment, concurrency and other goals. The

interdependencies between change requests can be also

considered [5].

Scheduling requested changes and planning their delivery in

upcoming releases is considered as a strategic release

planning activity (called also Software Delivery Roadmap)

and not operational release planning activity [6], [7]. Strategic

RP involves the selection and assignment of requirements to

sequences of upcoming releases, in respect of technical and

organizational constraints. Once a strategic plan is generated,

a decision is made on what features should be part of which

release, while operational planning focuses only on the

selection of features to be included in the next release [8], [9].

Software engineering literature classify the Release planning

as a “Wicked problem”, [10] which means a problem

difficult to define and often, it has no clear and definitive

solution.

Release Planning exists on two main approaches. In [11],

Saliu and Ruhe have categorized software RP into ad-hoc RP

approach and science based RP approach. They have also

considered a hybrid RP approach that enjoys the benefits of

both categories to be the most effective. State of art practices

in software maintenance RP indicates that, typically, ad-hoc

RP is the most commonly used in the engineering industry

using judgment and experience of engineering staff.

We have proposed in our previous work [12] a Strategic

Release Planning model(S-TRPM) to support TPM manager

in RP process. This model aims to plan pending change

requests over a releases roadmap in a systematic way.

The first contribution of this model over existing works is the

consideration of contractual commitment in terms of service

levels agreement (SLA) which is not covered fully by existing

RP models. The second is to produce a maintenance roadmap

giving to the customers a whole visibility on the next releases

and when to deliver pending change requests contrary to the

RP. Furthermore, this generated release roadmap allows

customer and TPM manager to improve the software

evolution planning by scheduling efficiently major evolution

releases considering maintenance releases dates.

Our proposed approach is designed for outsourced software

maintenance, generating huge volume of change requests

affecting directly the use of the software under maintenance.

In our previous paper, we have applied our proposed model to

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11959

a virtual testing dataset. In this paper, we try to show the

applicability of our model on a large TPM CRM project that

was maintained using an ad-hoc RP process. We aim also to

evaluate the performance of our proposed model compared

with the applied ad-hoc RP on this industrial case.

The Customer Relationship Management (CRM) is one of the

company’s business drivers requiring reliable software

support. This work applies our proposed S-TRPM on a CRM

Software case which is designed to help business meet the

companies CRM strategy goals. CRM software should be

reliable, available, robust and just in time. Managing

efficiently the maintenance phase of CRM software remains a

complex activity, specifically in TPM context. Business and

market conditions drive companies to focus effort on core

business and to outsource support activities like CRM

software maintenance.

The remainder of this paper is structured as follows: Section 2

presents related work and our proposed Strategic TPM RP

approach. Section 3 presents the CRM project case, the

applied ad-hoc RP processes and how are captured the inputs

of the RP process. Section 4 presents our resolution approach

and inputs in terms of variables and parameters, and then we

discuss the results of applying our S-TRPM to this CRM case

using lp_solve(a free linear integer programming solver based

on the revised simplex [13]) before concluding.

S-TRPM: A STRATEGIC TPM RP MODEL

As it was reviewed and analysed in our previous paper [12],

existing works don’t propose a strategic vision through a

release roadmap for TPM, they only focus on the next release

problem (NRP). Their proposals are often limited to one

release (the next release) or two software releases without

managing SLA constraint of TPM context. However, in TPM

context, managers require a full visibility on next releases

through a maintenance roadmap. Furthermore, few existing

works were validated by case studies derived from software

maintenance industry in outsourcing mode [14].

The EVOLVE models propose a comprehensive approach to

address the RP problem. However, it does not lead with SLA

constraints or roadmapping expectations in TPM context [15],

[16], [17].

Bagnall optimization [18], [19], COVAP [20], Provotype

[21], [22], [23], IFM [24] models addressed NRP but didn’t

tackle the TPM problematic in terms of compliance with

contractual obligation of the subcontractor, manage urgent

change requests, and generate roadmap. PASM (Process for

Arranging Software Maintenance Requests) advocates

consolidating maintenance requests in projects to challenge

ahead the benefit of grouping change requests in software

releases. This last helps to save allocated costs. However, it

fails to consider business factors to assess the customer

satisfaction degree, or risks associated with grouping CR [25].

S-TRPM Approach

Our proposed S-TRPM, Strategic TPM RP approach aims to

construct a roadmap of CR releases in outsourced projects.

The word strategic involves producing several releases [26]

which include all pending CRs, providing in result a global

maintenance roadmap, difficult to construct using an ad-hoc

RP process.

CR often arises when the client wants an addition, correction

or alteration to the agreed-upon deliverables [27]. Indeed,

releases are classified to enhancive releases, corrective

releases or mixed releases [12].

This approach concerns corrective releases. It helps TPM

managers planning releases without having an advanced

knowledge (functional and technical details) on CR.

Thereafter, it allows more effective software process

improvement and synchronization in both side’s customers

and TPM companies.

Our proposed approach considers four main constraint

categories (business constraints, resource constraints, system

constraints and monitoring constraints) and is based on five

stages as shown in figure 1. A deep description of these

constraints categories can be found in our preceding paper

[12]

Figure 1: Strategic TPM release planning approach [12].

1) Qualification stage: this stage which is executed by the

support chain team aims to identify the corrective CRs to be

planned. The team assesses the severity and urgency of each

CR and collects additional details of the request sender and

CR.

2) Evaluation and strategy choice stage: This stage involves

the consolidation and integration of the collected information

from the qualification stage in order to evaluate selection

factors for each CR described previously. This stage includes

a sub stage named “constraints capture” allowing to collect

resource constraints and to define RP policy. The release

delivery policy describes which factor will be considered to

limit the scope of releases. Define a delivery policy is

important in RP process. It can be of three types (Fixed cost

policy, Fixed number of CR policy or Fixed time policy).

3) Strategic TPM RP generation stage: It concerns the CRs

distribution to software releases, called also roadmapping.

Based on evaluation stage results, this stage searches for an

optimal combination of CRs, which maximizes stakeholder

satisfaction and CR business value within the constraints

respect. This stage includes several iterations depending on

CR stock.

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11960

4) Execution stage: it’s a working stage of TPM team when

the next release is built.

5) Feedback capture and analysis stage: this stage is

essential to capture information concerning the quality of the

delivered releases and CRs and helps to improve next

releases.

S-TRPM formulation

According to the proposed approach, the third stage (strategic

TPM RP generation) involves an iterative activity; in each

iteration we fix the content of a current release. The process is

repeated until all pending change requests will be planned.

In [12], we have formulated this stage as an integer linear

programming model where we have used and adopted the

following sets and assumptions:

𝑫 = { 𝒅𝟏, 𝒅𝟐, … , 𝒅𝒏} the Change Requests to be

schedule and still present in the TPM backlog in the

beginning of a given iteration. D will be updated at each

iteration.

𝑹 = {𝑹𝟏, 𝑹𝟐, … , 𝑹𝒎} the maintenance releases set

where m corresponds to the number of iterations needed

by the third stage. CRs are affected to corrective

software releases named “Rk”, with Rk delivery date the

closest to the current date.

𝑪 = {𝒄𝟏, 𝒄𝟐, . . , 𝒄𝒕} represents stakeholders of the

software product. Inspired from [11], the TPM team can

assign to each customer a weight or a degree of

importance 𝜶 ∈ {𝟏, 𝟑, 𝟓, 𝟕, 𝟗}. Formally, 𝜶 ∈{𝟏, 𝟑, 𝟓, 𝟕, 𝟗} may mean respectively: ignored / not

important / neutral / important / very important. We will

note α(cj,di ) the customer weight concerned by the

change request di.

CR urgency: Depending on the emergency of each CR

di, a CR can be of high, normal or low urgency.

Considering the function urgency with urgency(di)

∈{U1,U2,U3} where U1,U2 and U3 are predefined

constants values. This function associates to each

urgency level one of the mentioned constants.

CR severity:

considering 𝑺𝒆𝒗 = {𝐻𝑖𝑔ℎ, 𝑀𝑒𝑑𝑖𝑢𝑚, 𝐿𝑜𝑤}, a severity

set defined for the Software Maintenance project, each

CR di depending on its severity level has a predefined constant (TC(High)/ TC(Medium)/TC(Low)) using a function TC( ).

The rest of the model is as follows:

Decision variables

Xk is a vector of binary decision variables. For each release

Rk :

𝑿𝒌 = (𝒙𝒌(𝒅𝒊))

𝑤𝑖𝑡ℎ 𝑖 = 1 … 𝑛 and 𝒙𝒌(𝒅𝒊)= 1 if the Change Request di has

not been assigned to Rl with l<k and assigned to the release

Rk. 𝒙𝒌(𝒅𝒊)= 0 otherwise. As consequence, we will

have∑ 𝑥𝑙(𝑑𝑖) ≤ 1𝑘

𝑙=1, for each di at each iteration k.

Objective function

To satisfy customers according to their weights and Change

Requests emergency degree, our S-TRPM proposes the

following objective function for each release Rk:

𝑴𝒂𝒙 ∑ ∑ 𝜶(𝒄𝒋, 𝒅𝒊) ∗ 𝒖𝒓𝒈𝒆𝒏𝒄𝒚(𝒅𝒊

𝒕

𝒋=𝟏

) ∗ 𝒙𝒌(𝒅𝒊)

𝒏

𝒊=𝟏

(𝟏)

The objective function aims to prioritise the change requests

that have both high urgency level and customer importance

weight.

Our model proposes to satisfy constraints detailed below:

Business constraints :

(𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑦𝑑𝑎𝑡𝑒(𝑑𝑖) − 𝑐𝑟𝑒𝑎𝑡𝑖𝑜𝑛𝑑𝑎𝑡𝑒(𝑑𝑖)) ∗ 𝒙𝑙(𝒅𝒊) ≤

𝑇𝐶(𝑆𝑒𝑣(𝑑𝑖)) ∗ 𝒙𝑙(𝒅𝒊) (2)

𝑑𝑖 ∈ 𝑅𝑘 , 𝑖 = 1, … 𝑛,

This last corresponds to the SLA constraint where the

delivery_date and creation_date are input parameters defined

for each CR and TC (Sev (di)) as defined above.

Resource constraints:

∑ ∑ 𝐶𝑜𝑠𝑡(𝑑𝑖) ∗ 𝒙𝑙(𝒅𝒊) 𝑖 ≤ 𝑏𝑢𝑑𝑔𝑒𝑡𝑘𝑙=1, (3)

(4) means that the release costs is under the allocated budget

of the global roadmap. Cost (di) and budget are input

parameters expressed in man-days. Budget is calculated based

on working man days.

(∑ 𝑒𝑓𝑓𝑜𝑟𝑡(𝑑𝑖)) ∗ 𝒙𝑘(𝒅𝒊) ≤ 𝛽

𝑛

𝑖=1

(𝑅𝑘) (4)

𝛽 corresponds to the available team effort defined by the TPM

manager for each Rk.. The effort () function returns the

required effort for each CR di.

System constraints:

𝑥𝑘(𝑑𝑖) = 𝑥𝑘(𝑑𝑖′) (5)

∀(𝑑𝑖 , 𝑑𝑖′) ∈ 𝐶𝑜𝑜𝑝𝑙𝑖𝑛𝑔 𝑠𝑒𝑡

Coupling means that the implementation of 𝑑𝑖 and 𝑑𝑖′ must

be scheduled in the same release.

∑ (𝑘

𝑙=1𝑥𝑙(𝑑𝑖′)) ≥ 𝑥𝑘(𝑑𝑖) , (6)

∀(𝑑𝑖 , 𝑑𝑖′) ∈ 𝑃𝑟𝑒𝑐𝑒𝑑𝑒𝑛𝑐𝑒 𝑠𝑒𝑡

Precedence means that the implementation of 𝑑𝑖 must precede

𝑑𝑖′ .

Constraints (5) and (6) express the dependencies constraints

that can exist between change requests.

Delivery policy constraints:

According to the maintenance delivery policy, we can add one

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11961

or some of the three formulas bellow depending on the

business owner:

If delivery policy is a fixed time,

𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑦_𝑑𝑎𝑡𝑒(𝑅𝑘) − 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑦_𝑑𝑎𝑡𝑒(𝑅𝑘−1) = 𝐷𝐼𝑆𝑇 (7)

Where DIST is a constant and delivery_date (R1) is fixed.

If delivery policy is a fixed cost,

∑ 𝐶𝑜𝑠𝑡(𝑑𝑖) ∗ 𝒙𝑘(𝒅𝒊)

𝑖

≤ 𝑏𝑢𝑑𝑔𝑒𝑡(𝑅𝑘) (8)

Where Cost (di) and 𝑏𝑢𝑑𝑔𝑒𝑡(𝑅𝑘) is defined

If delivery policy is a fixed CR number,

𝑐𝑎𝑟𝑑 (𝑅𝑘) ≤ 𝑁 (9)

where 𝑁 𝑖𝑠 𝑎 𝑔𝑖𝑣𝑒𝑛 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡 for all Rk

The given formulation of the TPM RP problem with equations

(1) to (9) constitutes an optimization problem that will require

efficient optimization algorithms to be solved. In section 5,

we will propose a resolution approach using an integer

programming framework.

In the next sections of this paper, we will apply our proposed

S-TRPM to a CRM project part of Tradecom company

projects portfolio. This large CRM project used an ad-hoc

approach to manage the CR release planning in TPM contract.

We aim through this case study to show the benefit of our

model in a real world release planning situations compared

with the ad-hoc RP approach.

A CRM CASE STUDY

This section describes the context of this CRM case study. It

presents the third party company (maintainer) and the

maintained software in the TPM contract. It describes also the

ad-hoc processes used to manage the TPM contract. Data

presented in this case are captured from this CRM case

repository and the presentations support.

Tradecom Company manages large and complex telecom

projects with outsourcing contracts such as ABC project

treated in this paper.

The ABC product is a complex and multi-business software

that supports ABC customers from end to end by providing an

order to cash solution. It is a modular solution, composed of 4

modules. In this study we focus on the front-end module

which manages web user’s interactions. This project has a

complex stakeholder organization composed on 5 levels that

start with the customer and end with the TPM team.

Support and maintenance services: With TPM contract,

ABC TPM team provides support and maintenance services

for the studied module. ABC product support chain is

organized on three levels in respect of ITIL (Information

Technology Infrastructure Library) standards. A CR escalates

from one level to other, depending on analysis result of the

upper level.

Level 1 or helpdesk: this first level receives all

rudimentary and repeated CR that the client or end

users submit daily.

Level 2: ensures and checks that the users and the

level 1 provide all necessary information helping to

analyse the CR. This level priority is to provide a

final or a workaround solution to establish the initial

service and then ensures that the software

specifications are in line with customer perception.

Level 3: if the CR is not resolved at level 2, level 3

solves the CR by acting on the production

environment or confirming that the CR has an

application origin requiring the intervention of

software maintenance team.

If the CR is still not resolved beyond level 3, the CR moves to

the maintenance team for a corrective action.

APPLICATION OF THE AD-HOC RP PROCESS ON

THE CRM ABC PROJECT

Approach

ABC project faces several challenges in release planning

process which are the lack of a continuous visibility of when

to deliver customer’s CRs, how much releases TPM team

must built, since the CR number changes frequently, the

multiplication of regression risk, the customer dissatisfaction

and so on.

To deal with these RP challenges, ABC project adopted an

improved ad-hoc RP process (from 2011 to 2012) that aims to

allow customers to have better visibility on CR delivery and

to guaranty the software quality. This ad-hoc RP produces a

release plan based on the improved rules, as illustrated in

Table 1.

Table 1: ad-hoc RP rules

rule 1 The ad-hoc RP process defines a maintenance

roadmap and fixes the frequency of release

delivery. (One release per month).

rule 2 A new ticketing tool is added to better support

maintenance process activities and logs CR

information.

rule 3 For each release, TPM manager defines the

followings milestones: Acceptance date(M3), Start

pilot phase (SPP) and the move to production

date(MTP).

rule 4 Urgent or critical CRs are to be scheduled in non-

planed (urgent) release in parallel with the

maintenance roadmap.

rule 5 Provide a Weekly Roadmap reporting that takes

account of customer expectations.

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11962

This ad-hoc RP process allowed ABC maintenance team to

work more efficiently in each release and to avoid scope

frequent changes.

Inputs and results

The ABC ad-hoc RP process inputs are gathered from the

ticketing tool (for CR data) and from the TPM contractual

commitments (for SLA and budget).

Business parameters: The ABC contractual commitments

considers 3 urgency levels: Low, Normal and High and 3

severity levels: Critical, Major and Minor. Time of Correction

(TC) associated to these severity levels are respectively, 2

days, 4 days, and time to the next evolving release. If a critical

or Major CR has a workaround solution, the TC will be the

time of the next release.

The business owner evaluates the customer's weights based on

several criteria, as: customer history, customer revenue,

customer temperament and other subjective factors.

CR parameters: Table 2 illustrates the CR data structure

captured from the ABC ticketing tool related to our work. 95

is the number of CR gathered and scheduled in year 2011.

“CR dep.” presents dependent CRs.

“Dep. Type” is the type of dependency that exists

between CRs. Dep. type =1 if the CRs and its

dependent CRs are in coupling relation, dep. type

=2 if the CRs and its dependent CRs are in

precedence relation.

Table 2: CR data structure

CR d1 d2 d3 d4

Creation

date 01/02/2011 02/04/2011 03/05/2011 04/06/2011

Customer C1 C2 C1 C3

Severity Major Minor Critical major

Urgency Low Normal High Normal

Cost 5 3 5 4

CR dep.

d1

d3

Dep.

Type

1

2

Allocated resources parameters: Yearly, ABC stakeholders

define the contractual commitments related to the allocated

resources, Budget and maintenance team composition. TPM

budget depends on CR numbers for previous year, future

enhancement demands and business roadmap. Therefore, the

releases costs must not exceed the given budget.

ABC budget is equal to 2 FTE (Full Time Equivalent, FTE of

1.0 is equivalent to a full-time worker). The availability of

TPM team is a selector factor that helps to decide how much

time to allocate for maintenance activity. This CRM project

considers team effort at 100%, since TPM team dedicates 2

members fully to the software maintenance.

Figure 2: detailed ad-hoc RP roadmap

Delivery policy parameters: release delivery policy

describes, as mentioned in section “Delivery policy

constraints”, which factors to consider to limit the scope of

releases. Define a delivery policy, share it and approve it with

all project stakeholders is essential for an efficient TPM

management. In this project, the management team has

decided to fix the duration between releases (monthly

delivery). The constant “DIST” value is approximately equal

to 31 days.

Results: The ad-hoc RP results are extracted from ABC

project repository and then analysed. Table 3 and Table 4

show the main figures of the extracted data. 95 CR was

planned over the year 2011 in 16 releases.

Table 3 : ad-hoc RP results

CR

number

Studied

Period

Customers

number

Budget

allocation

Releases

number

95 Year

2011

14 2 FTE 16

w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16 w17 w18 w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 w31 w32 w33 w34 w35 w36 w37 w38 w39 w40

Dev-Tronc

Dev-Branch

Dev-Branch

Pilote phase

Generalisation

(Prod)

pilot phase(open to customers) ROCO : release release delivery

July August September OctoberJanuary February March April Mai June

C1

C1

11/08

C2

23/09

C2

R6

R6C0

C0

23/07

G4R621/06

R6C4

19/07

C4

R5

C3

16/06C2

22/05

C2

C1

17/05

C1

G4R5

29/03

G4

C10

R4

C9

07/04

C9

C8

15/03

C8

C7P1

01/03

C7P1C6

C5

12/02

C5

03/02

C5

R3 R4 R5 R6

C418/01

R4C4

C10

05/05

C6

22/02

C2

07/06

C3

C0

06/08C2

04/10

C3

C7

03/03

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11963

Table 4 presents the number of CR and releases delivered

each month in both software environments pilot and

production.

Table 4 : ad-hoc roadmap data and delivered CR per month

Month 1 2 3 4 5 6 7 8 9 10

Total of delivered CR 11 29 15 5 11 9 5 7 3 0

Pilot releases 1 2 3 1 3 2 2 1 1 0

Production releases 0 2 1 1 1 2 1 1 0 1

The ad-hoc RP process allowed for ABC project customer a

visibility (to know when to deliver CRs). For the ABC

maintenance provider, ad-hoc RP allowed to work more

efficiently in each release and to avoid conflict with customer.

However, this ad-hoc RP leads to an arduous daily task for

TPM manager that requires to plan manually submitted CR.

The synchronization with evolving releases generated a

technical challenges and integration problems for the

maintenance team particularly when deciding to merge or

generalize releases.

The schema in Figure 2 presents the ad-hoc RP roadmap of

year 2011. In yellow background, each bloc represents a

delivered release: Dev-tronc for maintenance (corrective)

releases and Dev-branch for evolving releases. Orange

background (in the bottom) represents the installation

environment for releases (maintenance and evolving) over the

year 2011 in the two deployment environments (pilot and

production).

APPLICATION OF THE S-TRPM MODEL ON THE

CRM ABC PROJECT

This section will describe how we have applied and

implemented our proposed S-TRPM to the CRM ABC project

and the results we have obtained.

Resolution approach and implementation

As mentioned in section 2.2, our S-TRPM model adopts an

iterative approach as shown in Figure 3. In each iteration k,

we will call an S-TRPM algorithm which is the

implementation of our model to the still non-planned CRs in

the iteration k to produce release Rk (planned CRs in Rk) and

reject CRs that not respect the given constraints.

Figure 3: S-TRPM resolution approach

To implement our S-TRPM algorithm, we opted to develop

our own java program that calls the lp_solve libraries which is

a free Mixed Integer Linear Programming solver [13] based

on the revised simplex and the Branch-and-bound methods.

The main steps of this S-TRPM algorithm are shown in Table

5.

S-TRPM algorithm represents Xk(di) the decision to include di

in Rk using a bit string with n bits. Each bit in the string

corresponds to a CR, and is set to 1 if the CR is included in

the Rk and 0 if the CR is excluded.

Our S-TRPM algorithm inputs (data and parameters) are

gathered from the ABC CRM project data. Main inputs are

outlined below.

- Sev ∈ {Critical, Major or Minor} having respectively

TC = {2, 4, 30}.

- Urgency ∈ {1: not, 3:low, 5: normal, 7: high}, we

use an ordinal seven-point scale here to allow

sufficient differentiation in the degree of urgency.

- Customer weight α∈ {1, 3, 5, 7, 9} and may mean

respectively: ignored / not important / neutral /

important / very important.

- Delivery policy: as referred previously, in the ABC

project, the constant value “DIST” is approximately

equal to 31j. The freeze period is 15 days before each

Rk delivery date.

- Cost, budget and team effort: the TPM budget of

ABC is defined as two FTE. 2 persons of the TPM

team are 100% allocated for maintenance tasks.

Table 5: S-TRPM algorithm

I-1 Build the D set: D includes CR di not yet scheduled

for which the creation date is less than or equal to

the freeze date. Each di is represented by a java

object of structure seen in Table 2

I-2 -set k=1

-set the delivery date and the freeze date of R1

I-3 While they still exist di which are at the same time

not planned and not rejected :

-set the Rk release Name,

-set the Rk delivery date and the freeze date

-do I-31

R1 content

S-TRPM algorithm

CRs file

Rk content

Generated Solution

Generated solution

R2 content

Non-

planed

CRs

Generated solution

Rejected

CR

S-TRPM

algorithm

S-TRPM

algorithm

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11964

I-31 (To build the objective function inputs), for each of

these di do :

-calculate the objective function value :

"𝜶(𝒄𝒋, 𝒅𝒊) ∗ 𝒖𝒓𝒈𝒆𝒏𝒄𝒚(𝒅𝒊)"

-define Xk(di) integer type and values ranges

-if sev(di) is high or critical with a workaround

solution, define the TC extension time

I-32 Build dependencies constraints

I-33 Build resource constraints

I-34 Build SLA constraints, if the SLA constraints of di

is not respected, set the di state=rejected

I-35 Call the solver factory of lp_solve libraries

I-36 Build the Rk : read the solver generated bit string

which constitutes the Xk vector then update each

object of these di if its corresponding bit is equal to

1

- di release name = release name

- di delivery date = release delivery date

- di state = “planned”

- go to I-3

I-4 Write di objects in flat file (RP roadmap)

RESULTS AND DISCUSSION

Our resolution approach allows us to generate a release

planning roadmap of the CRM TPM project as showed in

Figure 4.

Figure 4 : The generated S-TRPM roadmap

In this section, we will compare results of the ad-hoc RP

process and the ones obtained by our S-TRPM model. The

roadmaps generated by these two models will be compared

according to two axes CR delivery date and SLA time of

correction (TC) commitment.

Regarding to axe 1:

The comparison of the delivery dates obtained by the

generated roadmaps of the two models can be summarized as

shown in Figure 5.

Figure 5: CRs delivery dates comparison

We note that 75% of change requests are scheduled in the

same release month (6% of CR are in the same date, 31% of

CR are in the same calendar month and 38% of CR are

delivered in less than 20 days of difference).

8% of change requests are not conform to the real delivery

period (delivered after more than 60 days of our RP model

proposition).

Several reasons may exist to explain the difference between

S-TRPM delivery dates and ad-hoc delivery dates. Firstly, the

extracted CR data does not trace customer decision to include

or delay a CR in the release, neither the urgent releases

decisions. In real context, customer may decide to include or

exclude a CR if the customer business context changes. A real

roadmap is based on human decision which remains a

subjective decision taking in consideration current context of

CRs and customers. We can also add the lack of all CR

dependencies data.

Regarding to axe 2:

Our generated roadmap allows us to monitor easily the SLA

of each CR. This work considers the SLA correction time

(TC) which is the difference between delivery date and

creation date. In table 7, we compare the CRs generated TC of

the two models. We observe than more than 49% of CRs have

a S-TRPM generated TC better than the ad-hoc RP TC. 11%

of CRs have an ad-hoc RP TC better than the S-TRPM

generated TC.

40% of CRs left are still have a better ad-hoc RP TC because

the freeze date and the delivery policy are not respected.

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11965

Table 6: SLA TC comparison

Number of CR by severity

Min

or

ma

jor

Cri

tica

l

To

tal

Generated TC (lp_solve ) 40 12 2 54

Real TC (ad-hoc) 8 1 9

Real TC with non-respect of freeze date

11 6 17

Real TC with non-respect of policy

9 6 15

Total 68 25 2 95

In addition to the comparison done by the two axes mentioned

above, we can note that our model succeeds to plan 85% of

the CRs in the input file. The 15% non-planned CRs are not

scheduled by S-TRPM model because they have an exceeded

TC. SLA commitments expressed with formula (2) in our

model are difficult to satisfy in large and complex projects.

The main goal of TPM manager in the ad-hoc RP, in regard of

the CRs for which SLA deadline is exceeded; is to minimize

penalties by including the maximum number of CRs as soon

as possible in first releases.

CONCLUSION

In previous work, we have proposed a Strategic Release

Planning model (S-TRPM) for TPM projects. The goal is to

help TPM managers plan releases without having an advanced

knowledge (functional and technical) on CRs while respecting

the given constraints, allowing more effective software

process improvement and synchronization in both sides

customers and TPM companies.

In this paper, we have applied our proposed integer linear

programing model(S-TRPM) to a real TPM CRM project.

Our model generates for this case study and in a systematic

way a releases plan with 75% of CRs scheduled in the same

calendar month compared with the ad-hoc RP process and

furthermore respecting all the TPM constraints. Moreover,

49% of planned CRs have a better SLA than the ad-hoc RP

process. These SLA are easily monitored using our flexible

approach, allowing a best control of maintainer penalties.

In future work, we aim to apply our model in more real

projects and investigate how to deal with the non-planned

CRs.

REFERENCES

[1] G. Hu, C. Saunders et M. Gebelt, «Research Report:

Diffusion of Information Systems Outsourcing: A

Reevaluation of Influence Sources,» Information Systems Research, 1997.

[2] S. Naciri et M. A. Janati Idrissi, «Third-Party

Application Maintenance Management,» International Journal of Computer Applications, oct 2014.

[3] A. April, J. Bouman, A. Abran et D. Al-Shurougi,

«Software Maintenance in a Service Level Agreement:

Controlling the Customers Expectations,» FESMA, 2000.

[4] A. April, «Studying Supply and Demand of Software

Maintenance and Evolution Services,» In Quality of Information and Communications Technology (QUATIC), 2010 Seventh International Conference, 2010.

[5] A. S. Danesh et R. Ahmad, «Software Release Planning

Challenges in Software Development: An Empirical

Study,» African Journal of Business Management, 2012.

[6] A. Pitangueira, R. Maciel, M. Barros et A. Andrade, «A

Systematic Review of Software Requirements Selection

and Prioritization Using SBSE Approaches,» In International Symposium on Search Based Software Engineering, Springer Berlin Heidelberg, 2013.

[7] A. Pitangueira, P. Tonella, A. Susi, R. Maciel et M.

Barro, «Risk-Aware Multi-Stakeholder Next Release

Planning Using Multi-Objective Optimization,»

Requirements Engineering: Foundation for Software Quality, 2016.

[8] Y. Zhang, M. Harman, G. Ochoa, G. Ruhe et S.

Brinkkemper, «An Empirical Study of Meta-and Hyper-

Heuristic Search for Multi-Objective Release Planning,»

Research Note :UCL Department of computer science, 2014.

[9] X. Cai, O. Wei et Z. Huang, «Evolutionary Approaches

for Multi-Objective next Release Problem,» Computing and Informatics, 2012.

[10] A. Seyed Danesh, R. Ahmad, M. R. Saybani et A. Tahir,

«Companies Approaches in Software Release Planning --

Based on Multiple Case Studies,» Journal of Software, 2012.

[11] G. Ruhe et M. O. Saliu, «The art and science of software

release planning,» IEEE Software, 2005.

[12] S. Naciri, M. A. Janati Idrissi et N. Kerzazi, «A strategic

release planning model from TPM point of view,» In 2015 10th International Conference on Intelligent Systems: Theories and Applications (SITA), 2015.

[13] M. Berkelaar, K. Eikland et P. Notebaert, «lp_solve:

Open source (mixed-integer) linear programming

system,» http://groups.yahoo.com/group/lp_solve, 2004.

[14] D. Ameller, C. Farré, X. Franch et G. Rufian, «A Survey

on Software Release Planning Models,» Product-Focused Software Process Improvement: 17th International Conference, PROFES 2016. Springer International Publishing, 2016.

International Journal of Applied Engineering Research ISSN 0973-4562 Volume 11, Number 24 (2016) pp. 11958-11966

© Research India Publications. http://www.ripublication.com

11966

[15] G. Ruhe et D. Greer, «Quantitative Studies in Software

Release Planning under Risk and Resource Constraints,»

Empirical Software Engineering, 2003.

[16] O. Saliu et G. Ruhe, «Software release planning for

evolving systems,» Innovations in Systems and Software Engineering, 2005.

[17] P. Bhawnani et G. Ruhe, «ReleasePlanner-Planning new

releases for software maintenance and evolution,» In Industrial Proceedings of the 21st IEEE International Conference on Software Maintenance, 2005.

[18] G. Ruhe et A. Ngo, «Hybrid Intelligence in Software

Release Planning,» International Journal of Hybrid Intelligent Systems, 2004.

[19] A. J. Bagnall, V. J. Rayward-Smith et I. M. Whittley,

«The next Release Problem,» Information and Software Technology, 2001.

[20] J. Karlsson et K. Ryan, «A Cost-Value Approach for

Prioritizing Requirements,» IEEE Software, 1997.

[21] P. Carlshamre, «Release Planning in Market-Driven

Software Product Development: Provoking an

Understanding,» Requirements Engineering, 2002.

[22] J. Ho et G. Ruhe, «Releasing sooner or later: an

optimization approach and its case study evaluation,» In Proceedings of the 1st International Workshop on Release Engineering. IEEE Press, 2013.

[23] J. Ho, S. Shahnewaz et G. Ruhe, «A prototype tool

supporting when-to-release decisions in iterative

development.,» 2nd International Workshop on Release Engineering(RELENG), 2014.

[24] M. Denne et J. Cleland-Huang, «The Incremental

Funding Method: Data-Driven Software Development,»

Software, IEEE, 2004.

[25] G. A. Junio, M. N. Malta, H. A. Mossri, H. T. Marques-

Neto et M. T. Valente, «On the benefits of planning and

grouping software maintenance requests,» Software Maintenance and Reengineering (CSMR), 2011 15th European Conference, 2011.

[26] M. Svahnberg, T. Gorschek, R. Feldt, R. Torkar, S. B.

Saleem et M. U. Shafique, «A systematic review on

strategic release planning models,» Information and Software Technology, 2010.

[27] H. Marques-Neto, A. Gladston J. et V. Marco Tulio, «A

quantitative approach for evaluating software

maintenance services,» Proceedings of the 28th Annual ACM Symposium on Applied Computing, 2013.