NetLogo banner

Home
Download
Help
Resources
Extensions
FAQ
NetLogo Publications
Contact Us
Donate

Models:
Library
Community
Modeling Commons

Beginners Interactive NetLogo Dictionary (BIND)
NetLogo Dictionary

User Manuals:
Web
Printable
Chinese
Czech
Farsi / Persian
Japanese
Spanish

  Donate

NetLogo User Community Models

(back to the NetLogo User Community Models)

[screen shot]

Download
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".(The run link is disabled for this model because it was made in a version prior to NetLogo 6.0, which NetLogo Web requires.)

## WHAT IS IT?

This agent based model simulates an n-step Kanban process, i.e. a pull system with n activities and limited work in progress (WIP).

## HOW IT WORKS

The input of the model are demands taken out of a demand pool.
The developers are onyl skilled in one activity. If the developer is skilled in activity a he pulls finished demands of activity a-1 and starts working on it.
The developer does not pull a new demand if the WIP limit would be exceeded.
The time to process an activity is equal to the story point value of the demand times a given effort factor.

While a developer is working on a demand a link between the developer_s agent and the demand is shown to make the visible part more interesting.

The delivery of an activity might not be accepted as input for the following activity (due to errors, missunderstanding, delays, etc.). In this case the activity is pushed back to the previous step and needs to be re-pulled by a develper of the previous step.
The rejected demands are indicated by a sad smiley.
The finished demands are indicated by a happy simley.

## HOW TO USE IT

To run the simulation the following input has to be provided:

* demand-pool: number of demands to be processed
* infinite-pool: if yes, the demand-pool will not diminish. I.e. when a developer pulls a demand, a new deman in the pool is created
* capacity-input: a list with the number of developers of each step able to process the n-th step
* wip-limit-input: a list with the WIP limits for each step/activity. Leave empty for no limits.
* error-rate: the rate of wich demands are rejected by the following step.
* sp-min, sp-max: Range of story points assigned to a demand

After setup of these parameters, press "setup" to initalize the model's world.
Press "go" to perform the whole simulation. Press "go one" to perform only one step.

## THINGS TO NOTICE

The following data is monitored:

* idle-time: total time (= ticks * developer) the developers were idle. The idle time results in additional costs of the model compared to a plain waterfall with zero buffer time.
* max-wip: The maximum number of demands that have been located in one activity at one time. max-wip cannot be bigger than wip-limit.
* cum-wip: Cumulated wip per activity
* ticks: total time neede to process all demands.

## THINGS TO TRY

Watch out the total time (=ticks) needed to complete the demands and the developer's idle time while changing the WIP limits. Leave the WIP limit field empty to run a simulaiton with unlimited WIP.

Try setups with bottlenecks - e.g. [10 1 5] developers. Run it with infiite demand pool and unlimited WIP to see a growing heap of waste after the first activity.

## EXTENDING THE MODEL

In the programming section (in the "go" procedure), there is a line of code uncommented to run the simultion with developers skilled in all activities. Then model yould be made more flexible by defining skillset per developer.

## NETLOGO FEATURES

The simulation uses many features of the NetLogo language: Agents, Agentsets, Patches, Links, Lists, Ticks, ...
Sometimes local variables are used to access variables of outer loops.

## RELATED MODELS

The simulation uses ideas out of many examples of the module library. However, I am not aware of any NetLogo simulation of software development processes.

## CREDITS AND REFERENCES

So far, it's my first try in NetLogo.
Mirko Blueming, mirko@blueming.de
Duesseldorf, 08.01.2012.

(back to the NetLogo User Community Models)