What I Love About Kanban As A Tester #5
3 comments Posted by Eric Jacobson at Monday, September 10, 2012There’s no incentive to look the other way when we notice bugs at the last minute.
We are planning to release a HUGE feature to production tomorrow. Ooops! Wouldn’t you know it…we found more bugs.
Back in the dark ages, with Scrum, it’s possible we may have talked ourselves into justifying the release without the bug fixes; “these aren’t terrible…maybe users won’t notice…we can always patch production later”.
But with Kanban, it went something like this:
“…hey, let’s not release tomorrow. Let’s give ourselves an extra day.”
- Nobody has to work late.
- No iteration planning needs to be rejiggered.
- There’s no set, established maintenance window restricting our flexibility.
- Quality did not fall victim to an iteration schedule.
- We don’t need to publish any known bugs (i.e., there won’t be any).
What I Love About Kanban As A Tester #4
3 comments Posted by Eric Jacobson at Tuesday, April 17, 2012...regression testing is optional. What? The horror!!!
Back in the dark ages, with Scrum, we were spending about 4 days of each iteration regression testing. This product has lots of business logic in the UI, lots of drag-and-drop-type functionality, and very dynamic data, so it has never been a good candidate for automation. Our regression test approach was to throw a bunch of humans at it (see my Group Regression Testing and Chocolate post). With Scrum, each prod deployment was a full build, including about 14 modules, because lots of stuff got touched. Thus, we always did a full regression test, touching all the modules. Even after an exhaustive regression test, we generally had one or two “escapes” (i.e., bugs that escaped into production).
Now, ask me how often regression tests failed? …not very often. And, IMO, that is a lot of waste.
With Kanban, each prod release only touches one small part of the product. So we are no longer doing full builds. Think of it like doing a production patch. We’ve gotten away from full regression tests because, with each release, we are only changing one tiny part of the product. It is far less risky. Why test the hell out of bits that didn’t change?
So now we regression test based on one risk: the feature going to prod. Sometimes it means an hour of regression tests. Sometimes it means no regression tests. So far, it’s a net loss of time spent on regression tests. And this is a good thing.
We switched to Kanban in February. So far, not a single escape has made it to prod (yes, I’m knocking on wood).
This success may just be a coincidence. Or…maybe it’s easier for teams to prevent escaped bugs when those teams can focus on one Feature at a time. Hmmmmmm…
What I Love About Kanban As A Tester #3
3 comments Posted by Eric Jacobson at Wednesday, April 11, 2012...no testing deadlines…the freedom to test as long as I want.
Back in the dark ages, with Scrum, all the sprint Features had to be tested by the end of the iteration. Since programming generally continued until that last minute (we couldn’t help ourselves), testers were sometimes forced to cut corners. Even in cases where the whole team (e.g., programmers, BAs) jumped in to help test, there was still a tendency to skimp on testing that would otherwise be performed. The team wants to be successful. Success is more easily measured by delivered Features than Feature quality. That’s the downside of deadlines.
With Kanban, there are no deadlines…you heard me! Testers take as long as they need. If the estimates are way off, it doesn’t leave gaps or crunches in iterations. There are no iterations! Warning: I fear unskilled testers may actually have a difficult time with this freedom. Most testers are used to being told how much time they have (i.e., “The Time’s Up! Heuristic”). So with Kanban, other Stopping Heuristics may become more important.
What I Love About Kanban As A Tester #2
0 comments Posted by Eric Jacobson at Tuesday, March 20, 2012...a feeling of accomplishment, directly related to my work ethic.
Back in the dark ages, with Scrum, the fruits of my testing were only given to my users once a month. It was awkward to stop testing FeatureA and start testing FeatureB because I felt no sense of closure with FeatureA. There was always a feeling that if I thought of a new FeatureA test, I could cram it in. It was a very non-committal feeling. Often, the feeling was, “I’ll finish these tests later”. And as the end of the iteration approached, it became, “wow, where did the time go?”.
With Kanban, when I complete FeatureA’s testing, it goes straight to the users. I feel a sense of accomplishment. The production deployment is the reward for my hard work…the closure…full commitment. I feel I am in complete control over how quickly FeatureA moves through development. The harder I work at it and the better I test, the more I focus, the quicker it goes out. I’m motivated to “get ‘er done”, as they say here in the south. But I also have the freedom to do more testing, if we need it.
What I Love About Kanban As A Tester #1
6 comments Posted by Eric Jacobson at Friday, March 16, 2012…doing my tests in a focused chunk, then never again!
Back in the dark ages, with scrum, we would do the bulk of our testing in a development environment. At some point near the end of the iteration, we would wrap everything up in a build, deploy it to a QA environment, and test some of the items again…enough to make sure they were deployed properly and played nicely with other critical features. Once in QA, we had to dig up previously executed tests, set then up again, and try to remember what we had previously learned about our tests weeks earlier.
With Kanban, we complete our testing in focused chunks. We still do the bulk of our testing in the development environment. But when we’re done with that feature, we deploy it (that same day) to a QA environment, and do any additional testing immediately. This is soooooooo much easier because the tests are fresh in our minds, our SQL scripts are probably still open, and other recent tools are all prepped and ready to go. When we’re done, we deploy to production and those tests can leave our minds (sometimes forever) to make room for the next Feature.
Last week we celebrated two exciting things on one of my project teams:
- Completing our 100th iteration (having used ScrumBut for most of it).
- Kicking off the switch to Kanban.
Two colleagues and I have been discussing the pros and cons of switching to Kanban for months. After convincing ourselves it was worth the experiment, we slowly got buy-in from the rest of the project team and…here we go!
Why did we switch?
- Our product’s priorities change daily and in many cases users cannot wait until the iteration completes.
- Scrum came with a bunch of processes that never really helped our team. We didn’t need daily standups, we didn’t like iteration planning, we spent a lot of time breaking up stories and arguing about how to calculate iteration velocity. We ran out of problems to discuss in retrospectives and in some cases (IMO) forced ourselves to imagine new ones just to have something to discuss.
- We’re tired of fighting the work gaps at the start and end of iterations (i.e., testers are bored at the iteration start and slammed at the end, programmers are bored at the iteration end and slammed at the start).
- Deploying entire builds, filled with lots of new Features forced us to run massive regression tests, and deploy on weekends, during a maintenance window (causing us to work weekends, and forcing our users to wait for Features until weekends).
- Change is intellectually stimulating. This team has been together for 6 years and change may help us to use our brains again to make sure we are doing things for the right reasons. One can never know if another approach works better unless one tries it.
As I write this, I can hear all the Scrum Masters crying out in disgust, “You weren’t doing Scrum correctly if it didn’t work!” That’s probably true. But I’ll give part of the blame to the Scrum community, coaches, and consultants. I think you should strive to do a better job of explaining Scrum to the software development community. I hear conflicting advice from smart people frequently (e.g., “your velocity should go up with each iteration”, “your velocity should stay the same with each iteration”, “your velocity should bounce around with each iteration”).
When I was a young kid, my family got the game “Video Clue”. We invited my grandpa over to play and we all read through the instructions together. After being confused for a good 30 minutes, my grandpa swiped the pieces off the table and said, “anything with this many rules can’t possibly work”.
Anybody else out there using Kanban?

RSS