The Sprint Methodology in Agile Project Management

From apppm
(Difference between revisions)
Jump to: navigation, search
Line 30: Line 30:
 
[[File:scrums.png|thumb|right|451x418px|Figure 2: Scrum Activities]]
 
[[File:scrums.png|thumb|right|451x418px|Figure 2: Scrum Activities]]
  
 +
At the beginning of the project, the scrum team, the scrum master and the product owner all meet together to kick it off. At this kick-off meeting, the high-level backlog for the project and its major goals are defined by the team. When these are defined, the same participants all meet again at the beginning of each sprint for a sprint planning meeting. Here, they define the product backlog, also known as the project requirements, and they determine the sprint goal, which is the formal outcome of the sprint. Having defined these two main parts, the participants consequently create the sprint backlog. These sprint planning meetings usually take up to a day <ref name=" Scrum " />.
  
 +
"Once the sprint planning meeting has been held, the sprint can begin. Sprints differ from phases in a traditional project in that sprints are limited to a month-long iteration cycle in which time the functionality of the product is further developed. Another differentiating factor is that during a sprint, no outside influence should be allowed to interfere with the work of the Scrum team. This has several potential implications with the most important being that project requirements cannot be changed during a sprint.
 +
In many projects, but not all, each sprint begins with a daily Scrum meeting. This meeting, typically lasting no more than 15 minutes, is held every day between the Scrum master (who chairs the meeting) and the Scrum team. In this meeting, every team member briefly answers three questions:
 +
(1) What did you do since the last Scrum?
 +
(2) What are you doing until the next Scrum?
 +
(3) What is stopping you getting on with your work?
 +
While it might not be evident, the daily Scrum is not a problem solving session and is not really designed to be a way of collecting information about who (or what) is behind schedule. Instead, the purpose of the daily Scrum is to both track the progress of the team as well as allow team members to make commitments to each other and the Scrum master so that work can proceed in the most expedient and unimpeded manner. The sprint review meeting is held at the end of each sprint. During the meeting, the functionality that was created during the sprint is demonstrated to the product owner. Perhaps what most differentiates this meeting from a meeting in traditional project management is that this meeting should be informal and not be a distraction for the
 +
Agile project management
 +
team members."
  
 
Why sprints/scrum/agile?
 
- feedback loop - regular and continuous feedback - "fail fast" and gain value. Destroy unviable products and focus on the ones showing results
 
- fast developing technology, companies need to remain competitive and to do that they must be agile, easily adaptable and reacting fast to change
 
- working in sprints allow more agile projects making it easier to adapt to change
 
  
 
Intensity maintained by daily stand-up meetings or scrums. Standing up is important because it tends to keep the meeting short (15–20 minutes is the maximum) and focused on removing barriers or obstacles to progress. (Harvey)
 
Intensity maintained by daily stand-up meetings or scrums. Standing up is important because it tends to keep the meeting short (15–20 minutes is the maximum) and focused on removing barriers or obstacles to progress. (Harvey)

Revision as of 23:09, 18 February 2018

Contents

Abstract

Breaking down projects into smaller parts is paramount to being adaptive and agile as well as for maintaining the interest and momentum towards stakeholders [1]. Working in sprints facilitates a quick and continuous review of results allowing regular feedback and thereby keeping on the right path towards a successful project for all parties involved. This eventually also helps ensuring that the project continues being profitable, which can be critical towards the funding of the project [1]. This short-term iterativeness thus challenges the traditional way of conducting projects, which is characterised by more robustness and formalities involving very thorough preliminary planning as well as the need for formal acceptance of the project from management and thereto funding [2]. Sprints are part of the agile project management framework called scrum, which is typically applied within IT and software development processes. IT and software development projects are affected by the constant technological development and a very competitive market, which makes agile project management an evident way of managing these projects, as it responds to high levels of change and uncertainty [3] [4].

This article investigates relevant aspects of the agile project management methodology, known as sprints, within data science projects. It provides concrete and hands-on recommendations to project managers of data science projects who are about to plan and conduct sprints with their team.

Sprints

Motivation

According to PRINCE 2, a project is "a temporary organization that is created for the purpose of delivering one or more business products according to an agreed Business Case."[5]. To deliver such business products, a project needs to be managed with respect to many aspects such as costs, timescales, quality, scope, risks and benefits. PRINCE 2 thus defines project management as "the planning, delegating, monitoring and control of all aspects of the project, and the motivation of those involved, to achieve the project objectives within the expected performance targets for time, cost, quality, scope, benefits and risks."[5].

Projects go through a series of phases, also known as a project's life cycle. These phases can differ from project to project but are typically broken down by deliverables or milestones. Generically, the phases can, according to the PMBOK® Guide, be summed down to the starting of the project, the organizing and preparing, the carrying out of project work and eventually the closing of the project [3].

In the traditional predictive life cycle, the products and projects' deliverables are clearly defined at the beginning with little room for changes in the scope of the project without needing careful managing. The project scope, costs and time are thus defined as early in the process as possible. This requires that a project is definable within all its aspects at an early stage and is characterised by low levels of change. However, some projects are characterised by such an amount of uncertainty that the early defining of aspects like project scope, cost and time simply is too difficult. This is where agile project management (APM) and the adaptive life cycles become relevant [3].

Taking offset in agile software development, agile project management takes emphasis in two main concepts. These two concepts help defining how project teams can adapt rapidly to these unpredictable and changing requirements and environment. First, risk is minimized when the team focuses on short iterations with clearly defined deliverables. Secondly, the feedback loop created by these short iterations facilitates the direct communication with partners during the development process avoiding unnecessary documentation and bureaucracy [4].

Scrum and Sprint Management

Adaptive life cycles are characterised by very rapid iterations of approximately 2-4 weeks, which are each fixed in time and costs. In the beginning of each of these iterations, the product backlog list, which is defined by the decomposition of the overall project scope, is reviewed in order to determine, which of the items that can be delivered within the next iteration [3].

Figure 1: Agile Project Management Frameworks

Within agile project management, there exists a large number of different frameworks that can be used. Three of the most frequently used ones, namely the scrum, lean and kanban frameworks, are illustrated on figure 1. This article focuses on how data science teams can apply the adaptive method called sprints to their projects, which is part of the APM framework called scrum. The scrum is mainly used within IT projects but is also applied within product development projects [1].

The scrum consists of three major components: the roles, process and artifacts. The team working on the scrum is cross-functional and working full-time on the project. The scrum process counts five overall activities: the kickoff, the sprint planning meeting, the sprint, the daily Scrum, and the sprint review meeting, which all can be seen on figure 2 [4].

Figure 2: Scrum Activities

At the beginning of the project, the scrum team, the scrum master and the product owner all meet together to kick it off. At this kick-off meeting, the high-level backlog for the project and its major goals are defined by the team. When these are defined, the same participants all meet again at the beginning of each sprint for a sprint planning meeting. Here, they define the product backlog, also known as the project requirements, and they determine the sprint goal, which is the formal outcome of the sprint. Having defined these two main parts, the participants consequently create the sprint backlog. These sprint planning meetings usually take up to a day [4].

"Once the sprint planning meeting has been held, the sprint can begin. Sprints differ from phases in a traditional project in that sprints are limited to a month-long iteration cycle in which time the functionality of the product is further developed. Another differentiating factor is that during a sprint, no outside influence should be allowed to interfere with the work of the Scrum team. This has several potential implications with the most important being that project requirements cannot be changed during a sprint. In many projects, but not all, each sprint begins with a daily Scrum meeting. This meeting, typically lasting no more than 15 minutes, is held every day between the Scrum master (who chairs the meeting) and the Scrum team. In this meeting, every team member briefly answers three questions: (1) What did you do since the last Scrum? (2) What are you doing until the next Scrum? (3) What is stopping you getting on with your work? While it might not be evident, the daily Scrum is not a problem solving session and is not really designed to be a way of collecting information about who (or what) is behind schedule. Instead, the purpose of the daily Scrum is to both track the progress of the team as well as allow team members to make commitments to each other and the Scrum master so that work can proceed in the most expedient and unimpeded manner. The sprint review meeting is held at the end of each sprint. During the meeting, the functionality that was created during the sprint is demonstrated to the product owner. Perhaps what most differentiates this meeting from a meeting in traditional project management is that this meeting should be informal and not be a distraction for the Agile project management team members."


Intensity maintained by daily stand-up meetings or scrums. Standing up is important because it tends to keep the meeting short (15–20 minutes is the maximum) and focused on removing barriers or obstacles to progress. (Harvey)

Application

Data Science Sprints

Figure 3: Sprint Meetings









Sprint Meetings

In order to run scrums efficiently, it is necessary to manage sprints carefully. A way to ensure that the sprint is on track is to hold regular meetings. For data science teams it is recommended to run five different types of meetings during a sprint. These five meetings are as follows:

• Research Planning

• Question Breakdown

• Visualization Design

• Storytelling Session

• Team Improvement

The meetings are to be held in the same order for every sprint, as is illustrated on figure 4. These five types of meetings have different purposes and they all together ensure that every phase of a sprint is covered properly.

Starting with the first sprint meeting, namely the Research Planning meeting,


Explain each meeting type and purpose of them

Explain the relevance and use of Burndown charts (typical for sprints)

Figure 4: Sprint Meetings

Limitations

Annotated Bibliography

References

  1. 1.0 1.1 1.2 Rose D. (2016) Working in Sprints. In: Data Science. Apress, Berkeley, CA
  2. Maylor H. (2010) Project Management. In: Financial Times Prentice Hall
  3. 3.0 3.1 3.2 3.3 Project Management Institute (2013) A Guide to the Project Management Body of Knowledge (PMBOK® Guide). In: Project Management Institute
  4. 4.0 4.1 4.2 4.3 H. Frank Cervone (2011) Understanding agile project management methods using Scrum. In: OCLC Systems & Services: International digital library perspectives
  5. 5.0 5.1 Office Of Government Commerce (2009) Managing Successful Projects with PRINCE2™. In: TSO
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox