Rethinking Agile Methodologies Part III: Moving away from Scrum. In Part I we looked at how I first got into Agile and Scrum. Last week in Part II, we explored how Scrum failed to be flexible enough to fit into my unique process. Today we will take a look at how I got introduced to Kanban. The start-up I worked at a few years ago that I described in Part II successfully used Scrum for traditional software development, however, when we were faced with a pretty unique development requirement, Scrum failed us. To refresh your memory from Part II, we had to spider thousands of web sites. Each web site was entered with a specification from a business user and prioritized. The developers worked on the highest priority item in the queue and published the RegEx patterns to a test server where the overnight process picked them up and the results were verified by a tester the next day and put into production.
All work was the same so we would assign a state to the work: We developed a classic “pull” system. After a few months we made another change. Common Myths of Kanban | NetObjectives. Kanban has come of age, and what that means is that there are now just as many (maybe more) misinterpretations of it than ever before. I've seen this happen when XP, Scrum and Lean became popular - so this is no surprise. There are some differences, however. With Kanban, there are thought leaders, such as myself, who are willing to say what Kanban is and not just say "it's what you do after you understand it. " While Kanban isn't a thing actually, it is somewhat well-defined and it is easy to tell if many of the things said about it are true. Here are some of the most common misinterpretations I've heard. Contents: Lean Development is a prescriptive approach to work in social systems Lean is not at all prescriptive. Kanban suggests linear work and requires too many hand-offs Lean manufacturing may assume linear work, but not Lean software development (nor Kanban).
Backlog Analysis Design Code Test Done it is not suggesting that the work be done by different people and hand things off. SCRUM vs. Kanban - About Agility. While doing my investigations, I found two key differences between Scrum and Kanban: The rules and the workflow. The rules Both Scrum and Kanban provide rules on how you should perform your work. An immediate difference between these two methodologies is the number of rules they impose. Scrum is quite prescriptive, and has a vast set of rules. Here are just a few: 1. The Product backlog is created and managed by the Product owner2. Kanban is much more open than Scrum, and it has only a couple of rules: 1. Now, being such an open methodology, it tends to be adapted depending on the environment. The workflow A direct consequence of this difference in rules is the way the work items are handled across time. In Scrum, you select the work you’ll be doing for the next sprint beforehand.
Typical flow of a Scrum process In Kanban, all that’s limited is the size of the queues, called the Work In Progress limit. Kanban flow, with a WIP limit of 3 for the Todo, and 2 for the Ongoing Which to pick? Think You're "Doing Kanban?" Think Again. Over the past several weeks I've visited three different cities in the U.S. with the same message: "Yes You Kanban. " For 90+ minutes I've discussed with attendees of the No Fluff Just Stuff software symposiums in Boston, Seattle, and Atlanta, the benefits that they can reap from incorporating the principles of Kanban, a methodology focused on continuous, iterative improvement of existing software development processes, into their daily work.
Don't miss what I just said. Kanban is a methodology focused on continuous, iterative improvement of existing software development processes. And yet you'll often see and hear statements like "We've stopped doing XP/Scrum/RUP/Process X and now we're doing Kanban. " Now it may be true that they've scrapped their previous methodology in favor of something that uses a kanban (little 'k') system (i.e. a pull system implemented using signal cards) to manage the work. However, it's quite impossible to use a kanban system without a process already in place. Deployment Automation vs. Build Automation. We Recommend These Resources Since make was introduced in 1977 to automatically build software, more areas of the software construction and release process have been automated. In fact, anybody building serious software without automating their builds, their tests and without using continuous integration is not considered to be a professional.
A hot topic within the application lifecycle management (ALM) space is deployment automation. This is driven by middleware environments getting bigger and more complex, by the increasing number of application releases demanded by modern businesses, and by the fact that application deployment needs to happen reliably to not disrupt online services and businesses. At XebiaLabs we have developed Deployit and that has given us a lot of insight into the deployment automation domain. In this first blog, I will compare deployment automation to the most well known form of automation in the software development process: build automation.