You are on page 1of 6

Proceedings of the 2016 International Conference on Machine Learning and Cybernetics, Jeju, South Korea, 10-13 July, 2016

OPTIMIZATION ALGORITHM USING SCRUM PROCESS


SUPAKIT NOOTYASKOOL1, PIMOLRAT OUNSRIMUANG2
1
Faculty of Information Technology, King Mongkut’s Institute of Technology Ladkrabang, Thailand
2
Faculty of Information, Mahasarakham University, Thailand
E-MAIL: supakit@it.kmitl.ac.th, pimolrat.o@msu.ac.th

Abstract: and called the population. Adding the velocity to the


Scrum process is methodology for software development. problem-population is interesting but this research needs to
Members in a scrum team have self-organizing team by ensure initial ability of the scum population. Consequently,
planning and sharing knowledge. This paper introduces it is how to maintain capability of exploration and
optimization algorithm using the population as scrum team exploitation search. GA uses mutation and crossover
doing the scrum process to find an optimum solution. The
operator, while PSO uses the level of population in pbest and
proposed algorithm maintains the level of exploration and the
exploitation search by specific of the scrum-team. The gbest, both of which uses in exploration and exploitation
experiment has compared the proposed approach with GA and search. The usage gradient methods [7] in a hybrid
PSO by finding an optimal solution of five numerical functions. evolutionary system can give to speed up; however, the initial
The experiment result indicates that the proposed algorithm recognition needs to ensure the ability of the proposed
provides the best solution and finds the result quickly. method. Scrum process optimization (SPO) is hierarchical
population by dividing into many scrum teams. Each scrum
Keywords: team has a header or a scrum-master. The scrum master
Optimization technique; Scrum process; Numerical collects the best result from the team and also shares
function; Evolutionary computation information to the member. This is specific of local search
and some population given advantage movement by
1. Introduction information from scrum master. The SPO has a leader
population keeping the best result and sharing information to
Scrum process [1] is well-known in the process of other members. In exploration search, the population has a
software development. Scrum process is the methodology probability to apply thinking difference.
in the agile software development [2], which is a framework Experiment has selected two optimizers, GA and PSO to
managing a software development team by self-organization compare with SPO on the problem of numerical functions.
team, rich communication, and small increment. A scrum The size numerical function has set at 20 dimensions on
team has a scrum-master that is similar to a project header continuous space. The experiments have run on the same
giving only suggestions to team members. Members in a environment and stop at the same time.
scrum team have self-planning and self selecting a part of Section 2 gives an idea and the algorithm of SPO. The
software to development. They do not get a command from configurations and setup of experiment are shown in the
the scrum-master. This research is interested in the process Section 3. Consequently, the experiment result and
of the scrum-team and has a hypothesis that how to apply the discussion are shown in section 4, and then Section 5 draws a
problem-populations as a scrum-team for solving a solution. conclusion.
Researching in the evolutionary computation related
applying agile software development or scrum process is 2. Scrum Process Optimization
usually brought to scheduling the working table in the scrum
process [3]. Study design of the proposed algorithm begins This section is introducing conceptual of scrum process,
how to create a problem-population as a scum team. GA and how to implement the SPO.
[4-5] is population based encoding a problem in the form of
the gene and chromosome. Particle swarm optimization (PSO)
[6] adds a velocity parameter to the structure of the 2.1. Scrum process
population. From the hypothesis, this approach uses the
chromosome with a fitness value in the problem-populations Scrum process [1] introduced by Takeuchi and Nonaka

978-1-5090-0390-7/16/$31.00 © 2016 IEEE


245
Proceedings of the 2016 International Conference on Machine Learning and Cybernetics, Jeju, South Korea, 10-13 July, 2016

in 1986, which it is a methodology in agile software containing a scrum master and 5 scrum members. The SPO
development. They giving a definition of scrum process are has a project master uses for collection the best result getting
“a flexible, holistic product development strategy where a from each scrum team. Finding solution is clusters of
development team work as until to reach a common goal". worker by each cluster having a member that collects a good
Currently, the scrum process has developed and choosing to result in this group. Specific of SPO in a scrum master does
employ many software-development companies. not perform the process to find solution, but a scrum master
Diagram of the scrum process in figure 1 starting at a keeps only the best chromosome value in this team. Scrum
product backlog is a specification and design of software. members have four operations to play finding solution; there
Next, a team member meeting selects each development part are follows.
and defined to sprint backlog. One sprint backlog uses 30
days for development. The scrum-team meeting everyday Scrum Team 1 Scrum Team 2
uses 15 minutes for this process. A scrum team consists Scrum Scrum
master master
with a scrum master and team members. Scrum master
performs as a project leader, but he does not assign the work 5 7 3 4 3 8 1 6 3 3

to a member. Scrum master gives only suggestion likes a


coach. Scrum team has 5 to 9 members and they have self Member Member

7 3 1 6 2 6 2 3 1 4
plaining and self-organization to solve the problem of
software development. After completing scrum sprint,
Member Member Member Member
scrum team will pick up a new backlog to implementation. ..... ..... ..... .....
If a sprint backlog does not complete in 30 days, it will be
back to scrum plaining to plan implementation later.
From the mentioned scrum process, this paper performs
an idea in the organization members and the sharing FIGURE 2. Team member gets a suggest from a scrum
knowledge between members to design a SPO. master.

Daily
1) Team member gets a suggestion from a scrum master.
scrum The process shown in figure 2 by the example has two scrum
teams. In scrum team 1 (the left side), a member has run a
random at the forth gene. At this position, a member will
Scrum sprint
sprint 30 days Incremental replace a gene value by the value from scrum master. After
Scrum
Product planning backlog
backlogg
Software doing this process, a member in the scrum team 2 is “61314”.
result
backlog 2) Team member thinks the difference. This is helping a
team to escape a local solution by generating a new value to a
Scrum gene. In figure 3 on the left side, a member performs a
master Member1 Member2 Member9
random selected at the fourth genes to assign a new value.
Another scrum team by a member performs a random
selected at the second genes to assign a new value.
FIGURE 1. Scrum process in software development team 3) Sharing experience between members, a member
takes a gene value from another by doing the randomization
2.2. Implementation gene. Sharing experience is limited in this scrum team. In
figure 4 on the left, two members is taking the gene value
Scrum team member has a character like a population in from another. A member on the figure in the right side takes
GA but it is different in processes. A scrum member has gene values from the third genes and the fifth gene.
genes, chromosomes, and a fitness value. In this research,
the problem implements a chromosome in real value, so a
chromosome containing a sequence of gene in real values.
For example, figure 2 shown a chromosome of a scrum
master has five real-value genes keeping “57343”. In the
fitness, each member has a chromosome and fitness value but
it does not display in the fitness value.
In this work, SPO has 10 scrum teams by a scrum team

246
Proceedings of the 2016 International Conference on Machine Learning and Cybernetics, Jeju, South Korea, 10-13 July, 2016

Scrum Team Scrum Team teams. The SPO has SPO = {pn, o}, A scrum team has pn =
Member Member {wk, m}, and a worker has wk = { xd, f}.
New idea ..... ..... SPO starts creating scrum teams by random generating
chromosome value of each member in each scrum team.
Member Member Member Member Next, calculation fitness value updates to the scrum member
..... ..... ..... ..... and updates the best fitness to project owner. The algorithm
Member Member
enters a while loop at terminating when a project owner
..... .....
reached an optimum solution or running to a maximum time.
New idea A while loop has two loops. The first loop selects level of
the scrum team and the second loop selects level of the
member in a scrum team. Daily scrum collects the best
FIGURE 3. Team member thinks the difference. chromosome value from a scrum member to assign scrum
master. After doing daily scrum, SPO will generate a
4) Sharing experience with another team is similar to random value for selecting a scrum operator to apply a
sharing experience mentioned above, but this process selects worker. Each work has equally the probability to select a
gene value from another scrum team. The process shown scrum operator from four operators. First, a member gets a
in figure 5 has three scrum teams. A member on the scrum gene from a scrum master as shown this process in figure 2.
team is taking two genes value by the third genes from a Second, generating a new gene value assigns to a member.
scrum team and the fifth genes from another one. Third, a member random selects a gene value from a member
in this scrum team. Fourth, a random selects a gene from a
Scrum Team Scrum Team member in another scrum team and assign to this member.
Member Member After doing scrum operators, a member will be updated
..... ..... fitness value. Completing the second loop, a project owner
will update the best fitness value.
Member Member
Member Member
..... .....
..... .....
Member Member Scrum Team
..... ..... Member
.....

Member Member

FIGURE 4. Sharing experience between members ..... .....


Member
.....
Operator in SPO has 2 levels of finding solution. 1)
Local searching is the operation 1, 3, and 4. 2) Global
searching is the operation 2. SPO sets the hierarchical
Scrum Team Scrum Team
populations by product master, scrum masters, and scrum
Member Member
members. The scrum master corrects the result from his team. ..... .....
The project master corrects the best result. Selection
position of gene to apply the operation defined the Member Member
ber Member Member
randomization at 0.5 of probability value. The probability ..... ..... ..... .....
of a member doing each operation is defined by divided at
Member Member
0.25 per each operation, which uses selection by random as
..... .....
shown in figure 6.
Pseudo code of SPO shown on figure 6 consists with
parameters as p is a scrum team, w is a worker or a scrum
member, m is a scrum master, o is a project owner, x is a gene FIGURE 5. Sharing experience from other team and some
or a problem parameter, f is fitness value. In the parameter member bring the value apply to chromosome.
relating numbers, N is number of the scrum team, K is
number of member in a scrum team, and D is size of problem
dimension. This research sets K at 9 members and N at 5

247
Proceedings of the 2016 International Conference on Machine Learning and Cybernetics, Jeju, South Korea, 10-13 July, 2016

c at 2π, and problem boundary is between -32.768 and


Function of Scrum Process Optimization () 32.768,
pK Å create scrum team()
pK Å calculate fitness(PK) (2)
O Å select best fitness (PK)
While (o gets the optimal solution or max runtime)
For each p in PK Rastrigin function on (3) has many local minima in class
of multimodal. The problem boundary is between -5.12 and
m Å daily scrum(p) 5.12,
For each w in p
(3)
r Å random 0 to 1
if(r < 0.25) Griewank function on (4) has widespread local
w Å getting suggest from scrum master(m) minimum and also smooth and slope to a global minimum.
The function has a effect from a cos. The problem boundary
Else if(r < 0.5) is between -600 and 600,
w Å thinking difference()
(4)
Else if(r < 0.75)
w Å sharing experience(p)
Schaffer’s F7 function (5) is multimodal and having the
Else if(r <= 1.0 not applied first loop) problem boundary is between -100 to 100,
w Å sharing experience another team(PK)

End if (5)
w Å calculate fitness(w) Where

End for each The functions defined parameter d is number of problem


O Å select best fitness (Pk) dimension and x is array of problem values

End for each


TABLE 1. Parameters and configuration setup
End while Techniques/Parameters Value
End function
GA: pc, pm, population 0.7, 0.1, 30(offspring), 30 (parents)
FIGURE 6. Pseudo code of scrum process optimization PSO: c1, c2, w, particle 4, 4, 0.7, 30
SPO: scrum team, scrum 10, 5, 0.25
3. Experiments member, probability in
each scrum operator
GA, PSO and SPO are tested on five numerical
Run trial 20
functions [8] shown on (1) to (5). The numerical function is
an optimum point at 0.0, located on . Problem dimension (f1-f5) 10 (continuous space)
Sphere function shown in (1) is unimodal by problem Termination time 50 sec.
boundary in the range of -5.12 to 5.12
Before running experiment on GA, PSO and SPO, the
(1) experiment ran a sub-experiment to adjust parameters. The
selected parameters show in table 1. The experiment
defined GA using crossover probability at 0.7, mutation
Ackley function on (2) is multimodal having many local probability at 0.1, number of parent at 30, number of
minima. Parameter related in the function is a at 20, b at 0.2, offspring at 30. PSO uses c1 and c2 at 4.0, weight parameter

248
Proceedings of the 2016 International Conference on Machine Learning and Cybernetics, Jeju, South Korea, 10-13 July, 2016

at 0.7, and number of particle at 30. SPO uses number of


scrum team at 10, number of scrum member at 5, and setting
probability of scrum operator at 0.25 like shown in figure 3.
Code program was implemented with C++ and run on release
mode in the same computer on Intel i5 3.2 GHz processor.
Running program defined at 20 trial times and set termination
at 50 seconds.

4. Result and Discussion

Experiment results showed on figure 7, and 8 are result


of Griewank function and Schaffer’s F7 function. The
graphs indicate that PSO, GA, and SPO can reach to the
solution, but it is the difference in moving speed.
Table 2 showed an average value from 20 trails and the
underlined value is the best value of the function. Output
from two tables showing was run separately. The
experiment result indicated that SPO takes the best result FIGURE 8. Compare result finding solution of Shcaffer’s F7
quicker than PSO and GA. function.
In this research, SPO can be implemented and the main
objective of this work is how to create an optimization by
using the idea of scrum process having successfully.
However, it is initial proposing algorithm. The experiment TABLE 2. Average result by termination at 50seconds
compared classical algorithms and the proposed approach
that does not conclude the performance of the optimizer. Numerical PSO GA SPO
The experiment was lack on deep comparisons and analysis functions f(x) S.D f(x) S.D f(x) S.D
using hierarchy population in SPO, is it effective for the Sphere 2.46E-43 6.98E-43 8.00E-07 9.80E-07 3.06E-12 3.30E-12
optimizer. And also level of sharing knowledge is exchange Ackley 1.47E+00 4.40E+00 1.65E-03 2.58E-03 3.09E-05 6.37E-06
gene value likes crossover but SPO having different level in Rastrigin 7.32E+01 3.68E+01 2.04E-04 1.54E-04 8.85E-05 3.97E-05
the exchange information. There is quite interest to Griewank 2.06E-02 2.81E-02 2.60E-02 1.80E-02 1.23E-02 1.53E-02
compare and implementation in the future. Schaffer's F7 6.22E-02 7.38E-02 2.78E-04 3.59E-04 3.43E-05 2.11E-05

5. Conclusion

This paper proposed a new optimization using scrum


process. Scrum process optimization has four operators, i.e.,
a member getting a suggestion from scrum master, a member
thinking differently, sharing experience between members,
and sharing experience with another scrum team. The
operators use only exchange a genes value between members.
Population on SPO is a hierarchical structure consisting of
project owner and scrum teams. A scrum team has scrum
master and members. Scrum master keeps a good solution in
the group. Project owner keeps the best solution.
Experiment compared with GA and PSO without doing
hybridization on iteration method. The experiment result
shows that SPO can search the solution of numerical
functions quickly.
FIGURE 7. Compare result finding solution of Griwank
function.

249
Proceedings of the 2016 International Conference on Machine Learning and Cybernetics, Jeju, South Korea, 10-13 July, 2016

References [5] M., Srinivas, and Patnaik M. L. “Genetic algorithm: a


survey.” IEEE computer society, 1994, pp. 17-26.
[1] Hirotaka Takeuchi; Ikujiro Nonaka, "new new product [6] J. Kennedy and R. Eberthart, “Particle swarm
development game", Harward business publishing, p.10, optimization,” in Proceding of IEEE Neural Network
1986 conference, 1995, pp. 1942-1948.
[2] L. Rising and N. S. Janoff, "The Scrum software [7] K. Sindhya, K. Miettinen and K. Deb, "A Hybrid
development process for small teams," in IEEE Software, Framework for Evolutionary Multi-Objective
vol. 17, no. 4, pp. 26-32, Jul/Aug 2000. Optimization," in IEEE Transactions on Evolutionary
Computation, vol. 17, no. 4, pp. 495-511, Aug. 2013.
[3] A. Kumar, R. Nagar and A. S. Baghel, "A genetic
algorithm approach to release planning in agile [8] Dieterich M. Johannes and Hartke Bernd, “Empirical
environment," Information Systems and Computer review of standard benchmark functions using
Networks (ISCON), 2014 International Conference on, evolutionary global optimization,” Corr, 2012.
Mathura, 2014, pp. 118-122.
[4] J. H. Holland, “Adaptation in natural and artificial
system,” USA: University of Michigan Press, 1975

250

You might also like