The Sprint Methodology in Agile Project Management

From apppm
(Difference between revisions)
Jump to: navigation, search
(Data Science Sprints)
Line 39: Line 39:
 
==Application==
 
==Application==
  
===Data Science Sprints===
+
===Data Science Life Cycle===
  
  
Line 54: Line 54:
 
Reference:
 
Reference:
 
chp 12. Using a Data Science Life Cycle (Doug 2016)
 
chp 12. Using a Data Science Life Cycle (Doug 2016)
 
 
 
 
 
 
  
 
===Sprint Meetings===
 
===Sprint Meetings===

Revision as of 00:43, 19 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, also known as Waterfall project management, 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].

Having planned the sprint, the latter is now ready to begin. What characterises sprints, besides being short iterations of maximum four weeks, is that no external interference should influence the work of the scrum team, which also means that project requirements cannot be changed during a sprint. In general, it is recommended to hold short, daily stand-up meetings known as scrum meetings of 15 minutes during a sprint, where relevant matters such as what has been done since last scrum meeting and what will be done within next scrum meeting can be discussed. The purpose of these daily meetings is to hold track of how the project is progressing, which can help the scrum master keeping track of the team and ensure as efficient a sprint as possible [4]. The meetings are short and informal leaving no room for problem solving or thorough explanations, hence the importance of standing up during these meetings, which can help the team being focused and removing obstacles to progress [2]. Within data science project, a number of five additional meetings are recommended to be held within each sprint. These meetings will be discussed further in the Application section. After each sprint is finished, it is reviewed during the sprint review meeting. Here, the sprint product is demonstrated to the product owner.


Application

Data Science Life Cycle

Figure 3: Data Science Life Cycle

DSLC Life cycle - link to adaptive life cycles.

"The DSLC is about making sure you concentrate on the six areas: Identify, Question, Research, Results, Insights, and Learn."

opposite of waterfall


Reference: chp 12. Using a Data Science Life Cycle (Doug 2016)

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: Data Science Sprint Meetings


























Limitations

- Is the risk really always minimised?

- Are there other risks combined with APM?

- what are the limitations/pitfalls to running sprints?


References:

Avoiding Pitfalls in Delivering in Data Science Sprints (Doug, 2016)

RISKS CHARACTERISTIC OF AGILE PROJECT MANAGEMENT METHODOLOGIES AND RESPONSES TO THEM (WALCZAK, 2013)

Annotated Bibliography

References

  1. 1.0 1.1 1.2 Rose D. (2016) Working in Sprints. In: Data Science. Apress, Berkeley, CA
  2. 2.0 2.1 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 4.4 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