provides software and services that enable enterprises
Live Chat 1-888-673-6564
The Enterprise Open Source Blog
  • Home
  • Search
  • Contact Us
  • Products and Support
  • Services
  • Enterprise OSS Blog
  • Wazi Technical Blog
  • Resources Library
  • Cloud Services
  • Partners
  • Customers
  • Community
  • Company
  • Careers
  • News and Events

Subscribe by Email

Your email:

Most Popular Posts

  • Enterprise Apache Tomcat 7 Clustering - Designing an Efficient, Reliable and Productive Application Server Cluster
  • Open Source Virtual Whiteboards and Dimdim Review
  • An Enterprise Apache Tomcat Clustering Guide
  • Supporting CentOS In The Cloud With Windows Azure
  • VLC License Change: A lesson in perseverance
  • An In-Depth Look at Tomcat’s Clustering Mechanisms
  • Apache HTTP Server: New Features for Version 2.4
  • Why Closed Source is Better Than Open Source
  • Access Serial Ports through Ruby
  • JBoss AS7 Clustering Using mod_cluster and http 2.4 (Part 1)

Connect With Us!

Current Articles | RSS Feed RSS Feed

Kanban and Back Again: Lessons Learned in the Continuous Search for Agility

Posted by Freddy Andersen on Wed, May 23, 2012
  
Email This Email Article  
Tweet  
  

As part of our ongoing search to improve the way we deliver software, we recently tried Kanban on a new development effort.  Ultimately, we ended up taking some of the positive aspects and going back to more Scrum-like process, but the effort was very worthwhile.  OpenLogic has been using agile practices for many years now. Like most  things, the results are cyclical. Get comfortable for a while and then something changes and forces a period of adjustment. Thus it is important to continually review in order to recognize when change happens that affects processes (and let's face it, change happens very quickly in this industry). Luckily, as engineers, we embrace change.  We had the opportunity to look at a radical shift  in our agile processes due to starting new development on our CloudSwing product and Kanban fit with some of the ideas we had been discussing. CloudSwing gave us the ability to try out these new ideas without incurring some conversion costs for our much larger codebases.

Pros:

Small, incremental releases - We have worked with many release schedules, from long releases with 4-5 sprints to shorter cycles usually defined by an amount of time such as a single 2 week sprint.  With Kanban, the idea is that as each feature is ready, it can go to production.  This fits in well with what has become one of the most important tenets of our development processes: get code to production and in use. Code not in use can get stale.  Code in production gives a sense of accomplishment. It also reinforces that each feature must be always ready and tested for production because that's where it's going next.  Small releases ease the regression burden on QA and helps us remove drift from a stable system.

Work in progress limits - When you are a small team or a small company, there are always competing demands for time. By highlighting when people are working multiple tasks, it brought more awareness to the times when task switching was becoming a problem.

Cons:

Mid-term planning difficulties - Many Kanban users have said they have found no need for estimation. Kanban also seemed to be better suited to blocks of work essentially the same size. In that case, a trend of how long it takes to start and finish similar blocks of work can be translated into a form of predictability that can be used to plan the delivery of future features. For us, in practice, it was exceedingly difficult to design features of near equivalent size. It became more difficult to keep a connection between the mid-term planning and the actual story planning. This was also made more difficult by the next item.

Tooling - We have some pretty simple rules about the tooling we use to help manage our process. They can't get in the way. When things get a little crazy, the tools should help us manage the chaos, not feel like a hindrance. Using this criteria (and not breaking the bank), we evaluated several tools that seemed like they would work for our needs. Although each tool seemed competent at basic Kanban management, every tool including the one we ultimately chose seemed to be lacking in one way or another. Most importantly, the tools made it difficult to track history, plan ahead, and lacked a robustness in the data model that we were looking for.

Take Away:

Ultimately, we decided to return to a modified version of our original scrum process.  We implemented what we felt was the biggest gain from our use of Kanban: the small, incremental release. Scrum sprints essentially take shape behind us now as we work toward releasing as much as possible when it's ready.  Embracing a continuous release philosophy also has a significant impact on many other aspects of our development toolchain. Long testing cycles can hamper our ability to release as fast as we would like so we are taking steps to streamline the regression suite. Complex codebases with tightly coupled architectures increase the risk of even small changes to impact unexpected parts of the system so we are identifying areas where we can decouple sections of the codebase and release them separately.  We are redesigning our release processes so they can accomodate live deployments and help minimize the downtime often associated with releases. These are all things that we continue to work on as we strive to incorporate Kanban ideas into our Scrum process.

Kanban is a fine methodology that ultimately didn't work out for our team (at this point in time), but it contained valuable ideas that we have used to become a better development team.

2c0d2a7c-4baa-4a88-a426-b5de1deaf62e



Subscribe to The Enterprise Open Source Blog by Email

Follow @openlogic
Follow @cloudswing
Follow @esweid01

View Eric Weidner's profile on LinkedIn

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.

Follow @openlogic
Follow @OSCloudServices

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.
Tags: Software Development Lifecycle, Open Source Trends, DevOps

Comments

Currently, there are no comments. Be the first to post one!
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics

Loading...
Error sending email
Email sent successfully

Email article
Email To : 
Your name : 
Message : (maximum 200 characters)

schedule-a-deep-discovery-demo

Enterprise OSS Blog Policy

If you read a post on The Enterprise OSS Blog, please leave a comment. Let us know what you think, even if it's just a few words. Comments do not require approval, but they are moderated.OpenLogic reserves the right to remove any comments it deems inappropriate.

 

click-to-chat-with-a-live-open-source-expert

get-a-quote-on-support

download-the-support-evaluation-kit

Browse by Tag

  • 2013 (2)
  • Agile (1)
  • Apache (2)
  • apache tomcat (1)
  • AS 7 (1)
  • as7 (1)
  • Auditing (5)
  • Azure (2)
  • Budget (1)
  • BusyBox (1)
  • CentOS (3)
  • Closed Source Software (1)
  • cloud (4)
  • clustering (1)
  • CMS (1)
  • Code Scanning (1)
  • commercial distribution (1)
  • Community (4)
  • compliance (39)
  • C-Suite (1)
  • Database (1)
  • developers (2)
  • DevOps (15)
  • Drupal (1)
  • enterprise software (2)
  • foss (5)
  • Gitbhub (1)
  • Governance (36)
  • guide (1)
  • Hadoop (2)
  • HBase (2)
  • http 2.4 (1)
  • httpd 2.4 (1)
  • Java (1)
  • javascript (1)
  • jboss (3)
  • JBoss Cluster (1)
  • Joomla (1)
  • Legal (21)
  • Legal & Compliance (62)
  • Legal and Compliance (2)
  • license compliance (1)
  • Licenses (12)
  • Linux (4)
  • lisp code (1)
  • martin fowler (1)
  • Mobile (3)
  • mod_cluster (2)
  • MySQL (1)
  • Neal Ford (1)
  • open source (19)
  • open source compliance (1)
  • open source components (1)
  • open source events (1)
  • Open Source Governance (2)
  • open source legal issues (1)
  • Open Source Licensing (3)
  • Open Source Management (38)
  • Open Source Policy (3)
  • open source software (15)
  • Open Source Software Adoption (4)
  • open source software policy (1)
  • Open Source Training (1)
  • Open Source Trends (337)
  • Open Source vs. Commercial Software (3)
  • OSS (5)
  • OSS Packages (2)
  • PaaS (1)
  • paredit (1)
  • picketlink (1)
  • Policy (4)
  • PostgreSQL (1)
  • Presentations (1)
  • Programming (2)
  • red hat (1)
  • RHEL (1)
  • Ruby (1)
  • Scanning (27)
  • Scanning & Governance (12)
  • Scanning & Provisioning (30)
  • Security (13)
  • Shibboleth (1)
  • software compliance (1)
  • Software Development (2)
  • Software Development Lifecycle (7)
  • software infrastructure (1)
  • Solr (1)
  • Support (48)
  • Support & Services (2)
  • SUSE (1)
  • Technical Governance (1)
  • The Cloud (35)
  • The C-Suite (2)
  • tomcat (4)
  • Training (9)
  • Ubuntu (1)
  • Uncategorized (69)
  • Windows (1)
  • Windows Azure (1)
  • Wordpress (1)
  • Zookeeper (1)
Home | Search | Contact Us | Products and Support | Services | Enterprise OSS Blog | Wazi Technical Blog | Resources Library | Cloud Services | Partners | Customers | Community | Company | Careers | News and Events
Products
OpenLogic Exchange (OLEX)
License Compliance Module
OSS Discovery
OSS Deep Discovery
OpenUpdate
Services
Open Source Support
CentOS Support
Scanning & Compliance
Open Source Training
Professional Services
Solutions
Support & Indemnification
Open Source Governance
Open Source Scanning
Open Source Provisioning
Consulting & Training
Contact Us
1-888-673-6564


© 2013 OpenLogic, Inc. All rights reserved.
Site Map  |  Privacy Policy