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,171