Burndown chart

Last updated
A sample burn down chart for a completed iteration, It will show the remaining effort and tasks for each of the 21 work days of the 1-month iteration. SampleBurndownChart.svg
A sample burn down chart for a completed iteration, It will show the remaining effort and tasks for each of the 21 work days of the 1-month iteration.

A burndown chart or burn down chart is a graphical representation of work left to do versus time. [1] The outstanding work (or backlog) is often on the vertical axis, with time along the horizontal. A burn down chart is a run chart of remaining work. It is useful for predicting when all of the work will be completed. It is often used in agile software development methodologies such as Scrum. However, burn down charts can be applied to any project containing measurable progress over time.

Contents

Remaining work can be represented in terms of either time or story points (a sort of arbitrary unit). [2]

Burn charts can be used to present the project's team velocity. [3] Velocity is a measure that represents the productivity rate, within a predefined interval, for which deliverables are created, validated and approved. [3]

Reading burn down charts

A project burn down chart Burn down chart.png
A project burn down chart

A burn down chart for a completed iteration is shown above and can be read by knowing the following: [4]

X-AxisThe project/iteration timeline
Y-AxisThe work that needs to be completed for the project. The time or story point estimates for the work remaining will be represented by this axis. [3]
Project Start PointThis is the farthest point to the left of the chart and occurs at day 0 of the project/iteration.
Project End PointThis is the point that is farthest to the right of the chart and occurs on the predicted last day of the project/iteration
Number of Workers and Efficiency FactorIn the above example, there are an estimated 28 days of work to be done, and there are two developers working on the project, who work at an efficiency of 70%. Therefore, the work should be completed in (28 ÷ 2) ÷ 0.7 = 20 days.
Ideal Work Remaining LineThis is a straight line that connects the start point to the end point. At the start point, the ideal line shows the sum of the estimates for all the tasks (work) that needs to be completed. At the end point, the ideal line intercepts the x-axis showing that there is no work left to be completed. Some people take issue with calling this an "ideal" line, as it's not generally true that the goal is to follow this line. This line is a mathematical calculation based on estimates, and the estimates are more likely to be in error than the work. The goal of a burn down chart is to display the progress toward completion and give an estimate on the likelihood of timely completion.
Actual Work Remaining LineThis shows the actual work remaining. At the start point, the actual work remaining is the same as the ideal work remaining but as time progresses, the actual work line fluctuates above and below the ideal line depending on this disparity between estimates and how effective the team is. In general, a new point is added to this line each period (for example in Scrum each day for a sprint backlog or each sprint for a release backlog). Its y-value is the sum of effort of remaining work after the past period. (This is in general not equal to subtracting recently completed amount of work from the last point, but only if the total work remained constant.)

Measuring performance

Actual Work Line is above the Ideal Work LineIf the actual work line is above the ideal work line, it means that there is more work left than originally predicted and the project is behind schedule.
Actual Work Line is below the Ideal Work LineIf the actual work line is below the ideal work line, it means that there is less work left than expected and the project is ahead of schedule.

The above table is only one way of interpreting the shape of the burn down chart. There are others. [2]

Removing variability in time estimates

One issue that may be noticed in burn down charts is that whether or not the Actual Work line is above or below the Ideal Work line depends on how accurate the original time estimates are. This means that if a team constantly overestimates time requirements, the progress will always appear ahead of schedule. If they constantly underestimate time requirements, they will always appear behind schedule. This issue is corrected by incorporating an efficiency factor into the burn down chart. After the first iteration of a project, the efficiency factor can be recalculated to allow for more accurate estimates during the next iteration. Some templates automatically calculate the efficiency as a project progresses. This can be used to identify areas/phases where inaccurate estimates consistently occur. [4]

Burnup chart

A burnup chart or burn-up chart is a diagram of complete work, and is sometimes used as an alternative to the burndown chart. Similar to the burndown chart, the burnup chart shows time on the horizontal axis and work completed on the vertical axis. The main difference is that the burnup chart starts on the bottom and rises as tasks are completed (opposite to the burndown chart). Another difference is that burnup charts usually have a line representing total work. [5] Similarly to burndown charts, the work can be measured in several ways, like for instance using time or story points.

See also

Citations

  1. Project Management Institute 2021, §4.6.6 Visual Data and Information.
  2. 1 2 "Feel The Burn, Getting the Most out of Burn Charts - Better Software, Volume 11, Issue 5, pp. 26-31" (PDF). July–August 2009.
  3. 1 2 3 Project Management Institute 2021, §2.7.3.3 Visual Controls.
  4. 1 2 Wenzel, Joel (December 2012). "Burn Down Chart Tutorial: Simple Agile Project Tracking". Archived from the original on 2013-07-07. Retrieved 2011-06-14.
  5. Arafeen, Junaid; Bose, Saugata (September 2009). "Improving Software Development Using Scrum Model by Analyzing Up and Down Movements on The Sprint Burn Down Chart: Proposition for Better Alternatives". International Journal of Digital Content Technology and its Applications. 3 (3) via CiteSeerX.

Related Research Articles

<span class="mw-page-title-main">Gantt chart</span> Type of chart to show a project schedule

A Gantt chart is a bar chart that illustrates a project schedule. It was designed and popularized by Henry Gantt around the years 1910–1915. Modern Gantt charts also show the dependency relationships between activities and the current schedule status.

Software development is the process used to create software. Programming and maintaining the source code is the central step of this process, but it also includes conceiving the project, evaluating its feasibility, analyzing the business requirements, software design, testing, to release. Software engineering, in addition to development, also includes project management, employee management, and other overhead functions. Software development may be sequential, in which each step is complete before the next begins, but iterative development methods where multiple steps can be executed at once and earlier steps can be revisited have also been devised to improve flexibility, efficiency, and scheduling.

<span class="mw-page-title-main">Systems development life cycle</span> Systems engineering terms

In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an information system. The SDLC concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.

Agile software development is an umbrella term for approaches to developing software that reflect the values and principles agreed upon by The Agile Alliance, a group of 17 software practitioners in 2001. As documented in their Manifesto for Agile Software Development the practitioners value:

<span class="mw-page-title-main">Dynamic systems development method</span> Agile project delivery framework

Dynamic systems development method (DSDM) is an agile project delivery framework, initially used as a software development method. First released in 1994, DSDM originally sought to provide some discipline to the rapid application development (RAD) method. In later versions the DSDM Agile Project Framework was revised and became a generic approach to project management and solution delivery rather than being focused specifically on software development and code creation and could be used for non-IT projects. The DSDM Agile Project Framework covers a wide range of activities across the whole project lifecycle and includes strong foundations and governance, which set it apart from some other Agile methods. The DSDM Agile Project Framework is an iterative and incremental approach that embraces principles of Agile development, including continuous user/customer involvement.

In business and project management, a responsibility assignment matrix (RAM), also known as RACI matrix or linear responsibility chart (LRC), is a model that describes the participation by various roles in completing tasks or deliverables for a project or business process. RACI is an acronym derived from the four key responsibilities most typically used: responsible, accountable, consulted, and informed. It is used for clarifying and defining roles and responsibilities in cross-functional or departmental projects and processes. There are a number of alternatives to the RACI model.

In agile principles, timeboxing allocates a maximum unit of time to an activity, called a timebox, within which a planned activity takes place. It is used by agile principles-based project management approaches and for personal time management.

<span class="mw-page-title-main">Scrum (software development)</span> Management framework

Scrum is an agile team collaboration framework commonly used in software development and other industries.

A glossary of terms relating to project management and consulting.

In software engineering, a software development process or software development life cycle is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

The INVEST mnemonic for Agile software development projects was created by Bill Wake as a reminder of the characteristics of a good quality Product Backlog Item or PBI for short. Such PBIs may be used in a Scrum backlog, Kanban board or XP project.

A programming team is a team of people who develop or maintain computer software. They may be organised in numerous ways, but the egoless programming team and chief programmer team have been common structures.

ScrumEdge is a collaborative web-based scrum tool that allows agile development teams, ScrumMasters, and stakeholders to manage the Scrum lifecycle at the product and sprint levels.

Velocity is a metric for work done, which is often used in agile software development.

The following outline is provided as an overview of and topical guide to project management:

<span class="mw-page-title-main">Kanban board</span> Display of work at stages in a process

A kanban board is one of the tools that can be used to implement kanban to manage work at a personal or organizational level.

Disciplined agile delivery (DAD) is the software development portion of the Disciplined Agile Toolkit. DAD enables teams to make simplified process decisions around incremental and iterative solution delivery. DAD builds on the many practices espoused by advocates of agile software development, including scrum, agile modeling, lean software development, and others.

Scrumban is an Agile aligned approach to product delivery which is a hybrid of Scrum and Kanban. Scrumban was originally designed as a way to transition from Scrum to Kanban.

Agile learning generally refers to the transfer of agile methods of project work, especially Scrum, to learning processes. Likewise, agile learning proceeds in incremental steps and through an Iterative design which alternates between phases of learning and doing. The tutors rather have the role of a learning attendant or supporter. In a narrower sense, it is intended to allow competence-oriented, media-based learning in the work process within companies. In addition, the term can take several other meanings and is also often used within e-learning and online environments.

Distributed agile software development is a research area that considers the effects of applying the principles of agile software development to a globally distributed development setting, with the goal of overcoming challenges in projects which are geographically distributed.

References

Further reading