Archive

Archive for the ‘scrum’ Category

You don’t believe workers can self-organize. Think again. Even 8 year-old kids can do it!

January 18th, 2010 Martin Proulx 2 comments

The Experiment

Picture made available by daedriusI attempted a small experiment with my kids a few weeks ago – get them to voluntarily help clean the house. If you have children between 7 and 10 year-old, I’m pretty sure having your kids help with cleaning is nothing short of a nerve-wrecking experience. If you don’t have kids, the process typically goes like this:

  • You – “Timmy, can you please pick up the toys in your room.”
  • Timmy – “Why?”
  • You – “Because your room is a mess and I break my face every morning when I come wake you up.”
  • Timmy – “OK, I’ll clean up.”

30 minutes later, you go see Timmy.

  • You, slightly annoyed – “Timmy, what are you doing?”
  • Timmy, looking up – “I’m building a castle, daddy. You want to play with me?”
  • You – “Yes, I’d like to play with you as soon as I’m done cleaning up. Why didn’t you pick up your toys like I asked you too?”
  • Timmy – “OK, I’ll clean up”

30 minutes later, you go see Timmy

  • … (you can guess the rest)

So, back to my experiment. A few weeks ago, while my wife was grocery shopping I decided to use an adapted version of Scrum. I called my son and his twin sister and told them we would do a little activity. To their enjoyment, they were wondering what I had in mind. They sat next to me at the table while I the took 4 x 6 index cards and on each of them, I wrote a task: pick up the toys, put your clothes in your drawers, empty the garbage cans, bring the recycling to the garage, put the Tupperware away in the drawer, vacuum the floor, etc.

  • My son – “Daddy, why are you writing these down?”
  • Me – “We’ll play a little game.”
  • My daughter – “Can I play too?”
  • Me – “Of course. Here’s how it goes. I wrote 8 cards and each card has a little task. I need you to help me clean up the house while mommy is doing grocery.”
  • The twins – “OK, what do we do with the cards?”
  • Me – “You will each select the cards (the tasks) you would like to do. You then decide in which order you want to do them.”
  • My daughter – “Daddy, some tasks are longer than others. What do we do about that?”.
  • Me – “It’s up to you to decide.”
  • The twins – “It doesn’t matter. We’ll decide which ones we pick.”
  • My son – “Do we get a reward for doing the work?”
  • Me – “Mmmm, good question. I know you like to read. How about I give you tokens for each task? Once you get 50 tokens, I’ll buy the book you asked me.”
  • My son – “OK.”
  • My daughter – “Can I buy a beeds set instead of a book?”
  • Me – “Sure.”
  • The twins – “Can you write how many tokens each task gives on the cards?”
  • Me – “Good thinking! Picking up the toys is 3 tokens, bringing the recycling to the garage is 1 token, …”
  • The kids – “OK, but who picks first?”
  • My son – “Let’s do rock – paper – scissor.”
  • My daughter – “Yes, let’s do rock – paper – scissor.”
  • The twins – “ROCK, PAPER, SCISSOR…”

After determining who would start, they quickly picked the cards and started doing the assigned task. At their own pace, they executed on the cards. Then, something cool happened.

  • My son – “Daddy, can we add a card? We need to water the plants.”
  • Me, laughing – “Of course. Who’s going to take this one?”
  • The twins – “Me, me, me!”
  • Me – “I guess we’ll have to write another card so you are even.”
  • My daughter – “Can I dust the bureau? I saw mommy do it the other day and I’d like to do that.”
  • Me, with a big smile – “OK, if you’d like to do that. I’m OK with this.”

Together, they successfully completed all their tasks. All of their tasks! No fighting, no screaming. That was a “proud moment” :) Imagine when my wife got back home after the grocery…

With the Xmas Holidays and the broken routine, I was pleased to see my kids grabbing the cards by themselves this past Saturday and starting to execute on the routine. “Wow, this self-organization thing really works! Even with kids…”, I told myself.

The Take-Away

If you want people to carry out a task, here are a few suggestions:

  • Describe the task;
  • Let the team self-organize;
  • If the team needs help, you may suggest tools or a process – but do not impose them;
  • Get out of the way;
  • If possible, make it fun;
  • That’s it.
  • Share/Bookmark

Scrum daily stand-up meeting. Can you stand-up for something important today?

October 15th, 2009 Martin Proulx No comments

If you are using Scrum and Agile within your organization, you already know about the daily stand-up meeting and the value its brings to the team. Many organizations who have not fully adopted Scrum still find the stand-up meeting to be extremely useful when done properly – but this is not the objective of this blog post.

We have just released a really neat ipod touch app – the _agilely Timer. No, this is not a shameless plug but a way to help people in need. As part of the Agile Tour, Pyxis has released a timer application that allows you to efficiently facilitate daily stand ups, roundtable discussions and manage timeboxes. For only $1.99, this is a great way to help FIAN since all revenues will be donated to this organization that “fights hunger with human rights”.

Go ahead, get this neat app and stand-up for something today.

Buy it now - only $1.99

Buy it now - only $1.99

_agilely Timer to support FIAN.org

_agilely Timer to support FIAN.org

For only $1.99, help fight hunger

For only $1.99, help fight hunger

ipod touch and iphone timer application

ipod touch and iphone timer application

Want to know more, you may be interested in this blog post in French or the English version translated by Google.

  • Share/Bookmark

Introduction to Scrum – Shareable Power Point Presentation

July 28th, 2009 Martin Proulx No comments

For those interested, I’m sharing “Introduction to Scrum“. It is a power point presentation covering the following topics:

  • Problems with a traditional approach
  • What is Scrum?
  • Why use Scrum?
  • How does Scrum work?
  • The Product Owner
  • The Scrum Master
  • The Team
  • The Product Backlog
  • Benefits of using a Product Backlog
  • The Sprint Backlog
  • The Scrum Cycle
  • The Burn Down Chart

You can copy, distribute, and use the content of the presentation in accordance to Creative Commons Attribution 2.5 License.

Problems with a traditional approach
  • Share/Bookmark

What is Scrum?

July 2nd, 2009 Martin Proulx 1 comment

Scrum is an Agile management process that uses an iterative and incremental approach to deliver complex software development projects.

The Scrum Cycle

The Scrum Cycle

The three fundamental roles of Scrum are : the Product Ownerthe Scrum Master, and the Scrum Team.

The Scrum cycle is divided into five activities to be completed by the Scrum Team in order to meet their commitment to deliver on the work included as part of the sprint backlog.

Define

During the definition phase, the project team (the Scrum Master and the Scrum Team) meets with the Product Owner to determine and agree on the priority of the team for the duration of the sprint. The intent is not to agree on the details during this stage but the high level direction the team will follow. The outcome of the definition stage is to start populating a product backlog.

Plan

Planning consists of selecting the high level items from the product backlog and evaluate the value of the various items as well as the estimated efforts to complete the work. As part of a negotiation process between the Product Owner and the Scrum Team, a subset of the product backlog is selected which is then called the Sprint Backlog.

Build

Much happens during the building phase where the development team members select and execute tasks from the Sprint Backlog until all work is completed and a “product” is ready to present to the Product Owner.

Review

At the end of each sprint, the Scrum Team presents the various items that have been developed during the sprint to the Product Owner. This practice has a few clear benefits in that unless metrics can be demonstrated in the application – not on paper or in theory – and shown to provide the expected information, they are not completed.

Retrospect

The final step of the iteration is the retrospection which has a few objectives where the most important one is to allow the team to reflect on the successes and determines which areas need to be improved prior to entering the next sprint. As such, the team collectively assesses its own performance and determine the best way to adapt in order to successfully achieve its next sprint.

  • Share/Bookmark
Categories: scrum Tags: ,

Scrum Artifact: Burn Down Chart

July 1st, 2009 Martin Proulx 4 comments

The Burn Down Chart

Definition

A burn-down chart is a graphical representation that shows the progress made during the development cycle.

The Burn Down Chart can be used to show outstanding work for a release or for a sprint and in both cases, the chart represents the amount of work remaining for the completion of the release or sprint versus time.

How the Burn Down Chart works?

The vertical axis (Y-axis) of the chart presents the work remaining to complete the release or sprint while the horizontal axis (X-axis) represents the time.

Scrum Burn Down Chart

Scrum Burn Down Chart

The chart typically presents 2 lines going from the top left section of the chart towards the bottom right.  While the first line presents an estimate of work delivered over time, the second line shows the actual values. As such, the Burn Down Chart is useful for predicting when the work scheduled for the current release or sprint will be completed.

  • Share/Bookmark

Scrum Role: The Scrum Team

June 24th, 2009 Martin Proulx No comments

The Scrum Team

There are three fundamental roles in Scrum: the Product Owner, the Scrum Master, and the Scrum Team.

Definition

The Scrum Team is a self-organized group of up-to 7 individuals with no pre-defined roles who work in collaboration to deliver upon their commitments. The Scrum Team is often comprised of cross-functional individuals who work to successfully complete the activities identified as part of the sprint backlog.

What the Scrum Team does

The Scrum Team is responsible for the following activities:

  • Following a negotiation with the Product Owner, selects the goal of the sprint;
  • Organizes itself and its work;
  • Plans and executes the tasks identified during the Sprint Planning Meeting;
  • Determines the appropriate methods of delivering on their commitments;
  • Presents the resulting work to the Product Owner.
  • Share/Bookmark
Categories: scrum Tags: , , ,

Scrum Role: Scrum Master

June 18th, 2009 Martin Proulx No comments

The Scrum Master

There are three fundamental roles in Scrum: the Product Owner, the Scrum Master, and the Team.

Definition

As an Agile Project Manager, the Scrum Master is the person responsible to ensure the adoption and adherence to the Scrum process. With no formal authority over the Team, the Scrum Master facilitates the various activities and maintains the Burn Down Chart.

What the Scrum Master does

As a liaison between the Product Owner and the Team, the Scrum Master is responsible for the following activities:

  • Helps the team maintain their productivity by removing barriers and preventing interferences;
  • Supports the Product Owner in achieving the project’s goals;
  • Facilitates communication between the Product Owner and the Team;
  • Updates the Burn Down charts and other artifacts to make team progress visible;
  • Organizes and facilitates the key meetings: definition, planning, building, demonstration, and retro-spection.

References:

  • Share/Bookmark

Scrum Artifact: Sprint Backlog

May 18th, 2009 Martin Proulx No comments
The sprint backlog is the list of tasks that the Scrum team is committing that they will complete in the current sprint. Items on the sprint backlog are drawn from the Product Backlog, by the team based on the priorities set by the Product Owner and the team’s perception of the time it will take to complete the various features.
It is critical that the team selects the items and size of the sprint backlog. Because they are the ones committing to completing the tasks they must be the ones to choose what they are committing to.
The sprint backlog is very commonly maintained as an Excel spreadsheet but it is also possible to use your defect tracking system or any of a number of software products designed specifically for Scrum or agile.
 During the Sprint the ScrumMaster maintains the sprint backlog by updating it to reflect which tasks are completed and how long the team thinks it will take to complete those that are not yet done.
The sprint backlog is a document containing information about how the team is going to implement the features for the upcoming sprint. Features are broken down into tasks; as a best practice tasks are normally estimated between four and 16 hours of work. With this level of detail the whole team understands exactly what to do, and anyone can potentially pick a task from the list. Tasks on the sprint backlog are never assigned; rather, tasks are signed up for by the team members as needed, according to the set priority and the team member skills.
The sprint backlog is property of the Team. Estimations are set by the Team. Often an according Task Board is used to see and change the state of the tasks of the current sprint, like “to do”, “in progress” and “done”.
The sprint backlog is a simple list of the tasks that must executed by the team in order to deliver an increment of functional software at the end of that sprint. Sprint backlog creation happens in the second part of the sprint planning meeting with the participation of every team member. Giving some real attention to this process is fundamental to a better understanding by the team about what should be done and to better planning during the sprint. Despite this, many teams still struggle with this activity. I hope these tips will help.

 

The Sprint Backlog

Definition

Similar to the Product Backlog, the Sprint Backlog is a list of tasks that the Scrum team is committing to deliver within the current Sprint. The Sprint Backlog is a simple list of the tasks that must executed by the team in order to deliver an increment of functional software at the end of the Sprint.

How the Sprint Backlog works

Based on the priorities set by the Product Owner, the Scrum team selects as many items from the Product Backlog as they believe they can complete within the current Sprint.

Sprint Backlog creation happens in the second part of the Sprint Planning meeting with the participation of every team member.  It is critical that the team selects the items and size of the Sprint Backlog since they will be the ones committing to completing the tasks.

During the Sprint the Scrum Master maintains the Sprint Backlog by updating it to reflect which tasks are completed and how long the team thinks it will take to complete those that are not yet done.

 

References:

  • Share/Bookmark

Scrum Role: Product Owner

May 15th, 2009 Martin Proulx No comments

The Product Owner

There are three fundamental roles in Scrum: the Product Owner, the Scrum Master, and the team.

Definition

The Product Owner is the one person responsible for the project’s success. The Product Owner leads the development effort by conveying his or her vision to the team, outlining, and prioritizing it based on business value. As such, the Product Owner is responsible for representing the interests of everyone with a stake in the resulting project.

The Product Owner differs from that of the traditional Product Manager role in many ways.

What the Product Owner does

As the owner of the product vision, the Product owner shoulders all the responsibility for the project success and is ultimately responsible to the Team, stakeholders and to the company.  Here are some of the activities perform by the Product Owner:

  • Creates and maintains the Product Backlog;
  • Prioritizes and sequences the Product Backlog according to business value or ROI;
  • Assists with the elaboration of Epics, Themes and Features into user stories that are granular enough to be achieved in a single Sprint;
  • Conveys the Vision and Goals at the beginning of every Release and Sprint;
  • Represents the customer, interfaces and engages the customer;
  • Participates in the daily Scrums, Sprint Planning Meetings and Sprint Reviews and Retrospectives;
  • Inspects the product progress at the end of every Sprint and has complete authority to accept or reject the work done;
  • Can change the course of the project at the end of every Sprint;
  • Communicates status externally;
  • Terminates a Sprint if it is determined that a drastic change in direction is required;
  • Understanding and communicating the customer needs;
  • Meeting the project goal and financial targets such as return on investment (ROI);
  • Collaborates with the team and aligns with the stakeholders throughout the entire release.

References:

  • Share/Bookmark

Scrum Artifact: Product Backlog

May 13th, 2009 Martin Proulx No comments

As I’m gathering information and slowly writing the content of my book, there is some information I need to refer to in the book but I don’t want to include as it distracts the reader. As such, I decided to start keeping that information and post it on this blog. It will be easy to know when a blog post is done in the context of the book as it will be tagged “the agile bi book“. Today’s post relates to the Product Backlog.

The Product Backlog

Definition

The Product Backlog is simply a list of customer requirements needed to complete the project and sorted by business value. It is initially prepared at the beginning of a project by the Product Owner and remains active throughout the duration of the project as completed items get removed while new items are added.

How the Product Backlog works

As time goes by, the highest priority items in the Product Backlog get broken down into smaller chunks as they become part of the Sprint Backlog.

The Product Backlog is property of the Product Owner while the business value is set by the Product Owner, the development effort is set by the team. 

Benefits of using a Product Backlog

1) It’s a simple list, discussed face-to-face
2) It provides the customer with control
3) The product backlog is allowed to change.
4) Inspection and adaptation
5) It resolves dependencies timely, and without fancy pansy dependency graphs.
6) It allows for some longer term planning
  • It’s a simple list, discussed face-to-face;
  • It provides the customer with control;
  • The product backlog is allowed to change;
  • Inspection and adaptation;
  • It resolves dependencies timely;
  • It allows for some longer term planning.

In Summary

The Product Backlog:

  • is simply a list of things needed to be done in the context of the project;
  • always lists items that add value for the customer;
  • may include functional requirements and non-functional requirements;
  • can also include items required by the team, but only the ones that will eventually bring value to the customer;
  • cannot include low level tasks. 

References:

  • Share/Bookmark