SCRUM Sprint Planning Gone Wrong

One of the things that is a hallmark of the SCRUM method of Agile development is that you have a unit of time during which you commit to accomplishing some amount of work before that unit of time has elapsed. In order to commit to how much work should be accomplished during the “sprint”, all members of the team meet at the beginning of each sprint for a sprint planning meeting.

The purpose of a sprint planning meeting is to estimate the difficulty and complexity of completing each task that is in your list of potential work items. At the end of sprint planning, a subset of these items will be picked as the set of items that the team commits to completing by the end of the sprint. While this all sounds straightforward and simple to most people, I have been in some sprint planning meetings that lose their focus.

Since there are typically quite a few items to estimate during a sprint planning meeting, time spent discussing implementation and testing details should be kept to a minimum. The SCRUM Master is responsible for ensuring the meeting moves at a reasonable timeframe so that the sprint planning meeting does not exceed the scheduled timeframe, typically 1 hour.

There have been several sprint planning meetings I have attended that had members of the team determining how the issue would be resolved during the meeting, instead of just estimating the difficulty and complexity of the task. It would not be unusual to still be discussing the merits of the first task more than 30 minutes into the meeting. Unsurprisingly, the projects this team was supposed to deliver were always behind schedule if they were ever considered feature-complete.

Related Posts

Aug 21, 2014
4 minutes

Google Chrome Makes Web Developers Lazy

This post may make me sound ancient in the world of web development, but here it comes anyway.

Like Microsoft, Google has decided to implement functionality in their dominant browser that is incompatible with the other major competing browsers.

When I first started developing websites professionally, ensuring a website worked for 99% of the site’s visitors was easy, relatively, as you only needed to make sure the site worked in Internet Explorer 6. Obviously, there were a ton of random hacks and tricks required to deal with the quirks of this browser, but you were fairly safe knowing you had developed your site to be tailored to the browser of choice for your visitors. However, the dominance of Internet Explorer 6 was bound to come to an end and it ushered in an era of multiple popular browsers including Firefox and Chrome. With no single browser having a massive advantage in terms of users in all areas, web developers had to make sure that thorough testing of their sites was completed in each of the major browsers.

Apr 20, 2015
2 minutes

Handling Callbacks with a Depth-First Tree in JavaScript

One of the hardest things to do in JavaScript when working with complex data structures and a callback oriented platform is to know for sure when all of your callbacks have been fully executed. This issue came to light when working with a MongoDB datastore that was being used to store an infinitely-deep nested menu structure.

This menu structure could be visualized as being a tree. In order to get the all of the needed menu items from this tree, a depth-first traversal of the tree was determined to be the easiest to track. Since I typically try to write the least amount of code possible to solve a problem, I started out with a set of simple callbacks that worked perfectly as long as there was only one menu-item that had any children. As soon as I had multiple children to traverse, the timing of the execution of the final callback happened well before it should have as well as occurring again at the correct time, causing some unexpected results.

Mar 13, 2015
3 minutes

Never Explicitly Trust Software Because It Is Open-Source

One of the major ideas behind open source projects is that allowing anyone that wants to view the source code of a project to be able to do so should make bugs and security weaknesses easy to find. While this did not work so well with OpenSSL and its various bugs that have been exposed recently, I do have an example where it worked extremely well.

Magento is an eCommerce platform that has two separate editions. One is a completely open-source and free as in beer Community edition. The other is a somewhat expensive Enterprise Edition. There is a large community of Magento developers that create extentions, or addons, for these two editions of Magento.