Kanban & Gunnison’s Visual Test Management Solution Presented to: Gunnison Date: 4/25/2013.

Slides:



Advertisements
Similar presentations
How to Implement Agile in Your Organization
Advertisements

SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
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,
BUSINESS DRIVEN TECHNOLOGY
Where We Are Now. Where We Are Now Traditional PM versus Agile Methods Traditional PM Approach Concentrates on thorough, upfront planning of the entire.
Agile Project Management with Scrum
An Introduction to Agile Project Management CHAPTER SEVENTEEN PowerPoint Presentation by Charlie Cook Copyright © 2014 McGraw-Hill Education. All Rights.
Agile development By Sam Chamberlain. First a bit of history..
JIT, TPS, and Lean Operations
Iterative development and The Unified process
Benefits of Lean Manufacturing: To benefit from Lean Manufacturing, the processes must be maintained consistently and correctly. Everyone involved must.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
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.
Adopting Agile for Enterprise Software Joe Bedell, Software Engineer Jason Breen, Software Engineer Peter Melko, Scrum Master June 15 th, 2015.
Kanban “Signboard”.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
N By: Md Rezaul Huda Reza n
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
IS2210: Systems Analysis and Systems Design and Change Twitter:
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
Current Trends in Systems Develpment
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Teaching material for a course in Software Project Management & Software Engineering – part II.
Software Engineering Environment  A quality focus: constant incremental improvement  Process: framework to organize development activities  Methods:
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Agile: Lessons Learned (a retrospective) Tony
Copyright © by Mark J. Sebern Software Engineering Process I The case for agile processes.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Why (or When) Agile Fails Creating high performance software delivery teams.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Agile Metrics It’s Not All That Complicated. © 2011 VersionOne 2 Welcome – About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Planning Extreme programming
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Agile Development Implementation Considerations. Agile software development is a methodology based on iterative and incremental development, where requirements.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
1 Requirements Engineering for Agile Methods Lecture # 41.
Think Scrum, act Scrum Scrum Practitioner like a boss Thibault Clavier.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
Kanban Advanced Software Engineering Dr Nuha El-Khalili.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Project Management Software development models & methodologies
Copyright © 2016 Curt Hill Kanban Software Development Paradigm The revenge of Toyota.
Agile Project Management Athanasios Podaras
Shifting to Agile: Are University Libraries Ready?
Appendix B Agile Methodologies
Rapid Application Development
Software Development methodologies
Agile Software Development Brian Moseley.
Copy rights  Exam Eligibility  Exam Pattern  Pre requisites  Content Distribution  Tools and Techniques  Domains and Tasks for.
Johanna Rothman Agile Team Measurements Chapter 12
How to Successfully Implement an Agile Project
Methodologies For Systems Analysis.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
CEN 4010 Intro to Software Engineering Professor Alex Roque
Chapter 2 – Software Processes
Introduction to Agile Blue Ocean Workshops.
09 | Kanban Steven Borg | Co-Founder & Strategist, Northwest Cadence
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Kanban & Gunnison’s Visual Test Management Solution Presented to: Gunnison Date: 4/25/2013

Topics K a n b a n

Kanban at NCS: Vanguard Workbench* The problems: 1.Releases were often delayed 2.Requirements weren’t clear 3.Uncertainty about what SCs really needed or wanted in the tool *Vanguard Workbench is a tool developed by S-3 for use by Study Centers to view the MDES, run reports, and validate their XML files against existing XML schemas

Kanban at NCS: LimeSurvey The problems: 1.No collaboration with anyone who understood the requirements 2.Development done on all surveys but not any one survey fully completed 3.Surveys deployed with defects

Our Solution Kanban

What is Kanban? 1.Process developed by Taiichi Ohno at Toyota to find a system to improve and maintain a high level of production. 2.Utilizes a “pull” system based on the actual demand of the customers (make what’s needed instead of making all we can just in case). 3.A method for JIT (just-in-time) production.

Kanban for Software Development  Kanban is not a software development methodology, it is a method Requires that a process is already in place so that Kanban incrementally changes the underlying process predictive Waterfall Model Spiral Waterfall eXtreme Programming adaptive rigid methodologies iterative methodologiesagile methodologies RUP Scrum Kanban

Kanban for Software Development  Traditional Project Management – triple constraint: scope, schedule, budget  Agile Project Management – possibly agreed upon schedule but scope is negotiable; still similar to traditional project management during the iteration/sprint  Kanban – no promises based on uncertainty as with traditional or agile project management; it offers a commitment to a level of service and to things that customers truly value based on their priorities The traditional approach to forming a commitment around scope, schedule, and budget is indicative of a one-off transaction. It implies there is no ongoing relationship. Kanban is based on the notion that the team will stay together and engage in a relationship over a long period of time. It implies a commitment to a relationship not just to a piece of work and therefore a higher level of trust.

Kanban for Software Development  Promoting incremental change has been controversial in the Agile software development community Kanban suggests that teams should not adopt a defined method or process template. Kanban might empower individuals and teams evolve their own unique process solutions, which allows for innovation.

Kanban for Software Development  One project could have several different teams, each with their own kanban board Each team’s situation is different and evolves their process to fit their context. However, the processes are derived from the same principles.

Kanban for Software Development Kanban principles:  Start with what you do now  Agree to pursue incremental, evolutionary change  Respect the current process, roles, responsibilities & titles  Visualize the workflow  Limit Work In Progress  Manage Flow  Make Process Policies Explicit  Improve Collaboratively

Kanban for Software Development Kanban principles in action: 1.Focus on Quality 2.Reduce Work-in-Progress 3.Deliver Often 4.Balance Demand Against Throughput 5.Prioritize 6.Attack Sources of Variability to Improve Predictability Enables Lean/Agile/Collaborative Culture

Kanban for Software Development  Focusing on Quality – Code inspections – Collaborative analysis – Use of design patterns – Modern development tools – Reduce quantity of design-in-progress

Kanban for Software Development  Reducing Work-in-Progress – Shorten iterations to drive higher quality – Limit work in progress There is a causation between quantity of work-in-progress and average lead time.

Kanban for Software Development  Delivering Often – Frequent releases build trust – Small releases provide evidence that software development teams can deliver and are committed to providing value – Reducing W.I.P reduces lead time and shorter lead times mean more releases

Kanban for Software Development  Balancing Demand Against Throughput – Set the rate at which new requirements are accepted into the software development pipeline – Doing so effectively fixes the work-in-progress to a given size – As work is delivered, more requirements are pulled from the people creating demand Limiting W.I.P through B.D.A.T creates slack. Slack enables continuous improvement. Therefore optimizing for utilization is not desirable and impedes the creation of an improvement culture.

Kanban for Software Development  Prioritizing – Optimize value being delivered – Can only be done after team has learned to consistently build high-quality code, reducing WIP, shortening lead time, releasing often, and balancing demand against throughput – Take action to optimize business value

Kanban for Software Development  Attacking Sources of Variability to Improve Predictability – Requires knowledge workers to change the way they work, learn new techniques, and change their personal behavior – For mature organizations – Variability results in more WIP and longer lead times

Kanban will cut costs:  Transactional costs – setup activities, cleanup, delivery  Coordination costs – scheduling, s, meetings, stand-ups  Failure load costs – new value-added work generated because of an earlier failing; work that uses capacity that could have been used for new value-added, revenue-generating features Kanban for Software Development Implementing the previous 6 steps will cut down on all of these costs. Quality on the front end decreases failure load costs and the transparent and visual nature of Kanban cuts down on transactional and coordination costs.

Back to our problems: Vanguard Workbench The problems: 1.Releases were often delayed 2.Requirements weren’t clear 3.Uncertainty about what SCs really needed or wanted in the tool How did we utilize Kanban to solve this?

Kanban at NCS: Vanguard Workbench The solution: Introduced Kanban to the S-3’s software development effort for Workbench.  Visual management via kanban board  Limit the work-in-progress  Closer collaboration with SCs to determine their priorities  Make Workbench development effort completely transparent to everyone

Back to our problems: LimeSurvey How did we utilize Kanban to solve this? The problems: 1.No collaboration with anyone who understood the requirements 2.Development done on all surveys but not any one survey fully completed 3.Surveys deployed with defects

Kanban at NCS: LimeSurvey The solution: Introduced Kanban to the instrument development effort for LimeSurvey. Documented their workflow Focused on quality – found over 150 defects in first phase of testing—this built trust with LimeSurvey developers Introduced work-in-progress limits Balanced Demand Against Throughput Prioritization Deployed 4 defect-free surveys in 4 weeks. Zero completed in the prior 6 months. "It is taking significantly longer to test instruments than originally anticipated. This is due to the very fine- grained level of detail in the testing that Gunnison group is performing. The finalized instruments are of extremely high quality."

Gunnison’s Visual Test Management a.k.a “Testban” Plan –  Create a kanban board that captured the most informative aspects of the testing effort as possible for that application  Make it as transparent as possible so that anyone could go in and see exactly what was going on with testing at that very moment  Level production so that we could focus on quality without worrying about rework  Give it a cool (?) name Slacking off—kanbanning the Kanban:  Our team thought that if we could kanban the entire development effort then why not try using kanban on just the testing effort?

Gunnison’s Visual Test Management Solution Agile/Lean Agile/Lean Leverages Kanban Leverages Kanban Can be implemented with a variety of tools Can be implemented with a variety of tools Not disruptive to existing processes Not disruptive to existing processes

Questions? E n d