A Learning Curve Based Simulation Model for Software Development - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

A Learning Curve Based Simulation Model for Software Development

Description:

We estimate the completion date using the clarified variations in productivity. Outline ... The gap between the two developers was clarified. ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 22
Provided by: shuu2
Category:

less

Transcript and Presenter's Notes

Title: A Learning Curve Based Simulation Model for Software Development


1
A Learning Curve Based Simulation Model for
Software Development
Noriko Hanakawa Syuji Morisaki Ken-ichi
Matsumoto Graduate School of Information
Science, Nara Institute of Science and Technology
2
Background Software Development
in recent years
Most software developers must use new software
technology without sufficiently being trained to
use new technology.
  • Customers want to
  • use many new software.
  • use it as soon as possible.

To meet such customers demands, we must use new
technology. But we dont have enough time to
learn the new technology
3
Background Variations in productivity(1)
In such situations, the developers productivity
changes as the project progresses.
Productivity
Progress
Conventional productivity progress
100
Completion date ???
Productivity progress in such situations
Productivity ???
Time
Time
Completion date
Such variations in productivity makes it
complicated to estimate and/or predict the
completion date of the project.
4
Background Variations in
productivity(2)
In order to estimate the completion date which is
influenced by a developers learning, the
variations in productivity should be clarified.
Case1 easy as a whole to learn
Productivity
Progress
Case2 difficult as a whole to learn
Case3 difficult in places to learn
100
How does productivity change by learning ?
???
???
???
Time
Time
Completion date
Completion date
Completion date
5
Goal and approach
  • Goal
  • To estimate a completion date which is influenced
    by developers learning
  • Approach
  • We define knowledge level and learning.
  • We propose a new software simulation model which
    consists of three sub-models.
  • Using the model, we clarify the variations in
    productivity which is influenced by developer's
    learning.
  • We estimate the completion date using the
    clarified variations in productivity.

6
Outline
  • Knowledge level and learning
  • Proposed model
  • Activity model,Productivity model,Knowledge model
  • Simulation
  • Summary and future research

7
1.Knowledge level learning1.1 Knowledge level
There are two kinds of knowledge level in
software development.
  • The developer has knowledge about an activity.
  • Developers knowledge level
  • The developer needs a certain amount of
    knowledge to execute an activity. The required
    knowledge level to execute an activity

Knowledge level
Developer
easy activity
Knowledge level
difficult activity
Knowledge level
8
1.2 Learning
After executing an activity, the increment of the
developers knowledge level can be thought of as
Learning.
Its easy
Knowledge level
executing
The developers knowledge level is not changed.
easy activity
Knowledge level
Its difficult
executing
Developer
Learning
The developers knowledge level increases.
Knowledge level
Knowledge level
difficult activity
Learning is based on the relationship between
the two knowledge levels.
9
2.Proposed model2.1 Three sub-models
The proposed model consists of three sub-models.
Wj(?)
?
Activity model
bij
?
Knowledge model
Productivity model
10
2.2 Activity model
Activity model focuses on the characteristics of
the activity.
Wj (?)
normal distribution
How much is amount of the activity? How difficult
is the activity?
?
Wj (?)
Wj (?)
Other distributions
?
?
easy activity
difficult activity
activity
Wj(?)Amount of an activity which needs to
execute the knowledge level? ? The required
knowledge level to execute the activity
Activity model shows the relationship between the
required knowledge level to execute an activity
and an amount of activity which needs the same
knowledge to execute.
11
2.3 Productivity model
Productivity model focuses on the relationship
between a developer and an activity as
Productivity.
Pij(?)Productivity of a developer
bij The developers knowledge level
Knowledge level
? The required knowledge level to execute the
activity
T lt bij ? Pij is high
T gt bij ? Pij is low
Its difficult
Its easy
12
2.4 Knowledge model
Knowledge model focuses on characteristics of a
developer.
Lij(?) Amount of knowledge gained through
executing an activity
bij developers knowledge level
Kij Maximum of amount of knowledge gained
through executing an activity
? The required knowledge level to execute the
activity
Knowledge level
T bij ? Lij is small
T gt bij ? Lij is large
T ? bij ? Lij is zero
Its too difficult
Its a little difficult
Its easy
Knowledge level
little Learning
much Learning
no Learning
Knowledge model shows the amount of knowledge
gained through executing an activity.
13
3. Simulating productivity progress 3.1
Outline
We try to simulate the completion date using the
proposed model.
  • Simulation procedure
  • Step1 Initialization of the parameters time t
    0,
  • Step2 Choice of an activity and calculation of
    Pij (?) Lij (?)
  • Step3 Update sub-models
  • Step4 Judgment of finishing the simulation
  • ScenarioTwo developers design the same software
  • Developer(1) high knowledge level difficulty in
    learning new skills.
  • Developer(2) low knowledge level easily learns
    new skill.

14
3.2 Simulation procedureStep1 Initialization
The parameters of the model are initialized to
suit the scenario, total work time t 0.
  • Developer(1) high knowledge level difficulty in
    learning new skills. (bij150, Kij1, Eij0.01)

Lij
Amount of knowledge gained
executing
Lij
Pij
Amount of knowledge gained
productivity
Developer(2) low knowledge level easily learns
new skill. (bij100, Kij10, Eij0.1)
Productivity Model
Knowledge model
15
Step2 Choice of an activity,calculation of Pij
Lij
TThe required knowledge level at time t
  • (1)Choice of an activity in the Activity model
  • (2)Calculation of productivity Pij (?)
  • (3)Calculation of amount of knowledge gained
    through executing an activity Lij (?)

Developer(1)Productivity at time t is Pij (?)
Developer(1) Amount of knowledge gained through
executing an activity at time t is Lij (?)
Pij (?)
Developers knowledge level bij
Knowledge level
Productivity
Developer(1)s learning curve
Lij (?)
Knowledge level
Time
Time
t
t
Developer(2)Productivity at time t is Pij (?)
Developer(2) Amount of knowledge gained through
executing an activity at time t is Lij (?)
Pij (?)
Knowledge level
Developer(2)s learning curve
Productivity
Developers knowledge level bij
Lij (?)
Time
Time
Knowledge level
t
t
16
Step3 Update of sub-models
  • The calculated Pij (?) is subtracted from the
    Activity model.
  • The Productivity model and Knowledge model is
    updated using the new bij.

New bij
Step2
Developer(1)
Lij (?)
Pij (?)
Update
Pij (?)
Knowledge level
Update
Knowledge level
New bij
Developer(2)
Lij (?)
Knowledge level
Pij (?)
Pij (?)
Update
Update
Knowledge level
17
Step4 Judgment of finishing the simulation
If the amount of the remained activity in the
Activity model is not zero, total work time t
t1 and go to Step2.
Time t t1
Step2
Step4
Step3
New choice of an activity
Pij (?)
Activity model
Lij (?)
The amount of the remained activity is zero.
Pij (?)
Time
Activity model
The simulation is finished. Time t is total work
time.
Lij (?)
Time
18
3.4 Simulation results of the scenario
The variations in productivity which was
influenced by the developers learning could be
clarified. As a result, the progress and the
total work time could be estimated.
Productivity
Progress()
133hours
229hours
Time(Hour)
  • Developer(1) high knowledge level difficulty in
    learning new skills. (bij150, Kij1, Eij0.01)
  • Developer(2) low knowledge level easily learns
    new skill. (bij100, Kij10, Eij0.1)

Time(Hour)
The gap between the two developers was clarified.
In early stage, developer(1) made higher
productivity and better progress. In late stage,
developer(2) made higher productivity and better
progress.
19
5.Summary
  • We proposed a new simulation model which is based
    the developers learning curve.
  • We tried to simulate a scenario using the model.
  • Future research
  • Evaluate the model using virtual software
    development projects.
  • Develop a model which includes interaction among
    developers knowledge in review of projects.

20
Future research Concept of evaluation
The evaluation is based on intuition and
experience of real life project managers.
Estimating
intuition
experience
Evaluating
Manager
Generalizing
Model
researcher
The proposed model was generalized based on the
managers intuition and experience. Therefore,
the model should be evaluated using the managers
intuition and experience.
21
Future research evaluation of the model
We will make a virtual project system in which
the researchers can evaluate the model with the
real life project managers.
Step2
Step1
What is project?
Determining a way of setting the parameter
Focusing
Tuning up
Step3.3
researcher
managers
Step3.1
Proposed model
comparing
Step3.2
Estimating the progress using their intuition and
experience
Expected progresses by managers
Simulated progress by the model
Virtual projects on Web pages
Write a Comment
User Comments (0)
About PowerShow.com