I am trying to get my head around the Evidence Based Scheduling (EBS) approach used in FogBugz and I have read Evidence Based Scheduling several times.
What I do understand is the general idea, why Monte-Carlo is used, and so on ...
And I can also calculate the extrapolation of an estimation by using the factor's of the past stories. So far, so good.
Question 1
The question I have is: How do I calculate the probability distribution for more than one story? I.e., I want to know when five stories will be finished.
May I just add up the 10% values, the 20% values, ..., and finally the 100% values?
To give an example:
- I know that story 1 is estimated as 4 hours, and its probability distribution tells me that 0% is 3 hours, 25% is 4 hours, 50% is 4 hours, 75% is 5 hours, and 100% is 9 hours.
- I know that story 2 is estimated as 6 hours, and its probability distribution tells me that 0% is 4 hours, 25% is 6 hours, 50% is 6 hours, 75% is 7 hours, and 100% is 13 hours.
If I now want to know the probability distribution of story 1 and 2, may I just add them, so I get:
- 0%: 7 hours
- 25%: 10 hours
- 50%: 10 hours
- 75%: 12 hours
- 100%: 22 hours
Is that all I need to do? Or is it something more complicated?
Question 2
My other question is how to calculate the end time for multiple tasks when there is more than user involved, but I do not know in advance which user will work on what story. As long as I know that assignment, it's quite easy: Calculcate the sum of stories for each user, and then take the latest one as an overall-time (if one finishes after 3 weeks, the other after 5 weeks, the total project will take 5 weeks).
But what if I don't know in advance, and not every user is able to work on every story? E.g., I have put competencies onto stories, such as front-end, back-end, ... and I have assigned competencies to my users, so there may be developers for front-end, for back-end, ... and so on.
Of course there may be stories which require multiple competencies, which in return requires work from multiple users. But they will be working on different things and require different times for finishing their tasks. And this again depends on the probability distribution: If one has a run, he might finish earlier than if he didn't have. This may influence on what he will work next, whom he may assist, and so on ...
Any idea of how I could calculate this?