Introduction


Projects inevitably carry uncertainty and for this reason, buffers are added to safeguard the project to avoid the outcome of the uncertainty. In critical chain scheduling,‍ there is a path and sequence of activities and iterations that are dependent on resources and rely on a logic of precedence that needs to be followed in order for a project to be completed in the earliest time. In order to avoid delays in projects, ‍ we require buffers which perform a pivotal role in ensuring projects are not delayed.

Buffers help protect the project from the impact of failure to meet the estimated schedule.For example failure to release a software as scheduled may mean total failure of the project or in this competitive world may mean the software is obsolete or beaten to the market by competitors. In practice you may be asked to commit to firm deadlines and functionality. Missing the deadline or delivering less than the defined functionality will damage the company's reputation.

Cohn (2006) is of the view that buffers cover the risk posed by errors during Agile Estimating. A good example given by Cohn is a schedule for a trip to catch a plane. Uncertainties in this case include the time to drive to the airport,.‍ In this case the departure time for the plane is fixed and wrong estimation of time results in missing the plane. Therefore in this case a buffer is necessary to overcome loss of time due to the highlighted uncertainties.

‍‍‍

Definition



A buffer can be defined as a boundary for inaccuracy around a project's estimate. This can be explained further as project that are characterised by a lot of uncertainties surrounding the delivery time and the requirements or user stories. In other to overcome estimation errors in time, allowances are added to activities and user stories are prioritised to enable early delivery and to focus on those features which the client or user considers to be essential or must have. These allowances or contingencies are known as project buffers.


Types of Buffers


There are several types of buffers but the two common types are namely the feature buffer and the schedule buffer. On projects normally a combination of buffers are used.

Feature buffers - The creation of this type of buffers is triggered where meeting the requirements is the main concern and there is a recognition that some features may not be delivered. In general, feature buffers provides security to projects which carries uncertainty with regards to their features. ‍‍This could be explained further by prioritisation of stories in Agile projects which enables the stories of the product that is considered more important to be delivered first and if time permits, the not so important stories can be worked on later (Cohn, 2006).

Projects carried out following the Dynamic Systems Development Method (DSDM) groups the features into four parts; Must have, Should have, Could have and would not have . This division allows a maximum of 70% of the scheduled project effort to be directed to 'Must Have' needs which in turn enables feature buffers to be created with the 30% left. If the project is running behind schedule, some items in the feature buffer can be dropped as this will allow the project to meet its schedule.

Schedule buffers- Schedule buffers offers security to projects in which uncertainty with regards to the schedule is involved. It is wise to move the activities buffers to one overall buffer at the end of the project to remove the impact of ‍‍ Parkinson's Law and Student syndrome‍‍. ‍‍The w‍or‍‍‍‍‍‍‍‍‍‍k expands to fill the available time according to Parkinson's Law and students syndrome refers to works being done at the last possible moment resulting in failure of the plan (Cohn, 2006).

Resource buffers;- resource buffers can be in the form of a budget to allow extra personnel to be added to the project to increase productivity in order to keep the project on track to achieve its objectives of being completed on time and budget. The resource buffer can also be known as the budget buffer or the personnel buffer where extra personnel is used to increase productivity.

Feeding Buffers:- as shown in the figure below feeding buffers are used to protect the critical path. No delays should be allowed on the non critical paths on a project because this will impact on the critical path resulting in delays on the whole project.

‍‍‍‍

Critical-Chain-Image_Buffer.png
Buffering Plans by ASTA Development

The figure above shows the positioning of the buffers. The feeding buffer protects the critical path and the project buffer protects the project duration.

Benefits of Buffering Plans

  • Buffering plans as a risk management technique helps to plan project far ahead in advance.
  • Buffering plans deals more with the overall estimate of the project instead of individual estimate for it to be more accurate.
  • Buffers helps to protect overall project deadlines ‍‍by assessing individual stories and estimates ‍‍.
  • B‍‍uffering plan allows the project team to know which tasks are deliverable‍‍.
  • Buffering plan allows the team members to structure their work and not be over committed. This helps reduce distractions whilst delivering iterations and supports the Lean Development Principles ‍‍‍‍which ensures an environment of high productivity.


Limitations of Buffering Plans


In terms of working out or calculating the buffer using the mathematical formula as suggested by (Cohn, 2006), It can sometimes give a wrong estimate in real life projects as the figures or data is based on notional figures.
Ordinal summation errors may occur because algebraic formulas are used to calculate buffers which tend to be statistically biased.
If the project has less than ten items it should not be planned with a buffer. The project buffer should be at least 20% of the overall project duration. A small buffer will not be adequate to protect the overall project.


Conclusion


In projects there is always going to be a high amount of uncertainty and normally it is not fully illustrated in the scheduling and the deadlines that the project team creates. At the beginning of projects when there is less clarity of information, then uncertainty is a major issue thus, actions should be taken when estimating the length of the project.The most used buffering plans are feature buffers and schedule buffers. A feature buffer involves arranging the requirements of products which will then set out which features will or may not be delivered. A schedule buffer is formed by comprising in the schedule an amount of time and effort that imitates the uncertainty that is essential in a teams’ size.Therefore a project should have a buffering plan that prevents feature uncertainty with a feature buffer and also prevent against schedule uncertainty by having a schedule buffer in place.


References

[1]
  1. ^ Beaver G.M (2007) Perfect Planning, Scrum alliance. Available at: http://bit.ly/am3gVx [Accessed ; 29 March 2012].
    Cohn, M. (2006) Agile Estimating and Planning. New Jersey : Prentice Hall. Available at: http://bit.ly/IPgAub [accessed/04 May 2012]
    Leach,L. (2009) Critical Chain Project Management Improves Project Performance. Available at: http://bit.ly/K1DS1X [Accessed ; 23 March 2012].
    Pich, M., Loch, C., Meyer, A. (2002) On Uncertainty, Ambiguity, and Complexity in Project Management. Management Science. (48). pp. 1008-1023
    Raz, T., Barnes, R., Dvir, D. (2003) A Critical Look at Critical Chain Project Management. Project Management Journal. (34). pp. 24-32
    Trietsch, D. (2005) The Effect of Systemic Errors on Optimal Project Buffers. International Journal of Project Management. (23). pp. 267-274
    Vonder, S., Demeulemeester, E., Herroelan, W. (2004) The use of Buffers in Project Management: The Trade-off Between Stability and Makespan. Department of Applied Economics. Belgium
    Willard. A, (2011) Using Asta Powerproject for critical chain and buffer management Available at http://bit.ly/ISzAr5 [Accessed 04 May 2012]