When faced with the Kanban versus Scrum dilemma for software testing, time can be the best guide. One fits when tight deadlines loom and the other when there are tasks that take longer than a short iteration
Experts say Agile test methods matter little if continuous testing isn't done. "If your code is not good, you get no customers," said technical architect for Agile Thought Inc. Eric Landes. "Testing needs to be baked into all processes, not included here and there as an afterthought."
What Kanban can do
Some architects may gravitate toward Kanban because they like the idea of tackling a project by starting with what they know and evolving from there. "The big difference between Kanban and other Agile thinking is that Kanban focuses on system thinking," Landes said. Kanban processes can optimize, step by step, software quality from conception to delivery.
Scrum is very regular. You can think of it as a heartbeat that beats and beats and beats at a regular pace.
Depending on the culture of the development team, some may prefer Kanban because it limits the amount of work in all stages of workflow, or the WIP limit (work in progress), according to Agile expert Ellen Gottesdiener of EBG Consulting Inc. In some ways, this is beneficial because teams can focus their energy on completing one piece of the puzzle at a time and limiting the workflow.
Kanban may be the clear choice when a release needs to be done in a short period of time. "Kanban is a good option because as soon as that piece of work [a feature] is finished, it is declared done, it is releasable," Gottesdiener said.
This brings quality to the work from beginning to end. The workflow starts with comprehending the requirements, transitions design, then development, moves to testing and ends with the release.
Summing up Scrum
While Kanban is more systems oriented, Scrum resonates well with project managers. "Scrum presents processes and ceremonies that make sense at the team level and to PM [project management] types," Landes said.
The workflow with Scrum is similar to that of Kanban, except the time frame is more defined. "Scrum is very prescriptive about time," Gottesdiener said. "You pick a time period, say two weeks, and valuable requirements are completed in that time box."
Kanban vs. Scrum
Comparing software development methods
Customizing project management frameworks
Agile process frameworks for the enterprise
Using Scrum helps isolate the amount of work that can be completed to a specific time period. "Scrum is very regular. You can think of it as a heartbeat that beats and beats and beats at a regular pace," Gottesdiener said. At the end of that regular process, which is usually done in iterations, regular testing puts the application in good shape to be demonstrated, reviewed and released.
When looking at Kanban versus Scrum, it's important to remember that in the end both practices are similar in that they are more about change management than anything else, Gottesdiener said. Their learning curves are also similar, requirement initial commitment and constant growth.
About the author:
Maxine Giza is the associate site editor for SearchSOA.com and can be reached at email@example.com.
This was first published in November 2013