Skip to content

Archive for

2
Jun

Professional Scrum Developer Course – New Delhi Day 2

In case you missed yesterday’s post, I’m in New Delhi at the moment with Adam Cogan and Damian Brady helping out with a Professional Scrum Developer course.

Day 2 begins

Day 2 started a lot smoother than Day 1 because we now knew the way to the venue.Adam exercises his negotiation skills and saves us 25 cents

Bonus 1: Today, we made it to the training venue in only 3 minutes vs. 1.5 hours yesterday. Talk about continuous improvement!

Today’s agenda saw a lot more interaction with the lovely Team Foundation Server (TFS).  It was time to see Scrum in action with the Microsoft tools.

Impediment 1: Matthew Hodgkins spent some time setting up laptop for us to bring along to the course.  It was set up with domain server and a TFS Virtual Machine ready for all the students to connect to.  We were expecting a room full of cables to a switch, but unfortunately the training venue only had wireless. There was no way for students to connect!

Bonus 1: With a lot of help from Matthew and Parmod Kumar (one of the Sysadmins working with the students), we got the server reconfigured so everyone could connect!

Work Items in TFS

Adam C started the day by cracking open TFS and walking through the work item world:

  • Creating a Team Project
  • Team Collections
  • Areas and Iterations
  • Managing Sprint Work Items
  • Creating some Product Backlog Items
  • Creating and Linking a Task
  • Creating and Linking a Test Case
  • Creating and Linking a Bug
  • Managing Impediments
  • Adding Check-in Policies

Adam professed his love for Story Overview reports and also Priyanka Chopra.  He also spoke about his “tough” guts and what a “handbreak” Damian and I were for not eating street food with him.

He let the teams have a quick break while he introduced them an awesome tool called Debugger Canvas.

Then it was on to TFS integration with Microsoft Excel and Project 2010, TeamCompanion, and UrbanTurtle.

Adam introduced the first sprint of the day by telling everyone that there was a new Product Owner. He talked about all the things this new PO might want, so they would be well prepared when he arrived.

A new Product Owner arrives

The new Product Owner (this PO was a bit of a sweetie)

This new Product Owner was a bit odd.  He talked about his new wife, the new Tailspin website he purchased, and the Chinese developers he had sacked.  He told them about the bugs some people had told him about, and asked them to:

  • Connect to TFS
  • Log in to the SQL database
  • Create a Team Project
  • Add the 2 check-in policies he had heard about at a Microsoft seminar (being the “comments one in the Powertools”, and the “work items one that comes out of the box”)
  • Check that the code from the Chinese developers compiles
  • Tell him where he stands, and whether those Chinese guys were truthful when they told him it was “99% done”

The girls (Shilpa and Pomey) instructing the boys

The students had been given so much new information that morning, we were interested to know what they actually “heard”.

Review

All of the teams did OK considering this was their very first technical presentation.  We all know the human brain starts working when you’re born, and doesn’t stop until you stand up to speak in public.

Interestingly, they were very keen to show the Product Owner *all* of the work items they had created.  They had a very different idea of what they had to do.

There were a few impediments this time, however.  The teams found that they needed to install TFS Powertools in order to add the Check-in Policies.  Due to frequent power outages (apparently rampant in summer), this seemed to cause a lot of problems.  “Team Masters” had even added an impediment to TFS saying that TFS was down and was blocking them!  The Product Owner looked at them very incredulously.

“Team Scrumsters” actually fired up the new application and showed it working.  They were the only team that got the Product Owner jumping up and down with excitement.

The new Product Owner getting excited when he saw his new app Tailspin running

Before the Product Owner left, he played a video to introduce the students to some of his “American culture”. He played a Charlie Sheen video and talked about the importance of “winning”.

Retrospective

The big lesson that came out of the acceptance criteria was that the teams didn’t clearly understand what the Product Owner wanted.  Every team had a very different idea of what was required:

Lunch

Once again, lunch was delicious.  I asked heaps of questions about the selection of traditional Indian foods, the answers being fascinating.  I’m well and truly on track to come home with some new recipes!

Selection of traditional Indian dishes for lunch

After lunch, Adam C treated the group to some Australian culture in the form of an ad for Fosters.  He followed this up with a (remarkably similar) Canadian Molson video and was disappointed when the group preferred the Canadian version!

Example meetings

During lunch, Pradeep requested they see how the Aussies do their planning and standup meetings.

Adam C asked Damian and I to stand up in front of the class and start work on a new sprint.

  • We started with the creation of a backlog, estimated tasks (with their fists), and created a burndown
  • We started and finished day one, and just as we finished,
  • Adam got us to do a day 2 standup, complete with a burndown update

Damian and I estimating tasks in our Planning meeting

Bonus 2: This ended up being quite worthwhile.  Some of the students said it was the highlight as they got to see how it was “meant” to be done.

Adam C played the students a Karate Kid video to highlight the point that following the Scrum process is like developing muscle memory. If you follow the process, it starts to become second nature and you reap the benefits.

Sprint 2

Sprint 2 saw the teams get deeper into the solution.  They were asked to enter some more Product Backlog Items and make sure each person raised a bug.

Now we're talking! The standups are happening!

One of the teams estimating tasks using the "fist" estimation method

Bonus 3: This sprint, every one of the teams did a standup and one team implemented the “fist” estimation technique.

The Review and Retrospective meetings were are lot more impressive this time.  All teams did a great job with their presentation and the Scrum process was finally in action in all its glory.

To close off the day, Adam C played a video showing how Emperor penguins work as a team for survival in Antarctica.  He emphasised the importance on the team in the Scrum framework.  If everyone is prepared to give their bit for the team, it will benefit everyone.

Retrospective Day 2

One of the teams kept their sprint in the world's smallest Burndown

There was a lot of great feedback from the students on how the day went.  Some of the many highlights the group mentioned were:

  • Learning to focus on what the Product Owner wants, not the process
  • Seeing the tool (TFS) was much different to just knowing the theory
  • The demo of the “Aussie” planning and standup meetings
  • The Karate Kid story – the group now knows this is something to follow day in and day out
  • Learning what Scrum terms map to what TFS work items
  • The Excel and TeamCompanion demos
  • Working as a team
  • Doing the exercises
  • Learning about Check-in Policies
  • Moving from theory to practical implementation
  • The story of the Antarctic penguins and the importance of working in a good team

Tomorrow will see us delve deeper into Scrum using TFS and we’ll look at using Microsoft Test Manager to help run tests and raise very rich and repeatable bugs.

Advertisements
1
Jun

Professional Scrum Developer Course – New Delhi Day 1

scrumdevlogoI’m in India at the moment with Adam Cogan and Damian Brady  helping out on a Professional Scrum Developer course. The training is with a group of 24 guys with varying roles – developers, testers, architects, and managers. At the end of the course, they will all have the opportunity to sit an online exam to become “Professional Scrum Developers”.

It was such a fun day, we decided to sit down and write a blog post together.

Pre-day one

We decided to catch a couple of tuk-tuks to the venue.  Adam C somehow managed to send emails on his iPad while cramped in the back.

Setting off on our way…. little did we know that the driver had no idea where he was going

Setting off on our way…. little did we know that the driver had no idea where he was going

One of the important things you learn about in Scrum is an Impediment.  Even before day 1 started, we had our first one.

Impediment 1: The distance from our hotel to the training venue was about 2km.  The 1.5 hour journey (yes, one and a half hours) to this venue on the first day included three lost taxis (two independently finding their way to the same wrong address) and several near-death experiences.
Tip: Don’t think about complaining to your tuk-tuk driver or else you will find him try to make you happy by driving the wrong way down a busy main road.

Our tuk-tuk driver saving time – you have no idea how we felt.

Our tuk-tuk driver saving time – you have no idea how we felt.

Getting Started with “Scrumdementals”

Impediment 2: Day 1 officially started with Adam noticing that only one of the 24 students had read the Scrum guide. To bring everyone up to speed, he was able to give a succinct rundown of the Scrum user guide with the help of a few SSW rules (The importance of a team, Reading the Scrum Guide, and Physical Task Boards) and the awesome “Scrum Master in Under 10 Minutes” video by Hameed Shojaee.

The “guts” of Scrum was covered, with particular reference to short iterations, multi-skilled teams and timeboxing.  Adam C also told a story about his years in the army, and pressed  the point about the “inspect and adapt” tenet of Scrum which got a laugh.  The army tends to plan a mission, watch it all go very differently, and then debrief so they can adapt.

Adam C talked about the burndown and asked which time fields in a User Story mattered for the burndown.  Two of the 24 students already knew that the only time field that Scrum cares about is the “remaining time”.  Adam went on to explain why this was, and why the “original estimate” and “actual time” spent fields aren’t as important.

User Stories

After a morning break, Adam C spoke to the group about User Stories. Everybody loved his quintessential example with accompanying story:

As a marketing manager
I want to search for customers
So that I can call them up

He followed this up with a discussion about Acceptance Criteria and why they were so important.  Referencing the SSW rule on Acceptance Criteria, (one of my favourites – I wrote it) it was pointed out that you should never assume “gold plating” for a User Story.  The group appreciated the clarification on acceptance criteria and agreed that it was important for clarity.

Adam C’s next instruction was for each student to write one of their current working items in the form of a SSW story card.  Some were good, and some were not so good.  Damian reviewed his favourite ones to the class.

Rohit Arora’s great Story Card

Rohit Arora’s great Story Card

Sprint One

After lunch, the group was asked to self-organise into four teams of six.  Initially, the groupings weren’t ideal (all the developers with MVC experience were in the same team), maybe the ‘multi-skilled’ point was forgotten… a quick bit of shuffling was required.

Bonus 1: Even though team members were being split up, the new teams worked really well together.

The teams worked very well together

The teams worked very well together

Next, the Product Owner entered the room and scared everyone with his tough requirements. He is a Product Owner you don’t want to mess with.

The Product Owner giving his requirements

The Product Owner giving his requirements

He spent 10 minutes (timeboxed) giving out requirements for the first one hour sprint. The task was to create a poster for his boardroom.  The sprint was split into four 15min “days”, after which the teams presented the results in the review meeting.

Impediment 3:  Every half hour or so, a “black room event” occurred. No, not a “black swan event” :-).  Apparently power outages are fairly common in Delhi, but every time it happened, the laptops switched to battery and all network connections were lost.

The post-sprint Review meetings were fun with the teams presenting some different results in their work.  The Product Owner was hard to please, but we think under that tough skin, he was generally pleased with the work.  The same can’t be said about the process.  In the end, he chose his favourite diagram to hang on his boardroom wall.

The Product Owner’s favourite diagram had some excellent artwork

The Product Owner’s favourite diagram had some excellent artwork

The Retrospective meeting was even more fun and the teams learnt some very valuable lessons.  However, Adam C explained that every one of the the teams was naughty:

  1. Only 1 of 4 teams took up the invitation to speak to the Product Owner about what he wanted
  2. 2 teams did a User Story for the task (despite Adam C giving several “Printed Story Cards” to each team)
  3. None of the teams kept a Backlog
  4. None of the teams did a Daily Standup, and
  5. Only 2 teams followed the brief and included pretty pictures (this was very important to the Product Owner)

Later on, Adam C presented his ideal Scrum diagram and spoke about how it clearly shows the Scrum process from start to finish.

Retrospective

The day ended with a retrospective where each student talked about what they liked and disliked about the day.

The top two highlights of the day – repeated multiple times – were:

  1. Writing User Stories and learning about why the wording was important
  2. Learning about effective acceptance criteria

The students said they were very happy with the course so far. They wanted 2 things improved for the next day:

  1. There weren’t enough videos (we’ll fix that on day 2!)
  2. Lunch was too early

Can’t wait for Day 2.