Kanban Advanced Software Engineering 603 492 Dr Nuha El-Khalili.

Slides:



Advertisements
Similar presentations
Using Kanban Techniques to Control Incremental Development
Advertisements

Tech Next - Scrum Vs Kanban practiced in product development Tech Next, May 7, 2011
Agile Development Primer – Using Roundtable TSMS in an Agile Shop Michael G. Solomon Solomon Consulting Inc.
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
ITEC 370 Lecture 24 Lifecycles. Review Questions? –Grades for Requirements/Design Doc F give prototype demonstration –Testing plan for your software Maintenance.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Stuart R. Ainsworth.  Manager of newly-formed Database Administration group for a financial security company.  Former Data Architect; 6 years working.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile development By Sam Chamberlain. First a bit of history..
An Agile View of Process
Software engineering Process models Pavel Agejkin.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Kanban “Signboard”.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 4 Agile Development
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
What is Scrum Process? Where is it used? How is it better?
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Scrum’s Product Owner Role Jeff Patton Agile Product Design
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. Software Design Process.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Agile Information Management Development. Agile Project Management Characteristics  Acceptance and even welcome of changing requirements  Incremental.
Chapter 3 Agile Development
Theories of Agile, Fails of Security Daniel Liber CyberArk.
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
We’ll cover:  1. What is a Kanban System and how does it apply to anything you want to do?  2. How to set up a Kanban System 2.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Introduction to Agile. Introduction Who is this guy?
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Copyright © Curt Hill Scrum Software Development Paradigms What is a Scrum?
Copyright © 2016 Curt Hill Kanban Software Development Paradigm The revenge of Toyota.
Kanban in Real World. ScrumMaster and Agile Ambassador at Trainer at Former developer.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Agile Project Management and the yin & yang of
Agile Methodology and Scrum
AGILE SCRUM METHODOLOGY
Introduction to Agile Software Development
Scrum.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile Training - Kanban
Agile Training – Agile Overview
Project Workflow.
Using Kanban Techniques to Control Incremental Development
Introduction to Software Engineering
Project Management and the Agile Manifesto
Johanna Rothman Agile Team Measurements Chapter 12
How to Successfully Implement an Agile Project
Summarizing Our Models to Date
CEN 4010 Intro to Software Engineering Professor Alex Roque
Introduction to Agile Blue Ocean Workshops.
Scrum in Action.
Agile Development.
Scott VandenElzen Kanban Scott VandenElzen
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Kanban Advanced Software Engineering Dr Nuha El-Khalili

Kanban The name 'Kanban' originates from Japanese, it means "signboard”, “billboard” Used for Just in Time (JIT) manufacturing at Toyota manufacturing plants in Japan to limit the amount of inventory tied up in “work in progress” (WIP) on a manufacturing floor

Kanban Kanban is a lean agile system that can be used to enhance any software development lifecycle including Scrum, XP, or Waterfall.

Principles Start with what you do now – No specific set of roles or process steps Agree to pursue incremental, evolutionary change – encourages continuous small incremental and evolutionary changes to your current system Respect the current process, roles, responsibilities & titles – eliminate initial fears

Core Properties Kanban promotes the lean concept of flow – to continuously and predictably deliver value. The work and the workflow is made visible – to make activities and issues like backups obvious. Kanban limits work in progress

Inside an iteration, effort across roles is uneven Development work often continues throughout a cycle while testing starts late and never seems to get enough time 6

Using a Kanban approach in software drops time-boxed iterations in favor of focusing on continuous flow. 7

SCRUM vs. Kanban Kanban has less rules than scrum Kanban is great methodology for Maintenance – teams that need to adapt to customer input on a daily basis. Scrum is good for development that is heavily dependant on stakeholders' feedback – The sprint lock and the end of sprint demos to stakeholders

SCRUM vs. Kanban In Scrum, you select the work you'll be doing for the next sprint beforehand. You then lock the sprint, do all the work, and after a couple of weeks - the usual sprint duration - your queue is empty.

SCRUM vs. Kanban In Kanban, all that's limited is the size of the queues, called the Work In Progress limit. This means that you can change the items in the queues at any time, and that there's no "sprint end". The work just keeps flowing. Kanban flow, with a WIP limit of 3 for the Todo, and 2 for the Ongoing

Why limit the WIP? Limiting WIP may have the following effects: –Reduces cycle time per task –Insures WIP is highest priority task –Reduces or eliminates queues between groups –Reduces multi-tasking by team members –Reduces lead times and increases quality

Work Process Flow Analysis – Create specification and acceptance criteria – Product Owners Development – Code features, fix bugs – Engineering Team Test – Test features and bug fixes – QA Team Merge and Deploy – Release features and bug fixes to customers

1. Define a work process flow Look at the typical flow for features, stories, or work packages and describe typical process steps This simple process flow has the steps: 1.elaboration & acceptance criteria 2.development 3.test 4.deployment 13

2. Lay out a visual Kanban board Place a goals column on the left, then a waiting queue, the process steps, and a final “done” column to the right Place “done and waiting” queues between each work queue (in this example they’re placed below) 14

3. Decide on limits for items in queue and work in progress A good limit is a factor of the number of people in a role that can work on an item in a given process step. Start with number of people * 1.5 This board uses painters tape to indicate available “slots” for work in progress 15

Kanban Boards 16

Explode large process steps into tasks to improve visibility When a feature, user story, or work item is large: – Takes longer than a couple days to complete – Requires that multiple people collaborate on its completion Decompose that step into cards to track independently Feature to develop Tasks in queue Tasks in progressTasks completeFeature complete 17

Often the feedback loop is overlooked – it’s the invisible backed-up queue Cockburn’s Software Engineering in the 21 st Century: 18