var blog = new ThoughtStream(me); RSS 2.0
 Friday, July 11, 2008

Scott Bellware (who finally started blogging again), is posting a series on Sustaining Capacity in Maturing Agile Software Teams. It's worth a read, and may be familiar territory to anyone who has done Agile and been reading about Lean.

In the 3rd Post - Recognizing Entropy - he talks specifically about synchronizing the development testing and QA testing efforts:

Development and QA Test Synchronization. Without greater synchronization between development and QA testing, valuable input often comes too late in a development or release cycle to be effective. Test design and test architecture are valuable inputs to development, and software design and architecture are valuable inputs to QA testing. Teams often loose unrealized capacity by not pursuing means to do more development and testing in parallel.

This one really hit home for me, and is a shining beacon to the problems that my current team is going to face, soon. We had our first iteration planning and kickoff meeting yesterday, and the whole team was involved - except the testers from the QA department. For reasons that I have no control over (and honestly - they are legitimate business reasons), the QA department is not coming on to the project for another 2 months (at least).  Today, the team leadership was discussing how the QA personnel would create their test scenarios, and I brought up the point that creating the test scenarios after-the-fact (after the iterations are done) is going to be very problematic.

If a dev team is working from User Stories, and those User Stories are divided along various aspects of behavior, it is very likely that a single screen, workflow, or 'function' of a system is going to be divided into multiple user stories. When the QA team is involved with testing in parallel with the development team, this is not an issue because the QA team will be updating their test scenarios in each iteration. This allows them to keep the scenarios for a given screen, workflow, or 'function' of the system, growing over time. However, since our QA team is going to come into the project at least 2 months after the development team has started coding and testing, the QA team would have to sift through all of the current and previous iteration stories, try and aggregate them down into the screen, workflow, or 'function' of the system, and build test scenarios from there. If there is even a modest number of stories to sift through, this would be a daunting task for the QA team - they would be in a 'catch-up' mode from the beginning of their QA cycle, likely through the end of the project.

As a result of the QA team being unable to join our project immediately, we are forced to modify our entire development process and account for the needs of the QA team, after the fact. Essentially, we are creating additional swim-lanes for our stories to travel through, during an iteration:

  1. Backlog
  2. In Development
  3. Developer Testing
  4. Ad-Hoc Testing (BA's, Developers, etc. testing the app)
  5. QA Functional Spec Documentation
  6. Done

Swim-lane #4 and #5 are directly affected by the QA team not being able to enter the project immediately, and are causing the rest of the team to lower it's capacity. We (developers and BA's) are now required to do our own ad-hoc testing during the iterations, instead of letting the QA team take care of that; and we (the developers and BA's) are now required to create functional specifications, based on the user stories that are completed, to hand to the QA team once they are on the project. The functional specification documents will need to be updated for any given User Story, before the ticket is considered complete (the functional spec updates have become an acceptance criteria on every User Story).

End result - because we cannot get the QA team on our project immediately, and ensure that they are testing in parallel to the developers, we as the development team are losing capacity and building entropy from the very first day of the very first iteration.

Friday, July 11, 2008 4:11:41 PM (Central Standard Time, UTC-06:00)  #    Comments [2]. Trackback 
Tags: Acceptance Testing | Agile | Lean Systems | Management | Pair+1 Programming | Test Driven Development | User Stories

Friday, July 11, 2008 4:54:59 PM (Central Standard Time, UTC-06:00)
Derick,

The problem with entropy buildup is that it costs more than the loss of capacity needed to avoid it.

The issue isn't that your QA testers are showing up in two months, your issue is that you're staffed lightly for the next two months.

You have QA testing to do. Don't let it batch up for two months. Testing isn't a title on a business card, it's just work that needs to get done.

The right choice is for your team to do the QA testing on your app until your team gets expanded.

This means that your team will move forward according to its real capacity, making real progress rather than synthetic progress.

When the team is expanded, and you slot people into QA "roles", at least the QA workflows will be established on the team, and the QA effort won't be hammered by the excesses of batching and queuing.

Don't do "Ad-Hoc Testing". Do real testing. Not doing the required work won't help you bridge the gap, and it could very likely cause you even more loss of productivity.
Friday, July 11, 2008 5:48:31 PM (Central Standard Time, UTC-06:00)
I hadn't even considered the 'oh-crap' factor of when the testers come on board and we are suddenly inundated with defect tickets (not that anyone on my team would ever create a bug ... we're dev mavens after all :) )

I like the reasoning of the work to be done and having the developers test until the official QA people come on board. I'll bring that up with the team leads and see how it goes. This is a fixed price, fixed time project (which really makes it hard, and 'scrummerfall'), so I don't know if it will work. It's worth a shot, though.

Thanks for the feedback, Scott!
Comments are closed.
Navigation
About Me
View Derick Bailey's profile on LinkedIn

Send mail to the author(s) Contact Me
Archive
<December 2008>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Derick Bailey
Sign In
Statistics
Total Posts: 91
This Year: 91
This Month: 0
This Week: 0
Comments: 40
Themes
Pick a theme:
All Content © 2008, Derick Bailey
DasBlog theme 'Business' created by Christoph De Baene (delarou)