Kanban. Scott VandenElzen Scott.VandenElzen@LoanSifter.com. Credits. Kniberg , Henrik (2009), “ Kanban vs Scrum” http:// www.crisp.se/gratis-material-och-guider/kanban. Methodologies. What is a software development methodology and why do we care?
What is a software development methodology and why do we care?
An Software Development Lifecycle (SDLC) methodology is an organized way of designing, developing, & deploying software that allows you to build a quality product in a repeatable fashion.
An SDLC is both a set of tools, artifacts and work practices an organization uses to create software
It’s the workflow process within an organization to get the requirements gathered, the software built, the testing done, and the bugs fixed.
Examples - Agile, Scrum, Kanban, Waterfall, Rupp, TSP, TDD, Spiral, SSADM, Rad, Lean, Crystal, XP, and more!
Split your organization into small, cross-functional, self-organizing teams.
Split your work into a list of small concrete deliverables. Sort the list by priority and estimate the relative effort of each item.
Split time into short fixed-length iterations (usually 2-4 weeks), with potentially shippable software demonstrated after each iteration.
Optimize the release plan and update priorities in collaboration with the customer, based on insights gained by inspecting the release after each iteration.
Optimize the process by having a retrospective after each iteration.
So… instead of a large group spending a long time building a big thing you have a small team spending a short time building a small thing repeatedly.
Split the work into pieces- write each item on a card and put it on the wall
Use named columns to illustrate where each item is in the workflow
Limit Work In Progress – assign an explicit limit to how many items can be in each workflow state
Measure the cycle time - the amount of time it takes an item to flow through. Optimize the process to make this lead time as small and predictable as possible. Implicit in this – keep the work items small
Kanban, the Japanese word for “signboard’ has become synonymous with demand scheduling.
“Toyota created Kanban in the early 40s and 50s to help control production processes and implement Just in Time (JIT) in their Toyota manufacturing plants in Japan. By using kanbans, they reduced WIP between processes and the associated cost of extra inventory” (Gross, 2003).
This aligns with lean manufacturing and development closely through elimination of waste/time wasted AND increase in efficiency.
Sounds like a great thesis idea!
There are frameworks for evaluating which SDLC might fit best for an organization that take into account complexity, uncertainty, quality criteria and the weight / importance of each phase of the product lifecycle.
CuQuP-- Yusof, Shukur, & Abdullah
You should use the tool (or SDLC in this case) that fits the job and organization. Remember no tool is perfect.
There is a range of formality even among “agile” methodologies.
“Remember no tool is perfect” – But you can add stuff!
Just because Kanban doesn’t have a product owner doesn’t mean you can’t add one to your process. In any methodology you can add whatever roles or ceremonies your organization needs.
Common Trap – we sent developers to scrum training and when they came back they discovered we had extra steps in our workflow. I heard “But that’s not Scrum” – my feedback “SO WHAT! It works for us.”
Both are Lean & Agile
At Visonex they use Scrum for our standard product development. They do 6 sprints 2 week sprints per quarter and released quarterly. The quarterly release dates are planned a year and advance so the team and the clients know when updates are coming.
They have a 2 scrum teams of 8 developers and testers that works together for the quarter.
They use Kanban for our maintenance work that is released every 2 weeks.
2 developers work the maintenance queue along with a part time tester.
The advantage: standard work continues un-interrupted and released on schedule. Bug fixes can be pushed out without interrupting the flow.
Visonex runs 2 or 3 scrum teams. Sprints start/stop every 2 weeks. They run a Kanban queue with 1 or 2 developers. The Kanban has an express lane for critical stuff. If something is in the critical lane, other work is paused.
There are other boards for other teams:
Crisp consulting resource page
Cartoon - Henrik
Book - David Anderson – Kanban