New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Vikas Hazrati on May 04, 2010
Backlog grooming, as the name suggests, is giving regular care and attention to a product backlog so that it does not get ugly and unwieldy like an unattended garden with weeds. Though it is not a formal process of Scrum, however, Ken Schwaber recommended reserving five percent of every sprint for this activity. A recent discussion on the Scrum Development group, highlighted the advantages, disadvantages and reservations about the process.
Charles Bradley suggested that for their team, the best time to do backlog grooming was three business days prior to the start of the next sprint and with the entire team. Charles listed the following benefits of backlog grooming
Mark responded that he could see multiple problem areas with the approach. According to Mark, this would divert the attention of the team to focus on new work rather than completing the stories in the current sprint. He added that if the entire team is involved in the process of grooming then it might have a toll on the current sprint. Mark reiterated that spending too much time on the grooming session is counter productive and these meetings should not be seen as design meetings. The idea is to have just sufficient detail about the stories so that the planning meeting can be productive.
Likewise, Adam Sroka suggested that though he does not find issues in having another meeting before the planning meeting so that the planning meeting goes well, but a team should not increase the net time on planning. The rule of 4 hours of planning per 2 week sprint should be adhered to. Using grooming as a coverup, teams might want to fix the inefficiencies of their sprint planning meeting, which is not correct.
Responding to the reservations about the grooming sessions, Jim Schiel suggested,
I certainly understand that concern that we're taking people away from coding a few times during the Sprint, but 1) allowing people a little time to turn their thoughts to the future is a good thing -- sometimes, thinking about something different helps them focus more effectively when they return to their tasks and 2) discussing the stories that are coming up is a very effective way to give the team a heads up to problems that will need solving in the next Sprint Planning meeting.
Jim further added that he likes to run the grooming sessions throughout the sprint and not towards the end. He recommended running the session once a week for a few hours.
Ron Jeffries agreed with the idea that spending a few hours in the current sprint for backlog grooming should not affect the developer productivity and in fact should be helpful for the team.
Summarising the direction in which the group was headed, Jussi Menonen added that having a grooming meeting was very helpful in their case.
We have tried to groom and gather the requirements during the sprint planning but it just did not work. We never got enough details out and too often ended up implementing the wrong thing.
Since they were spending too much time in the planning meeting and often implementing wrong behavior they went on the path of having a one hour grooming session in the middle of the sprint. This seems to be working for them.
Roman Pichler mentioned the strong advantage of having the entire team involved. According to Roman,
Grooming the product backlog collaboratively creates a dialogue within the Scrum team and between the team and the stakeholders. It removes the divide between “the business” and “the techies.” It eliminates wasteful handoffs, and avoids miscommunication and misalignment. Requirements are no longer handed off to the team; the team members coauthor them. This increases the clarity of the requirements, leverages the Scrum team’s collective knowledge and creativity, and creates buy-in and joint ownership.
Thus, there is a general consensus that the grooming sessions should be conducted and that the entire team should be involved. Caution is advised against keeping these sessions too long. The suggested time limit is not more than a couple of hours per week.
18 agile and lean practices for effective software development governance
A practical guide to choosing the right agile tools
Maximize your business-responsiveness with Mingle. Provide your global development team a shared space that adapts to the way they work.
(Charles Bradley here, quoted in the article)
1. Since the above referenced discussions occurred, the Scrum Guide has been updated to explicitly encourage backlog grooming. From the Scrum Guide:
"Product Backlog item estimates are calculated initially during Release Planning, and thereafter as they are created. During Product Backlog grooming they are reviewed and revised. However, they can be updated at any time."
(Optional) "Tip :Teams often spend 10% of each Sprint grooming the product backlog to meet the above definition of the Product Backlog. When groomed to this level of granularity, the Product Backlog items at the top of the Product Backlog (highest priority, greatest value) are decomposed so they fit within one Sprint. They have been analyzed and thought through during the grooming process. When the Sprint Planning meeting occurs, these top priority Product Backlog items are well understood and easily selected."
2. I've written a couple of articles on backlog grooming with lots and lots more details.
See www.scrumcrazy.com/tag/view/backlog+grooming
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
1 comment
Watch Thread Reply