Back in December last year I started supporting Red Gate’s .NET Developer Tools Division. As of this month, we’ve restructured the company and from next week, the old division will be no more (although the team are still in place in their new home).
When I joined the team things were going OK but they had the potential to be so much more so I paired up with Dom their project manager and we set to work.
The ANTS Performance Profiler 8.0 project was well under way already and the team had a basic Scrum-like process in place (without retrospectives), a simple whiteboard and a wall for sharing the “big picture”.
I spent the first week on the team simply getting to know everyone, how things worked and observing the board, the standups and the team activities.
We learned some time ago here at Red Gate that when you ask a team to talk you through their whiteboard, they tell the story of their overall process and how it works. Our whiteboards capture a huge amount about what we do and how we do it.
I attempted to document and capture at least some key parts of the journey we’ve have over the year in which we released over a dozen large product updates across our whole suite of tools. This post is picture heavy with quite limited narrative but I hope you’ll enjoy the process voyeurism :) If there’s any specifics you have questions about, please ask and I’ll expand.
- 10th Dec 2012: Week 1 This is how the board started out
- Capture our overall goal and focus
- Avatars – who’s doing what?
- Simple 5S tricks – having stickies to hand
- and plenty of pens available
- Giving the team a hint of upcoming changes (plus a bag of useful for planning sessions)
- 11th Dec 2012: Avatars are in use!
- Part of the “big picture” board – what’s coming up?
- 12th Dec 2012: Swimlanes added. Note user stories don’t have “So That…” or “In Order To…” yet.
- Sprint dates added – note the cluster of tasks in the middle
- 14th Dec 2012: Mirkwood
- 17th Dec 2012: Board overhaul. More space, straight lines, colour coding(!), different columns. Explicit WIP limit for urgent stories and implicit limit for “Next” column. Note the very odd sprint duration at this point
- 18th Dec 2012: Desk Moves – we do this a lot.
- 19th Dec 2012: “Do Later” space (bottom-left) and Holiday calendar (Christmas is coming)
- 7th Jan 2013: Date stamping our stickies to track things hanging around for too long
- Mirkwood is still there!
- 10th Jan 2013: Teaching the team capacity planning, story and task estimation in 30 minutes!
- The team’s first attempt at swimlane sizing
- A 3 week sprint this time. “In Test” column added, task estimation, running totals. Note the alarming number of stories in progress (previously not visible). Added countdown to planned release
- A3 report visible to team and reminder of estimation
- 16th Jan 2013: A brief window into our lightweight planning process. Note the lack of demos, retrospectives or even pulling in new stories at this point
- 31st Jan 2013: Finally – 2 week Sprints
- The “Stats Board” – data review as a way of easing the team into retrospectives. The stickies are “what can we / can’t we infer from the data available”
- The team’s first retrospective. They’d had very bad experiences in the past so we kept things simple
- After sprint planning. Note we’re not clearing the board down after every sprint. (and a neat trick with overlaid stickies)
- Our monthly A3 report up close
- 18th Feb 2013: Just another standup over by the “big picture” wall. At this point we’re still running 2 teams
- Getting more clarity on task cycle times with the help of a custom date stamp template
- Kraken wants to know if U have a test for that? – A retrospective output. Ensuring dev tasks are tested before moving on
- 20th March 2013: Although functionally close to completion we were really unhappy with quality so we extended the release date. Excessive WIP up to this point had caused major problems. Note the significant reduction in active stories 3 sprints later and the large number of bugs
- Once we were happy we’d got the quality resolved we ran a public bug hunt. 14 hours on google hangouts, fixing bugs in real time. We shipped new builds 3 times in a day. We released shortly afterward. (I supplied Rum)
- 3rd April 2013: Another desk move. Down 2 floors to a much better space.
- 26th April 2013: Dom & Sam build the new board with help from a projector
- Board under construction
- 29th April 2013: All ready for the next release
- 8th May 2013: Team offsite for the next product. Using swimlanes to prioritise by value/certainty.
- 20th May 2013: I asked the team what the new board was missing. “Kittens” they said, so kittens were supplied
- 21st May 2013: The new board in use. We needed to adjust the aspect ratio (the square board just didn’t “work” for us). The space to the left gave us the chance to capture the “big picture” again
- Stats board mounted (on velcro) and holders for pens and stickies are back up. We also grabbed a couple of pedestals for supplies. The sharp-eyed among you may spot the empty Rum bottle. We’re now up to 4!
- 11th June 2013: Unicorns! Every team needs a unicorn
- 3 Projects are running in parallel in full-flight
- 26th June 2013: One of the projects finished with some quality problems. Time for a release retrospective!
- 19th July 2013: Output from the retrospective
- 4 Sprints into the next project. Post-retrospective changes. Back to running one project at a time. Introduction of WIP limits, a “planned over capacity” dotted line in the todo column. A change of wording around in progress/test columns (I’ll explain later). Points to sharp-eyed observers if you spotted the treats on the pedestals and the “Ship It!” posters.
- Dom improved the look-ahead area to increase clarity on direction and limit incoming work. Highlights to spot – “Last Ship Date”, use of “In Order to…” format for user stories and yes, that *is* a Gantt Chart for the bigger picture (it’s safe to use them here). Oh – and more cake.
- A close-up of the WIP limits and column names. Our language shapes our reality. These changes reduced “over the wall” activity and queuing between code and test activity. Many dev tasks weren’t directly testable so we reflected this here.
- 30th July 2013: Parrots. Well we already had kittens and unicorns.
- 1st October 2013: As one project ends, so another new project starts. Dom updated the bigger picture back at the start of October. A visual summary of the project goals, plan and direction on an A3 – our stake in the ground.The sharp-eyed among you may spot the “releasable at least every sprint” goal on the calendar. The team did it!
- 7th November 2013: Present day. Sprint 2 of the current project, 7 Major releases and many more minor ones later. WIP limits removed for a while, new retrospective output above-left on board.
Next time, I think I’ll get a fixed camera and take daily photos!
The end result? Multiple releases of all 5 of our .NET tools including a startup and quality overhaul for our 2 most popular products, support for a bunch of new database platforms, full VS2013 support (before VS2013 was publicly released), Windows 8 and 8.1 compatibility and a huge boost for the morale of the team. See for yourself if you’re interested!
Of course this is just one aspect of what I’ve been up to. You might notice the time between photos over the summer grew a little. See my last post for more insights into what happens at Red Gate Towers.