agile release planning steven jol. overview (1) release planning: release planning deals with...

13
Agile Release Planning Steven Jol

Upload: pierce-jacobs

Post on 30-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

Agile Release Planning

Steven Jol

Page 2: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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).

Page 3: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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.

Page 4: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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).

Page 5: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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

Page 6: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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

Page 7: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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.

Page 8: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

PDD (1)

Page 9: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

PDD (2)

Page 10: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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.

Page 11: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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.

Page 12: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

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.

Page 13: Agile Release Planning Steven Jol. Overview (1) Release planning: release planning deals with selecting a set of requirements for a certain release (Karlsson,

Questions?