The Product Backlog

The Product Backlog is like a a wish list of requirements.  The Backlog is like a living list that is always changing as stories are added, prioritized and deprioritized daily.  It is the Product Owners job to keep the Product Backlog Items prioritized and constantly groomed to to allow maximum efficiency.

Not only is prioritization essential but story quality is essential too.  Stories that are well defined will be prioritized towards the top of the backlog.  Stories that are cumbersome and undefined will be held at the bottom of the backlog awaiting breakdown.

If we look at the Backlog as being an ice berg.  We all know that the largest part of the ice berg is under the water and the smallest part of the ice berg is above the water.  We can compare this to our Product Backlog.  Our largest stories are at the bottom and are therefor under the water line and are unable to be worked on.  The Smaller stories are above the waterline and are able to be broken down and worked on.  Once these smaller stories are completed, more work is brought up from the list, just like an ice berg!

In general, the product backlog is the ‘What’ of the system.  They are the functional requirements, non functional requirements and issues which are prioritized in order of importance to the business and then estimated.  It is important that the Product Backlog is prioritized and kept up to date frequently by the Product Owner to reflect any changes in business priority effectively.

Allan

Daily Scrum Mistakes.

After researching techniques that would improve my Daily Scrum.  I thought I would highlight some mistakes that can occur within a Daily Scrum Meeting that you can further improve to make your Daily Scrum more appealing.

I read an article on “Scrum from the Trenches” Daily Scrum Mistakes  that echo’s some of the sentiments felt by myself.

The first mistake that people often make are to over run the allocated 15 minutes.  This can cause people to lose focus on what the Daily Scrum meeting is truly about.

The second mistake that people make, and I myself allow this to happen on occasion, is that Team members are effectively Reporting Status to the Scrum master.  Many people look at the Scrum Master whilst giving their status rather than giving a status report to the whole team.  I try to not make eye contact with the person speaking as to avoid it being a status update aimed at myself, rather than to the whole team.  The Scrum Master is part of the team and holds no managerial authority, so therefore a status update should be aimed at the whole team and not just the Scrum master in general. 

Leading back to my first point about the allocated 15 minutes. Remember the Daily Scrum is a status meeting.  It is very easy for a Daily Scrum to become a design meeting when one person is describing difficulties that they are having.  The Scrum Master has to be aware of this and limit technical and design discussions.  encourage Team Members to take their discussions “offline” and discuss the possible solutions after the Daily Scrum. 

The best possible way to conduct the Daily Scrum is to have the attendees standing up.  If the Team are sitting down, they become more formalized and meetings tend to run over.  If the Team are standing the meeting becomes more efficient due to people wanting to have the meeting done and dusted quickly so that they can sit down again! 

One problem that I had in the past with my team was that we were always being drawn into design and technical meetings in our Daily Scrum.  The Scrum Master must be firm on this.  I see myself as a nice guy, but at the beginning I was too nice for my own good.  I was worried that continually interrupting these meetings, would see me as being labeled rude.  But I soon realised that the team were labeling the meetings as laborious as they continually over ran.  So therefore I had to step in and limit the design and technical discussions until after the meeting.

we now have a designated time where we allow converse with interested parties after the Scrum meeting where Team Members can gain clarification on requirements of discuss problems with other team members.  I would say that this has improved our efficiency overall as the Daily Scrum is useful again and not laborious.

Google Tech Talk. Agile Testing

Google Tech Talks
December 9, 2005

Elisabeth Hendrickson

ABSTRACT
As more teams are adopting Agile practices such as XP and Scrum, software testing teams are being asked to become “Agile” as well. But what does that mean? Is the Agile label yet another buzzword? Or could it be Agile practices are actually changing the way software is built? In this talk Elisabeth Hendrickson shares her perspective on how test teams can be more Agile based on her experiences working as a tester on Agile teams. Along the way, she’ll provide an overview of how Agile practices differ from traditional practices and discuss what those differences mean for independent test teams. Credits: Speaker:Elisabeth Hendrickson

Prioritizing :)

I have been on holiday from the world of Scrum for the past 3 days!  It has been a welcome break from the hustle and Bustle from the Scrum Team! 🙂

Without knowing it, I basically used Scrum to plan out my holiday.  As it was the first time I have been off this year, I had a list of things that I wanted to do with my time off.  All of which wouldnt fit into 3 days.  So therefore I put all of my tasks into a list and prioritized the list like a backlog and split the top priority activities out over 3 days (Sprint Backlog)

I managed to get all of my top priority interests completed and then I managed to pull in some activities that I thought I would not get round to.

There we have it, Scrum in Practice 🙂

Handling Bugs in an Agile Context

Handling Bugs in an Agile Context

This is an interesting article that was passed to me by a friend, thanks Mel!  The article is based around the handling of Bugs in Agile Development.  This has made me think about the way that my own team handle our Bugs.  As QA and Scrum Master for my Scrum Team i am always on the look out to improve my skills in QA.  Ill be taking some of the points contained in this article into account when performing QA on our team.

An important one is  “Done means implemented, tested, integrated, explored, and ready to ship or deploy. Done doesn’t just mean coded, Done means finished, complete, ready, polished."   This doesn’t only mean that the software works, looks good and performs the way it should, the software should be fully QA’d and known bugs fixed.

How to fit QA into Scrum

 I read an interesting article that addresses some of the problems that my own team has encountered with trying to fit QA into Scrum.  We have found that on some occasions coding new functionality for our site can take up a large part of the sprint, which can have a knock on effect on the time that QA has in the sprint.

We know that this isnt exacly the scrum way of doing things as we should be testing early in the iteration and leaving the testing till late on in the iteration can seem like a waterfall practice, but sometimes needs must.

The article below explains a process that my Scrum team has carried out.  We basically move our QA’ing of the stories into a separate story and have this prioritized in the next iteration thus allowing us to complete the QA without falling behind.

How to fit QA into Scrum

This also leads onto a future article on Automated testing in Scrum 🙂