Scrum Solutions
As a few of you are aware, I setup a company, Scrum Solutions, to supply Agile specific stationary, software (inc. iOS and Android) and consultancy.
Though we have already taken a number of orders, it brings me great pleasure in announcing our go live date of our web site will be the 11th July, www.scrumsolutions.co.uk. This will give our customers greater flexibility to explore and order our extensive range of products as well as review purchase order history.
To celebrate the arrival of the web site, I am pleased to announce that Scrum Solutions is a sponsor of the Agile Diner UK 2011 and I will be presenting the award for the Best Agile Coach / Mentor at the event.
Testing Curve
Following on from my post, Testing in SCRUM / SPRINT, I wanted to share with you a diagram I have used many times to help explain why testing must start as soon as possible within a SPRINT and why it is important that task cards are testable as a self entity (Unit test).
It is incredibly important that teams do not have 'Epic' task card's included within their SPRINT, as this possibly hinders the ability of a tester to start testing early, as the 'Epic' wouldn't become testable until development is complete, hence delaying the test phase.
Note: I include an initial 'peak' to allow for testers writing up their test scripts
The unhealthy testing line has a tidal wave at the end of the SPRINT, unlike the nice calm waters of the healthy testing curve. Tidal waves should be avoided at all cost, as you run a greater risk of failing a SPRINT; the tester may not be able to complete all the testing within the time period and more than likely the QA will be compromised due to the pressure on the testers to pass a release as shippable.
If you see a very calm testing period at the beginning / middle of your SPRINT, be careful this may be the calm before the storm!
Testing in SCRUM / SPRINT
One of the area's were SCRUM is not very strong is testing. Most of the SCRUM models that have testing (EVERYONE should have testing) as part of their SPRINTs normally adopt XP's TDD. This is completely fine, TDD is great, but there are also additional / alternative ways to gain better QA (Quality Assurance) by implementing a simple QC (Quality Control) framework within your SPRINT's.
My current SCRUM wall has 5 phases;
- Not Done (SPRINT Backlog)
- In Progress
- Ready for Test
- Test
- Done
Phase 1 and 2 belong to the developers, before a task card can be promoted to 'Ready for test' it has to be peer reviewed (both at a functional and a code level). Phase 3 and 4 belong to the testers, only a tester can promote a task card to done. If it fails a test, the tester places the item back into phase 1, 'Not Done'.
I find this model enables the team to achieve very high QA. For a task card to be promoted to 'Done' requires it to have passed through two testing phases, firstly the peer review and then the testing team.
If QA is of the most importance (*note: that SCRUM normally has some tolerance built in for bugs, but certain work, such as life critical medical software, cannot afford any bug), then you can introduce an additional testing phase between Test and Done where by a task card must be peer reviewed through a senior tester / another tester before being promoted to Done.
I started of this entry by mentioning TDD, and the simple QC model I have given should ideally be used in addition to TDD (which I am a fan of), so that you enable your team to achieve high QA with minimal disruption to their daily workflow.
I specialise in all things Agile (XP, Kanban, Lean), in particular Scrum. I have a passion for taking on 'problem' projects / teams and turning them into a sucess as well as promoting automated test driven practices.






