Agile Based 

Vs
Plan Based 

 

Based on Paper :

Using Simulation to Investigate Requirements Prioritization Strategies

Dan Port, Alexy Oklov (UH)  & Tim Menzies (WVU) 
ASE’2008

Agile Manifesto

(background)

Responding to change over following a plan

On this paper

Specifically

With very little machinery, can characterize:

  • when PB (plan-based) is better/worse than AG (agile)
  • If PB or AG or XYZ is appropriate for your particular project

The Model

Model

Alpha & Beta

Two kinds of “iterations”

Project iterations

  • Every so often, pause to consider what to do next
  • At each at pause, deliver Version1, version2, version3,..

Value iterations

  • Every so often, the value of our requirements change.
  • Assume that after $N
    There is a pause, and the value of each requirement is reassigned.
  • $N = ( total cost of base reqs ) / num_iters

For three of  simulations (AG, AG2, hybrid)

One value iteration for each project iteration

For conventional plan-based prioritization

Only one project iteration But numerous value iterations

x=requirements discovery: rate of new requirements
 

Requirements += Poisson( x )

 

  • Steps though 2 ≤ I ≤ 6 iterations of requirements review
    • B= base requirements at iteration one (max=25)
    • Early stopping probability of 1/(maxI^0.33) = 55%
    • Requirements unimplemented at each phase: 20%
  • Requirements
    • Value R x : min_value(30) … max_value(500)
    • Cost R x : min_cost(1) … max_cost(100)
    • Assumed to be nonvolatile

End development time is unknown Cao,Ramesh, IEEE software 2008 Experiments with volatile costs not insightful No inter- requirement dependencies

y =requirements volatility: rate of requirements changing value

 

Value += max(0, value + N(0,  ))

Alpha = x  

Betha = y

Performance Measures

Control parameters

  • Median new requirements discovered per iteration: 0.001 ≤ x ≤ 20
  • Requirements value volatility: 0.1% ≤ y ≤ 200%

 

Cumulative

  • Of = Optimal frontier- “after the fact” of ordering of all requirements
    Note: uses more information that available at any particular iteration represents maximum possible value.
  • Oi= Optimal initial: ordering the requirements using the initial values
  • Dynamism = Of - Oi (low if initial ordering is best requirements prioritization)

- Extreme strategies (PB,AG) fail for this medium case.

- AG2 and HY perform best

One trial results (1 of 3) medium dynamism

-Optimal initial = optimal frontier

- Expect: PB work best, AG worst

- Actual: HY/ PB best, both AGs worse

- And standard AG worst of all

One trial results (2 of 3) 

- Expect: PB work worst, AG best

- Actual: PB worst, standard AG needs some help

- AG2 or HY beats AG

One trial results (3 of 3) high dynamism 

- tb= total benefits

- tc = total costs

- Ben = benefit = tb - tc

- CB = tb/tc

- Int = integral= area under tb/tc curve

- FR = ratio of final to the optional frontier

1000 trial results

Conclusion:

Agile beats PB?

That is the wrong question

Better question(s)

  • What is the rate of new project requirements and value volatility?
  • What does the simulator say is the best combination of strategies for your domain?

In these studies

  • No strong case for either PB or AG
  • (which may not hold for your next project)

No more trite answers

Tune methods to local environments

  • Is anyone surprised?
    • Hybrid combinations do better than the obsessive application of diametrically opposed extremes.
  • How much of our time is spent debating needlessly polarized viewpoints?
    • plan vs agile
    • procedural vs object
    • model checking vs testing
    • etc
  • Of course large diverse teams will combine methods ,We should research those combinations
     
  • More coalition, less opposition

Challenge

Agile

By Coderain

Agile

  • 1,129