Monday, April 23, 2012

Scrum Product Backlog

Scrum has proved to be one of the most successful software methodology. In my current team we have been using Scrum for almost two years now. Most teams perform various Scrum events such as Sprint planning, Stand-up, Sprint Review etc. They also have a well planned Sprint Backlog but they lack a good Product Backlog. As mentioned in the Scrum Guide, Product Backlog is a very important artifact. However many teams lack it mainly because they may not know about what is a good backlog. Here is my attempt to describe its importance and value. Many have already talked about it here and here.

As mentioned in the scrum guide, product backlog is

"An ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product "

Product Backlog contains all features, functions, defects, enhancements that are required to be done in a product. For a software product, it means all the functional as well as non-functional requirements. This means that it needs to be updated regularly and should evolve over a period of time. Being a single source of all requirements, it becomes the single most important artifact of a Product.

What makes a good product backlog? One which has the following characteristics.
  • Detailed : Higher priority items are described in more details while lower priority items have less details until you can barely make out a product backlog item. The higher priority items will be worked upon in the upcoming sprints. As shown below, it follows the iceberg model.

  • Estimated: This means that stories are appropriately sized in terms of story points which is an estimate of relative complexity. This is best achieved through planning poker and is performed in backlog grooming session. Team should spend at most 10% of Sprint time on backlog grooming.
  • Emergent: Backlog is like a living entity. It grows and evolves. New items are added to the backlog and old items can be removed as more information becomes available.
  • Prioritized/Ordered: Stories or defects are prioritized by the Product Owner based on the business value and customer requirements. 
A good product backlog means following:
  • Good product backlog helps with effective Release Planning. Stories can be added to upcoming sprints which will constitute a release.
  • Good product backlog helps with Requirements Clarity. In my personal experience I have noticed that development team often complain about lack of clear requirements. As the team grooms backlog regularly, more details are added to the stories.
  • All these leads to Reducing Risk when delivering the product.
So if you are following Scrum but haven't paid attention to the Product Backlog, I strongly recommend making it one of your highest priorities.

Saturday, January 21, 2012

Peeking at Heavens

I have always wanted to see objects in space with a telescope. Finally I was able to satisfy that desire when I bought my first telescope in December 2011. With so many different types of telescopes available, the first challenge was to choose the telescope that was right for me as a beginner. I contacted some folks at Texas Astronomical Society and they advised me to go for reflector telescopes like Orion StarBlast 4.5 or the Dobsonion. I didn't want to buy a big telescope because it won't be easy to carry it around. Fortunately Orion  has good material and videos on their website which was very helpful in choosing the scope. So I decided to go for SpaceProbe 130ST.

The telescope arrived as scheduled. The assembly took two hours. Although it was straight forward, I had to pay close attention to each and every step. I had to learn about aligning the telescope to polar north; basically point the telescope to start Polaris. With the telescope ready, it was time to experience it. During winter months in northern hemisphere, planet Jupiter shines brightly. I use Google Sky Map on my android tablet to locate the stars and planets. If you don't have it, there are free star charts available on Astronomy.com web site. However using google sky map is much easier.

So in the evening we decided to see Moon and Jupiter from my backyard. My kids Shlok and Aneesh were more excited than me. I used finder scope to point to moon and when I looked through the eye piece, image was hazy. I knew something is not right. I point to Jupiter and same thing. Then it struck me that the eye piece has a nob to focus the lens. So I do that and Vow!! We could see the craters and slight elevations of the mountains. I pointed to Jupiter and Vow again!! We could see the two brown bends that Jupiter has. We could also see Jupiter's four moons. On that night, all moons were aligned in the straight horizontal line. It was an amazing view.

Overall it was a very satisfying experience. One thing to note is that the objects appear small through telescope and no where close to what you see in photographs. However the experience is still amazing. The next thing is to look at Mars and Saturn as they become visible in Spring.