agile release planning steven jol. overview (1) release planning: release planning deals with...
TRANSCRIPT
Agile Release Planning
Steven Jol
Overview (1)• Release planning: release planning deals with selecting a set
of requirements for a certain release (Karlsson, Dahlstedt, och Dag, Regnell & Persson, 2003).
• Agile: emphasis is on building releasable software in short and fixed time periods (Dyba & Dingsoyr, 2008).
• Problem: value of requirements and development efforts are highly uncertain characteristics (Logue, McDaid, 2008).
Overview (2)• Solution: the agile release planning method is proposed to
improve release planning in agile development methods by allowing for these uncertainties (value, development effort/costs)
• Goal: helping decision makers in deciding which requirements or features to implement in a release.
• How?: this is done by evaluating a selection of requirements for a release plan to see if it fits the schedule and if it provides a satisfying business value.
Overview (3)• Authors: Kevin Logue and Kevin McDaid• researchers at the Dundalk Institute of Technology in Ireland.
• Origin: the method is build evolutionary, building on top of earlier models developed in cooperation with other authors (Logue, McDaid & Greer, 2007; McDaid et al., 2006).
Main phases• Roles: product owner and development team
• 1: User stories are identified• 2: Stories are split up in development tasks• 3: Estimations on business value of stories, project velocity
and size of the tasks are made.• 4: Product owner selects user stories for evaluation.• 5: Selection is evaluated• Output: probability the selection can be developed on time and a
satisfying business value can be achieved • 6: Product owner creates release plan
Example (1)• A small software company will release a financial mobile
application. • The company can work on the next release for eight sprints.
• Product owner identifies user stories.• 'As a user I want to set up a budget, so I can save money‘
• The development team splits stories into development tasks.• 'Develop new API' and 'Develop budgeting-module‘.
• The product owner makes an estimation of the business value of the stories, the size of the tasks and the project velocity.• Optimistic value, pessimistic value and a most-likely one
Example (2)• The product manager chooses a set of user stories.• Then, this selection is evaluated through the use of a
spreadsheet tool.• 2 tables: probability selection can be developed within a number
of sprints and certain business values can be achieved.
• Probabilities too low: product owner selects a different set of user stories.
PDD (1)
PDD (2)
Related literature (1)• Difference with Extreme Programming:• estimations on the project velocity, business value of stories and
the size of the tasks are not based on one, but on three parameters.
• Inspired by other techniques: 'schedule buffering' (Cohn, 2005) and 'fuzzy logic' (Ruhe & Shen, 2004).
• Schedule buffering: estimation of 50% (pessimistic) and 90% (most likely) of the size of each story.
• Fuzzy logic: development team has to provide minimum, maximum, and most likely values of task sizes. Possible release plans with varying degrees of business value and to what extent the resource constraints has been met are presented.
Related literature (2)• Overview of different strategic planning mode is made by
Svahnberg et al. (2010).• Three groups of models:• related to the EVOLVE-method• created by the Centre for Organization and Information at The
University of Utrecht • created by the SERG research group of the Lund University
• ‘Fuzzy logic’ is placed within the EVOLVE-method group.• EVOLVE: Takes account stakeholder priorities and effort
estimations and present a set of the most promising candidate solutions to incorporate in the next release.
• Input: for the model of Kang, Choi and Baik (2010): estimation of the concrete development costs of requirements.
References• Karlsson, L., Dahlstedt, Å., och Dag, J. N., Regnell, B., & Persson, A. (2003). Challenges in market-
driven requirements engineering-an industrial interview study. Proceedings of the Eighth International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ’02) , 101-112.
• Dyba, T., & Dingsoyr, T. (2008). Empirical studies of agile software development: A systematic review. Information and Software Technology, 50(9-10), 833-859.
• Logue, K., & McDaid, K. (2008). Agile Release Planning: Dealing with Uncertainty in Development Time and Business Value. Engineering of Computer Based Systems, 2008. ECBS 2008. 15th Annual IEEE International Conference and Workshop on the,437-442,. IEEE
• Logue, K., McDaid, K., & Greer, D. (2007). Allowing for Task Uncertainties and Dependencies in Agile Release Planning. 4th Proceedings of the Software Measurement European Forum (p. 275).
• McDaid, K., Greer, D., Keenan, F., Prior, P., Taylor, P., & Coleman, G. (2006). Managing Uncertainty in Agile Release Planning. Proc. 18th Int. Conference on Software Engineering and Knowledge Engineering (SEKE’06), 138-143.
• . Ruhe, G., & Shen, W. (2004). Release planning under fuzzy effort constraints. Cognitive Informatics, 2004. Proceedings of the Third IEEE International Conference on (pp. 168-175). IEEE.
• Svahnberg, M., Gorschek, T., Feldt, R., Torkar, R., Saleem, S. B., & Shafique, M. U. (2010). A systematic review on strategic release planning models. Information and Software Technology, 52(3), 237-248.
Questions?