- Computers & Software»
- Computer Software
Scrum and Kanban
The small working Scrum team
Both Scrum and Kanban assigns active role to the development team. Team members don't get assigned tasks by the management. They actively pull in work.
They work on the core development practices and rely on their team for the continuous work. The focus is not on learning from each other, but more in using their tools, the short feedback loops both teams have to use to evaluate results and make adjustments.
A Scrum team includes Product Owner, who helps set the direction of the product. A Scrum Master who gets the team the tools they need to complete the project. People who build, test and use the products. And the Executives.
Agile software development
For more information on agile software development, an alliance has been formed. Agile Alliance provides the support for people involved in exploring and applying agile principles and practices.
Agile software application development works with creativity and flexibility. Rather than producing the same thing over and and over again, as in manufacturing, the development team creates new things each time. They rely on the approval of a small group of tasks by clients over a bombastic finished product at the end of one project.
An agile software development stands on four core principles that can be found on the Agile Manifesto for Agile Software Development:
- Individuals and Interactions over Processes and tools
- Working software over Comprehensive documentation
- Customer collaboration over Contract negotiation
- Responding to change over Following a plan
The Kanban team
The Kanban team requires the following three things only:
1. Visualize the workflow
The way the workflow is visualized can be as easy as having a set of "New" tasks and a set of "Completed" tasks. Having a board with visual cards to represent these tasks makes it easy to know which are next
2. Limit work-in-process (WIP)
Finish what is on the plate before working on what is next.
3. Measure and optimize flow
Queues are used to represent workflow. For example, queued for tests, queued for deployment, etc.
Historical touch points
Scrum was first discussed in The Harvard Business Review in a 1986 article, "The new new product development game" by Hirotaka Takeuchi and Ikujiro Nonaka. The article introduced the new approach of getting work done. It identified a holistic method with reference to rugby, comparing the approach to the act of passing the ball within a team “as it moves as a unit up the field.”
Seven years later, Jeff Sutherland, John Scumniotales and Jeff McKenna fully implemented Scrum at the Easel Corporation. Sutherland and Schwaber then presented their paper “The SCRUM Development Process” at OOPSLA Conference ’95 in Austin, Texas.
Six years later, the two and their team drafted the Agile Manifesto. The term Scrum continues to go hand-in-hand with agile. But how are they compatible?
At present date, Scrum and Kanban are applied in software development. They follow the core principles of agile software development, therefore the working teams rely on themselves to direct their work.
Kanban is essentially a tool that can be used by the development team. To be more specific, they can use it to manage their work-in-progress. Kanban and Scrum have a proven track record of practices that help teams deliver their products on time. Both require a feedback mechanism to evaluate and make sustainable continuous progress.
The word "kanban" is a Japanese word for "signboard".
A Kanban board
Which should your team use?
Features and user stories
Remember the Product Owner? Well, in Scrum her role is limited to helping in directing the team. But she, along with the Customers, Executives and yes, even other Team Members, can request features. These features are written from the perspective of the end user, which is why features are also known as user stories.
These end user perspectives get written into features that are otherwise known as user stories and the collection of these user stories are called the Product Backlog.
This backlog can also be thought of as the wish list, things that we wish to make the product great. These user stories are sorted and chosen to be part of a release. The team plan the release by first creating the release backlog. And then the release.
- Product backlogs
- Team roles
- Burndown charts
- Scrum master
- Release planning
- Product release cycles
- Sprint backlogs
- The daily Scrums
- Sprint petrospective
Story points with Scrum and Kanban
Estimation is an important part of the Scrum team. But not for Kanban, although according to many who work in teams that implement it, as a tool Kanban is fantastic. And it works well with Scrum.
As mentioned earlier, Kanban is not a methodology. It is a lean scheduling system that has been developed in Japan by, among others, the Toyota Motor Corporation. Kanban as a signboard is used around the world for advertising purposes. This system is kind of similar to that signboard in a way that it catches attention quickly, or would like to in order to trigger action.
Kanban does not require the estimation Scrum needs to get the job done. This estimation can be done based on historical experience, or story points. It is a good measurement for known level of difficulties. But story points do not answer the tough questions such as, "when will my product be ship?"
Kanban handles productivity issues with the work-in-progress concept. It is a lean-style approach, and it has other concepts that build on the "pulling mechanism" of the agile software team, such as Kanban size, number of cards, and do not calculate. These are all implemented in the planning stage.
What is Kanban, then?
Kanban allows for flexibility in the development process. In the supply chain management where software provides great help with Kanban in manufacturing, the following concepts have been implemented:
- Kanban planning: streamline the manufacturing and procurement process
- Kanban setup: defining the pull sequences
- Kanban calculations: based on the method and definitions in the setup sequence
- Average daily demand
Agile Brazil will commence this November, making it the first official Agile Alliance conference outside the U.S.
Real life examples of Kanban and Scrum?
- Oracle supply chain management software uses Kanban in manufacturing
- The Toyota Motor Corporation uses Kanban in Japan
- A typical sushi menu is a great example of a Kanban
- John Miller is using Scrum in the classroom and presented a paper “Kiddie Hawk – Scrum in Schools for Generation Agile”
- Universities and the Militaries use Scrum
Kanban and Scrum
Many Agile teams combine principles and practices from both Scrum and Kanban, evolving an approach that works best for their unique situation. In practice, Kanban and Scrum have much in common.