SCRUM framework

From apppm
(Difference between revisions)
Jump to: navigation, search
Line 57: Line 57:
 
'''Development team''': The development team usually consist of 5-9 people where each member is referred to as a developer<ref name=Hanslo>Hanslo R. and Vahed A., Mnkandla E., ''"Quantitative Analysis of the Scrum Framework".'' Przybyłek A., Morales-Trujillo M. (eds) Advances in Agile and User-Centred Software Engineering, Business Information Processing, Springer Volume 376, (2020) </ref. Their collective responsibility is to work on user stories in the Sprint backlog hence deliver value to the customer. The composition of the developers reflects resources required to complete the tasks, thus it can be different professions such as designers, engineers, testers, analysts etc. <ref name=Hanslo>Hanslo R. and Vahed A., Mnkandla E., ''"Quantitative Analysis of the Scrum Framework".'' Przybyłek A., Morales-Trujillo M. (eds) Advances in Agile and User-Centred Software Engineering, Business Information Processing, Springer Volume 376, (2020) </ref  
 
'''Development team''': The development team usually consist of 5-9 people where each member is referred to as a developer<ref name=Hanslo>Hanslo R. and Vahed A., Mnkandla E., ''"Quantitative Analysis of the Scrum Framework".'' Przybyłek A., Morales-Trujillo M. (eds) Advances in Agile and User-Centred Software Engineering, Business Information Processing, Springer Volume 376, (2020) </ref. Their collective responsibility is to work on user stories in the Sprint backlog hence deliver value to the customer. The composition of the developers reflects resources required to complete the tasks, thus it can be different professions such as designers, engineers, testers, analysts etc. <ref name=Hanslo>Hanslo R. and Vahed A., Mnkandla E., ''"Quantitative Analysis of the Scrum Framework".'' Przybyłek A., Morales-Trujillo M. (eds) Advances in Agile and User-Centred Software Engineering, Business Information Processing, Springer Volume 376, (2020) </ref  
 
The development team responsibilities can be summarized as follows:
 
The development team responsibilities can be summarized as follows:
 +
*Owns the Sprint Backlog: The development team is self-organized and accountable for creating an execution plan for user stories in the sprint backlog and adapting their plan if necessary in order to reach Sprint goal while bringing value and quality in their tasks<ref name=Guide>Ken Schwaber & Jeff Sutherland, ''"The Scrum Guide - The Definitive Guide to Scrum: The Rules of the Game - 2020 edition".'' (2020) </ref>.
 +
*Defining the "Definition of done" (DoD): The definition of done can be viewed as a formal agreement between the developers and PO that states "what requirements, in addition to the user story's acceptance criteria, you need to fulfill to be done with the story"<ref name=Rossberg> Rossberg J., ''"Introduction to Scrum and Agile Concepts".'' Agile Project Management with Azure DevOps, Berkeley (2019) </ref>. In other words, it describes the requirements for when an user story in the backlog is completed and ready to be delivered to the customer<ref name=Lárusdóttir> Lárusdóttir M., Cajander Å., Erlingsdottir G., Lind T., Gulliksen J, ''"Challenges from Integrating Usability Activities in Scrum: Why Is Scrum so Fashionable?".'' Integrating User-Centred Design in Agile Development. Human–Computer Interaction Series. Springer,(2016) </ref>
 +
* Work cross-functional: It is encouraged that developers do not claim an area of expertise and stick to that. Ideally, every developer should be able to perform different tasks thus being involved in every aspect of the development process. This will prevent bottlenecks and hierachies in the team<ref name=Troels> Troels Jakobsen, ''"Scrum Done Right".'' Lean Agile Ltd, 1st edition(2019) </ref>
  
*Own the Sprint Backlog: The development team is self-organized and accountable for creating an execution plan for user stories in the sprint backlog and adapting their plan if necessary in order to reach Sprint goal while bringing value and quality in their tasks<ref name=Guide>Ken Schwaber & Jeff Sutherland, ''"The Scrum Guide - The Definitive Guide to Scrum: The Rules of the Game - 2020 edition".'' (2020) </ref>.
+
'''Scrum Master''': The Scrum Master acts like a facilitator of the Scrum setup including the PO and the Development team. They are often referred to "servant leader" of the team meaning that they lead by serving the team and being supportive<ref name=Troels> Troels Jakobsen, ''"Scrum Done Right".'' Lean Agile Ltd, 1st edition(2019) </ref>.  
*Defininf the "Definition of done" (DoD): The definition of done is can be viewed as a formal agreement between the developers and PO that states "what requirements, in addition to the user story's acceptance criteria, you need to fulfill to be done with the story"<ref name=Rossberg> Rossberg J., ''"Introduction to Scrum and Agile Concepts".'' Agile Project Management with Azure DevOps, Berkeley (2019) </ref>. In other words, it describes the requirements for when an item in the backlog is completed and ready to be delivered to the customer<ref name=Lárusdóttir> Lárusdóttir M., Cajander Å., Erlingsdottir G., Lind T., Gulliksen J, ''"Challenges from Integrating Usability Activities in Scrum: Why Is Scrum so Fashionable?".'' Integrating User-Centred Design in Agile Development. Human–Computer Interaction Series. Springer,(2016) </ref>
+
The Scrum master responsibilities can be summarized as follows:
 +
* Serving the Scrum framework: Promoting, establishing and maintaining the agile scrum best practices and rules within the team thus ensuring that the framework is implemented and used effectively\cite{Guide}. Practically, this is done by moderating Scrum activities <ref name=Weinreich > Weinreich R., Neumann N., Riedel R. and Müller E., ''"Scrum as Method for Agile Project Management Outside of the Product Development Area".'' Innovative Production Management Towards Sustainable Growth, Springer, vol 459, (2015) </ref>.
  
 +
- Serving the PO: To make sure that the product backlog is clear, the Scrum Master facilitate the PO with Product Goal definition and management and subsequently help the Scrum Team understand the items within the backlog.If needed, the Scrum Master can facilitate stakeholder collaboration\cite{Guide}. 
 +
- Serving the Development team: The Scrum master helps coaching the team in how to work as a cross functional and self-organizing team. Additionally, the Scrum master facilitate in value creation and efficiency of the team by removing obstacles in their way and ensuring productive Scrum events \cite{Guide}.
  
  
Line 95: Line 101:
  
 
<ref name=Lárusdóttir> Lárusdóttir M., Cajander Å., Erlingsdottir G., Lind T., Gulliksen J, ''"Challenges from Integrating Usability Activities in Scrum: Why Is Scrum so Fashionable?".'' Integrating User-Centred Design in Agile Development. Human–Computer Interaction Series. Springer,(2016) </ref>
 
<ref name=Lárusdóttir> Lárusdóttir M., Cajander Å., Erlingsdottir G., Lind T., Gulliksen J, ''"Challenges from Integrating Usability Activities in Scrum: Why Is Scrum so Fashionable?".'' Integrating User-Centred Design in Agile Development. Human–Computer Interaction Series. Springer,(2016) </ref>
 +
 +
 +
<ref name=Weinreich > Weinreich R., Neumann N., Riedel R. and Müller E., ''"Scrum as Method for Agile Project Management Outside of the Product Development Area".'' Innovative Production Management Towards Sustainable Growth, Springer, vol 459, (2015) </ref>
  
 
Lárusdóttir M., Cajander Å., Erlingsdottir G., Lind T., Gulliksen J. (2016) Challenges from Integrating Usability Activities in Scrum: Why Is Scrum so Fashionable?. In: Cockton G., Lárusdóttir M., Gregory P., Cajander Å. (eds) Integrating User-Centred Design in Agile Development. Human–Computer Interaction Series. Springer, Cham. https://doi.org/10.1007/978-3-319-32165-3_10
 
Lárusdóttir M., Cajander Å., Erlingsdottir G., Lind T., Gulliksen J. (2016) Challenges from Integrating Usability Activities in Scrum: Why Is Scrum so Fashionable?. In: Cockton G., Lárusdóttir M., Gregory P., Cajander Å. (eds) Integrating User-Centred Design in Agile Development. Human–Computer Interaction Series. Springer, Cham. https://doi.org/10.1007/978-3-319-32165-3_10
 +
 +
Castillo F. (2016) Agile-Scrum Project Management. In: Managing Information Technology. Springer, Cham. https://doi.org/10.1007/978-3-319-38891-5_8
 +
 +
Rossberg J. (2019) Introduction to Scrum and Agile Concepts. In: Agile Project Management with Azure DevOps. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-4483-8_3
 +
 +
Weinreich R., Neumann N., Riedel R., Müller E. (2015) Scrum as Method for Agile Project Management Outside of the Product Development Area. In: Umeda S., Nakano M., Mizuyama H., Hibino N., Kiritsis D., von Cieminski G. (eds) Advances in Production Management Systems: Innovative Production Management Towards Sustainable Growth. APMS 2015. IFIP Advances in Information and Communication Technology, vol 459. Springer, Cham. https://doi.org/10.1007/978-3-319-22756-6_69

Revision as of 15:16, 21 February 2021

Developed by Sana Ilyas


Scrum is an Agile framework that helps organizations, teams and people to generate value through adaptive solutions for complex problems [1]. The word Scrum originates from rugby to describe a formation of players in a complex game and were first introduced in the context of product development by Hirotaka Takeuchi and Ikujiro Nonaka in 1986 to increase speed and flexibility by implementing a cross functional team working in overlapping phases [2].

Taking inspiration from this formation, Scrum framework is founded on empiricism, proclaiming that knowledge is derived from experience and decision making based on the observed, and lean thinking which is designed to reduce waste and focus on the essential [1]. Together with the Agile manifesto for software development <refname=Manifesto> http://agilemanifesto.org/ </ref> , Scrum framework encourages iterative and incremental practices to deliver working software in dynamic environments. Unlike traditional Waterfall mythology, Scrum encourages not to have a defined scope but iteratively decide scope as the project progresses and to actively work in cross functional teams while regularly integrating end-users in order to constantly validate and prioritize outputs of the processes. Comparing the two methodologies using the Iron triangle, Waterfall have a fixed Scope and quality to be delivered while Scrum have a fixed time for when the project should finish along with fixed cost in terms of resources allocated[3] [1]

In order to understand and implement Scrum, the team must understand the 3 pillars and 5 values that serves as a roadmap for of Scrum:

3 pillars of Scrum[4]:

  • Transparency is an important pillar of the Scrum setup where the outcome and process are visible and clear to stakeholders involved in the project in order for them deliver what is agreed and to give feedback and approve the outcome.
  • Inspection is done frequently to avoid undesirable variances in the process and deliverable thus meeting the fixed release date.
  • Adaption refers to the ability to adjust to change in processes, scope or any relevant change discovered during inspection. By adjusting to change as soon as possible, the team minimize further deviation going forward .

5 Values of Scrum

  • Commitment
  • Focus
  • Openeness
  • Respect
  • Courage

Before implementing the Scrum framework, hte team must consider the following pre-requisites to ensure an successful implementation and application:

  • Scrum require an Agile mindset where flexibility, honesty and communication are at the center. Accepting the Agile manifesto means the lack of a detailed workplans, timelines and scope which can be a big change of mindset and the way a team works[5].
  • The project team must be committet to the values of Scrum
  • Scrum does not in particular tell you how to prioritize, estimate or plan. Figuring out how many hours each tasks requires includuing team velocity (number of stories or tasks the team can handle in 1 sprint) is to be determined by the team[4].


Contents

Scrum overview

What does Scrum look like

Scrum is a framework consisting of 6 artifacts, 5 roles and 4 activities.

Sprint: In a Scrum setup, the project is divided into short iterative cycles called Sprints that can vary in duration from weeks to months. Here, the focus lies on development of features in the Sprint Backlog to reach the Sprint goal. The output of the Sprint is partial product deliverables/features called increments that together form a possible shipable product. Although not all product features must be incorporated at the end of the sprint, however, the increments should be sufficient enough to be released as a functioning product[3]. A sprint can result in 1 or more increments, depending on the size and complexity of the Sprint backlog and team velocity.

  • Length: typically 1 week - 1 month (2 weeks recommended). Sprints lasting more than 1 month makes it difficult to make nimble adjustments and deploy working software [5]
  • Owner: Product owner - The Product owner have the authority to cancel a upcoming or ongoing sprint if the Sprint goal is no longer valueable
  • Outcome: Product increment that potentially can be relased

Product backlog and Sprint backlog: All project requirements are gathered in the Product backlog in the form of user stories which is to be defined, prioritized and developed during the project. For each sprint, selected features/user stories are transferred to the sprint backlog by the Scrum team and developed during the current sprint. Each user story is further sub-divided into smaller and more detailed items called tasks. To keep track of user stories and the progress of tasks, a Scrum board is used. It visualizes the user stories and the tasks for the current sprint and their development from backlog to Work in progress (WIP) to done. Through self management, the team assign tasks to each member and how this task is solved most efficiently. The responsibility for reducing the the sprint backlog relies on the entire team. In scrum mythology, this is refereed to as "owning" the sprint backlog[3] [1] [4]

\cite{Weinreich}.

  • Size: Depends on the project
  • Owner: PO owns Product backlog and Development team owns Sprint backlog
  • Outcome: Product Backlog containing all user stories to be developed in the entire project (with subject to change) and Sprint backlog containing user stories for the upcoming sprint

Scrum Team and roles

The Scrum team is a (small) cross functional team consisting of necessary resources, typically 10 or fewer people since smaller teams has proven to be more productive and have better communication[1]. Unlike many traditional teams, no hierarchy exist in the Scrum Team and they are self-managing meaning that the the team decide how to desing, build, test and deliver the user stories [1][5]

Following roles and associated responsibilities are assigned to members:

Product Owner (PO): The product owner represents the voice of the customer. He/she plays a big role in maximizing value throughout the project and therefore "owns" the Product Backlog. PO responsibilities can be summarized as follows: [4][1][5]: - Owns Product backlog: By taking ownership of the Product backlog, the PO is responsible for translating customer needs and ideas into features also called user stories that is put into the backlog. To do so, the PO needs to 1) express backlog items clearly to ensure that the development team understand what needs to be done 2) Get a user story ready for development together with the development team (clafifying and adding important details to user stories that are nessacary for the developers before they can initiate the development (DoR?) 3) prioritize user stories to meet the overall objective of the project including Product Goal. - Communication: The PO should be able to communicate with stakeholders outside the team and work closely with the team to ensure alignment between what is expected and developed. - Accepting and rececting increments: When an increment or user story is developed, it is the PO's responsibillity to either reject or accept it based on acceptence criterias. Acceptence criterias for each user story are often formed in collaboration with the developers and describes the functional requirements related to the story that must be fulfilled before it becomes a shippable product.

Development team: The development team usually consist of 5-9 people where each member is referred to as a developerCite error: Closing </ref> missing for <ref> tag.

  • Defining the "Definition of done" (DoD): The definition of done can be viewed as a formal agreement between the developers and PO that states "what requirements, in addition to the user story's acceptance criteria, you need to fulfill to be done with the story"[4]. In other words, it describes the requirements for when an user story in the backlog is completed and ready to be delivered to the customer[6]
  • Work cross-functional: It is encouraged that developers do not claim an area of expertise and stick to that. Ideally, every developer should be able to perform different tasks thus being involved in every aspect of the development process. This will prevent bottlenecks and hierachies in the team[5]

Scrum Master: The Scrum Master acts like a facilitator of the Scrum setup including the PO and the Development team. They are often referred to "servant leader" of the team meaning that they lead by serving the team and being supportive[5]. The Scrum master responsibilities can be summarized as follows:

  • Serving the Scrum framework: Promoting, establishing and maintaining the agile scrum best practices and rules within the team thus ensuring that the framework is implemented and used effectively\cite{Guide}. Practically, this is done by moderating Scrum activities [7].

- Serving the PO: To make sure that the product backlog is clear, the Scrum Master facilitate the PO with Product Goal definition and management and subsequently help the Scrum Team understand the items within the backlog.If needed, the Scrum Master can facilitate stakeholder collaboration\cite{Guide}. - Serving the Development team: The Scrum master helps coaching the team in how to work as a cross functional and self-organizing team. Additionally, the Scrum master facilitate in value creation and efficiency of the team by removing obstacles in their way and ensuring productive Scrum events \cite{Guide}.


Recipe for Scrum application

How to create a Product backlog:

  1. Plan a workshop where key stakeholders brainstorm user stories. Example of key stakeholders could be: end-users, experienced developers, business analysts, customer etc. Here you focus on the bigger picture and do not go into details.
  2. Brainstorming results are then broken down to user stories
  3. User stories are prioritized, typically by the PO. Prioritization can be done based on associated risks to each story an/or the business needs related to the project[4].

What is user stories, Acceptence criteria and their link User story: "As a *type of user", I want "a functionality", so I may have "a business value"[4] Example: As a user, I want to be able to log into the system using my login so that I can see an overview of my expenses" Note: - Does not contain details about functions and implementation - You can add user stories throughout the project and adjust stories if needed


Limitations and challenges

[8]

[1]

[2]

[3]

[4]

[5]

[9]

[10]


[7]

Lárusdóttir M., Cajander Å., Erlingsdottir G., Lind T., Gulliksen J. (2016) Challenges from Integrating Usability Activities in Scrum: Why Is Scrum so Fashionable?. In: Cockton G., Lárusdóttir M., Gregory P., Cajander Å. (eds) Integrating User-Centred Design in Agile Development. Human–Computer Interaction Series. Springer, Cham. https://doi.org/10.1007/978-3-319-32165-3_10

Castillo F. (2016) Agile-Scrum Project Management. In: Managing Information Technology. Springer, Cham. https://doi.org/10.1007/978-3-319-38891-5_8

Rossberg J. (2019) Introduction to Scrum and Agile Concepts. In: Agile Project Management with Azure DevOps. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-4483-8_3

Weinreich R., Neumann N., Riedel R., Müller E. (2015) Scrum as Method for Agile Project Management Outside of the Product Development Area. In: Umeda S., Nakano M., Mizuyama H., Hibino N., Kiritsis D., von Cieminski G. (eds) Advances in Production Management Systems: Innovative Production Management Towards Sustainable Growth. APMS 2015. IFIP Advances in Information and Communication Technology, vol 459. Springer, Cham. https://doi.org/10.1007/978-3-319-22756-6_69


Cite error: <ref> tags exist, but no <references/> tag was found
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox