My Agile St. Petersburg Interview

I have recently been interviewed Who-Is-Agile-style by Sergey Kotlov, the leader of the Agile St. Petersburg community. This post is the English translation of the inteview’s Russian original.

I am thankful to Sergey for this opportunity and being a great copy editor.


I met Alexei virtually when we translated Olav Maassen and Chris Matts’ Commitment book. As a result of our collaboration, one of the most important Agile books of the last several years will be available in Russian. All that remains to do is to print it. If you’d like to help us with that, write to us (or leave a comment to this post).

Alexei Zheglov

I was quite surprised when I found that Alexei is from St. Petersburg originally, even though he has lived in Canada for a long time. I couldn’t miss an opportunity to interview him, considering that he has recently been accepted into the ranks of Lean Kanban University (LKU), an international professional organization dedicated to Kanban. If I’m not mistaken, he is the first Kanban Coaching Professional (KCP) from the former Soviet Union.

What is something people usually don’t know about you but has influenced you in who you are?

First of all it’s my school where I and my classmates got a positive charge to last a lifetime: to keep learning, discovering new abilities and trying to be the best at what we do. I suspect I and the kids I went to school with were not alone at that. I believe many Russians who read stuff like Who Is Agile? went to a similar school or experienced something similar in university.

I also studied music for quite some time and that taught me to be attentive to detail in my work and also to change my repertoire often. Nowadays when I give consultations on IT process improvement, my material and methods are updated significantly over a short period of time.

If you would not have been in IT, what would have become of you?

The same, because I was not in it. I was interested in developing new products and technologies at the time. IT was about using what was already available.

People often call IT anything that has to do with computer technologies, but the distinction was very clear for a long time. People who worked on requirements, design and coding usually didn’t have access to the servers executing their code. People who “were in IT” were the ones who had access to the data centres where those servers were located. They used completely different knowledge and skills to develop this IT infrastructure. On the other hand, we wouldn’t let them near “our” source code. Then the two worlds began getting closer – we now call it DevOps.

Having made the journey through Agile to Lean, I got a chance to give consultations to IT specialists fighting fires in their data centres (just like in The Phoenix Project) and help them improve their processes with Toyota Kata and A3. We’ve come full circle to (Lean) IT. So, what if — I would have gotten the same thing.

What is your biggest challenge and why is it a good thing for you?

Putting my thoughts in writing. There is no chance to react to my audience’s reaction and correct what I’m going to say next. My written monologue will most likely not lead to the same level of understanding as a live dialogue. I have to choose my words carefully and that’s difficult.

Why is this a good thing for me? Daily practice.

What drives you?

“The stewardship of the living rather than the management of the machine”, the words from the Stoos Communique (see also: the group of 21), which resembles the Agile Manifesto and the Declaration of Interdependence, but it says more explicitly that processes of intellectual, creative work as well as ways to improve them ought to become more humane. This is in everybody’s interest: customers, company owners and, of course, workers who come to do their job day in and day out.

You can hear even from progressive Agilists: “a transformation plan”, “to build a process”, “to implement a new methodology”, etc.* – catch yourself and others when you hear it! This is the “management of the machine” language: a machine can be taken apart, put back together, installed, moved from one shop floor to another, changed over. But human organizations, where product development, IT projects and other knowledge-work activities take place, are not machines, but ecosystems that need to evolve organically.

(*-I picked three phrases from original Russian Agile sources as examples; their direct translations may not be the best examples of the mechanistic process change jargon in English – A.Z.)

What is your biggest achievement?

I don’t think it makes sense to list any moments of success or choose one of them. Whatever they might be, they will be surpassed by my children.

What is the last book you have read?

From Russia to Love, a biography of Viktoria Mullova. When I studied music, our teachers held her up as an example (she won the 1982 Tchaikovsky Competition). I don’t recall them doing it any longer though after she defected from the Soviet Union to the West during a concert tour. The book is about how people learn, pursue mastery and, even after accomplishing a lot, still find new goals and paths towards perfection.

I read a lot on my professional interests, both books and blogs, as well as books that can lead me to useful ideas obliquely.

What question do you think I should also ask and what is the answer?

The question would be about the literature and a list of useful sources on Kanban. Of course, we’re not talking about organizing a visual board in your office, which is easy to do, but about understanding Kanban deeper. What do experts know and where do they find the ideas they present to us?

I created a list to answer this question. It is not a complete list by any stretch, but is a good foundation. I tried to include the books containing ideas already internalized by coaches (especially those recognized by Lean Kanban University) who use them effectively to guide evolution of processes and organizations. I am sure there are those in Russia who are interested in this stuff; they can write to me and I’d be happy to discuss these ideas and their practical applications.

What do you think is missing in the St. Petersburg Agile community and how to change it?

We are missing an internationally-recognized expert, author and leader, who would also be an excellent organizer of conferences and communities. Someone like Arne Roock (LinkedIn, blog) from Hamburg. Possibly, he or she will step up eventually.

Who should be the next person to answer these questions?

I’d like to name three people. Denis Khitrov knows business and innovation, because he’s been doing that for years. This is exactly where our methods, Agile and whatnot, ought to make impact. His latest venture MedM, at the intersection of medicine and mobile technologies, has just brought home to St. Petersburg the main prize from Skolkovo, beating 800 other startups for it. Also, talk to two Nikolais – Shevelev and Pultsin.

Posted in life | Leave a comment

The Best of 2013

At the start of the new year, I’d like to take a look back at my blogging in 2013 and find a small selection of posts that turned out better than others, were useful to someone, were popular among readers, or stood out in some other way. I wrote 27 posts in 2013, as WordPress informed me, or about one every two weeks (I thought it would be 40 or 50).

  • How to Match to Weibull Distribution in Excel. It turns out the statistical distributions from this family are often found in the data sets of lead times of various types of knowledge work, from large projects to small user stories and support tickets. But how do we know whether our data set matches this distribution and what can we infer from the match?
  • Scrum, Kanban and Unplanned Work. This post contains the phrase I should perhaps trademark: Switching from Scrum to Kanban, Missing the Most of Both?
  • The Seven Meanings of Kanban. I think I’ve discovered an eighth meaning, but I’m not 100% sure. If I have, I’ll blog about it in 2014.
  • Open Space Without Proposals. One of my trends of 2013 was searching for alternatives to the familiar open-space unconference format. In this post, I recount my experience at an Agile Coach Camp, when I tried to do something useful without proposing any sessions.
  • Debunking the 10,000-Hours-of-Practice-Theory. Deliberate practice is important, but I feel we can find better ways to reason about it.
  • Shew-Ha-Ri: a Three-Level Model for Dealing with Variation. At the Ha level, you stop calculating control limits by adding plus-minus three standard deviations to the mean.
  • T-Shirt, Rabbits, Lizards and Sizing Software Features
  • Some Remarks on the History of Kanban
  • The Elusive 20% Time. My most visited post of the year wasn’t even written in 2013. I wrote it in 2011 as an expanded answer to a StackExchange question. It picked up a lot of votes there, but, unfortunately, one of the moderators decided that the question was no longer relevant to the site and closed the question, thus sending all answers, including mine, into obscurity. (Lesson learned from StackExchange and LinkedIn Q&A: consider contributing to your own blog first. I was able to recover this post, but wasn’t so lucky with some other contributed material.) So, I reposted it on this blog in 2012, but it wasn’t until 2013 that it got a big spike in traffic.
  • SPaMCAST #264: Lean and More. Not a blog post of course, but a popular interview on Tom Cagley’s Software Process and Measurement podcast. Early in the conversation, I ask, if the two pillars of Lean are respect for people and continuous improvement, how come some many people equate it with eliminating waste? And it goes on from there. This 35-minute (net) interview placed third among all 2013 SPaMCASTs – here are the top 10, an interesting company.

I hope to post more often in 2014 and have a good backlog of topics coming up. Stay tuned!

Posted in blog | Leave a comment

Working Effectively with a Performance-Testing Bottleneck

Not long ago, a software performance architect brought to my attention that she and her colleague (the performance-testing team) were overloaded with performance-testing requests from product teams. The performance testers wondered if they needed to change their mini-team’s process to handle this workload more effectively. (Among the questions I was asked was, planning our work in sprints doesn’t seem to make sense, maybe we need Kanban?)

The important point here is that achieving better team performance (measured as throughput in this case, but could also be the team’s responsiveness or the satisfaction of its organizational partners) often requires not improving teamwork or some team-centric approach, but an organizational focus. In this case, seeing organizational workflow and applying the Theory of Constraints to the context.

A product development process with a bottleneck in performance testing

How does that work? The part of the TOC that is useful to us here is the Five Focusing Steps.

Step 1: Identify the Constraint

A quick lookup of the performance testing team velocity and the size of their backlog of requests and a quick calculation showed that they had about three years worth of work in their queue. We could also sense the bottleneck. During the time of our conversation in the team area, several arriving email messages flashed on the screen, where some project manager was asking, when do you estimate you will begin putting my Product X in Perf Lab?

What should we do? Hire more performance testers? This is not the next Focusing Step!

Step 2: Exploit the Constraint

In our case, we’re trying to re-route some of the flow around the bottleneck. Not all features have equal risks of falling short of their performance requirements. Teams working on riskier features get more engagement with the performance experts. The work of others bypasses the bottleneck and they have to figure out how to meet both their functional and non-functional requirements without relying on a scarce resource. Creating options to reach the their goals instead of asking “when?”

Staff liquidity is another important concept here. Software performance has to become an organizational competency and people at the highest levels of expertise in this competency are best used as coaches and not as service providers. This is true and applicable not only to performance, but to many other areas, including UX, accessibility, deployment, and so on. Changing how the performance experts engage with teams is both helping us exploit our bottleneck and take us in that direction.

Step 3: Subordinate to the Constraint

We advise teams to stop making generic performance-testing requests and instead make requests aimed at learning something about the performance of their software features. For example, can it handle X concurrent connections? What will the response time for Y rows of data? How much hardware do it need to run this for a client with Z users?

The five focusing steps to solve with the bottleneck

Step 4: Elevate the Constraint

Book cover: Eli Goldratt's The Goal

“Elevate the Constraint” usually means investment – hiring more people (in this case, software performance testing experts), buying more equipment, and so on. The important part is that this step follows Steps 2 and 3 – the money is invested in amplifying the throughput of the improved process. It would be wasteful to throw it after an unimproved process where experts are pestered with “when” questions by project managers who don’t yet understand their options.

Step 5: …We’re yet to get there 🙂

In the meantime, read The Goal by Eli Goldratt, if you haven’t already.

Posted in hands-on | 1 Comment

The Continuous Improvement Likbez

A poster made in the early years of Soviet Russia (after the revolution) during the campaign to eliminate illiteracy

“An illiterate person is a blind person” (a Russian poster circa 1918)

Likbez (ликбез) is a neologism that entered the Russian language in the 1920s, after the revolution. Formed similarly to many new words of the day by abbreviating long phrases, it meant the “elimination of illiteracy” (ликвидация безграмотности). At the turn of the 20th century, for which the data are indisputable, the literacy rate in the Russian Empire did not exceed 25%. Also not disputed is that it was near 100% by the mid-century in the post-war Soviet Union.

It can and should be noted that the Soviet literacy program was not voluntary, millions of people were coerced to take part in it, and that the new Soviet state coerced many people into many other things, exacting a huge human toll. The tsar’s government also had some designs on increasing literacy in the early 20th century and the lower classes of the Russian society had developed some coping mechanisms to compensate for the Romanov dynasty’s failure to meet their basic education needs. It can be argued that such programs and mechanisms would have closed part of the literacy gap by mid-20th century. But then another question has to be thrown to this pile, whether the fall of the Romanovs in 1917 was not a consequence of how they ran the country for three centuries. All of these things cross into the political territory, which is not the subject matter of this blog.

The word likbez meant both the nationwide literacy program and the physical place in a town or village where people would go to after work to learn to read and write. Nowadays it also means a remedy to obvious ignorance of the basics of some subject matter.

Likbez is that rare word I needed

Such ignorance was in front of me yesterday when a colleague, who arrived prepared with some PowerPoint slides, outlined a six-step “continuous improvement” method. The Step Six was “Implement Solutions.”

This person did come from the part of the company that has been slower to learn and more difficult to engage than the rest. What I and other coaches are going to have to do about this is a private and confidential matter, so I’m not going to go into it in this post. Also for obvious reasons, I cannot post the spectacularly bad diagram of this six-step process – so, a textual description only.

I can google and buy a reprint of a New England Journal of Medicine article on treating some illness, and show you the PowerPoint slides I made from my read of it. If you happened to fall ill, would you like me to be your doctor? My treatment plan comes from an authoritative source! You would probably say no. If there was a real doctor in the room, they would probably notice that I don’t get something very basic about medicine. It will come out despite my preparation and best intentions and it will happen in ways I don’t understand. They will call me out on that.

This post is for those who may face such situations at work — they are not uncommon in the software and IT fields — so that they can recognize and do something about them. This is not about how to pursue continuous improvement, but how to stop producing BS.

Let’s go there

If you could analyze, design and implement continuous improvement solutions, you wouldn’t need continuous improvement! Think about it again.

There are many ways to pursue continuous improvement and it almost doesn’t matter if you use PDCA cycles or PDSA or OODA or POOGI or Build-Measure-Learn or YMCA or LMAO. Here are some of the basic elements that exist in all of them.

Continuous improvement relies on the scientific method. The main sign that the scientific method is in use is not large amounts of data and complicated formulas. It is the presence of models, hypotheses and experimentation. We create models of our system, formulate a hypothesis, and design an experiment that can validate or invalidate it. Experiments can succeed or fail, that’s how they create information that leads to knowledge. If an experiment always succeeds, it produces no information.

Any continuous improvement method at the very minimum includes steps to validate that something we did was actually an improvement. It has to be conducted after we have implemented it and designed before we start the implementation. There is no validity of experiments without predictions. We also need to cope with any possible outcomes of the experiment that can alter the state of our system (what if it succeeds? what if it fails?) These are, respectively the C (Check, or S-Study) parts of the PDCA/PDSA cycle (the fitness test) and the A (Act) part of the same cycle — to illustrate this point using one method as an example.

The earlier steps of a continuous improvement process subordinate to the later steps. How we go about an early step depends on what we want to learn at the later step. The learning steps are a bit later in the process, because there is nothing to test for fitness early on.

For example, in the Build-Measure-Learn loop (the main adaptation mechanism of the Lean Startup method), Measure subordinates to Learn — we don’t measure more than what we need to measure in order to learn — and Build subordinates to Measure — we don’t build more than what we need to build in order to measure. The order of the Five Focusing Steps in Eli Goldratt’s Process of OnGoing Improvement is also not coincidental.

Metacognition. A fancy word for learning to learn, this is classic Deming, part of the System of Profound Knowledge. “Going meta”, context-specific conversation about how knowledge is created and managed and about the boundaries of experimentation are essential. Are you hearing “this is too meta for me?” You’re in the make-believe land.

You Wouldn’t Need Continuous Improvement, If…

…if you could analyze, design and implement continuous improvement solutions. There would be no need to empirically accumulate the knowledge that separates the current condition from the desired, improved state. A one-step improvement process would suffice!

Step 1: Book your tee time

Proof by contradiction? Or we need a math likbez, too?

Posted in life | Leave a comment

Debunking the 10,000-Hours-of-Practice Theory

Now that I brought up the subject of music with my previous post, I want to express my skepticism of the popular theory there is a universal “magic” number of 10,000 hours of practice that one has to complete in order to achieve top levels of performance in pretty much any profession. You can probably guess at this point that what I know about music is somehow contradictory to this theory.

Book cover: Malcolm Gladwell, Outliers

The theory of 10,000-hours of practice was introduced in a best-selling book Outliers by Malcolm Gladwell. This book is one of the worst non-fiction books I’ve ever read, as it is not well-researched and written in a sensationalist manner. Following a recent Asiana plane crash in San Francisco, a Korean blogger wrote a very thorough fact-based critique of Gladwell’s Ethnic Theory of Plane Crashes, which is one of the chapters in his Outliers book. (That chapter seemed suspect to me when I read the book as Gladwell had problems with Russian geography and also failed to recount one of the key episodes of the Cold War with any accuracy.) The chapter on music practice sounded dissonant to my experience with it. If someone knowledgeable in statistics could redo the analysis of hockey players’ birthdays, the takedown of Outliers would be complete.

I don’t mean to bash this book. It is true that Gladwell stimulated many smart people to think about their work in new ways. However, when we consider introducing something new into our professional practice, we want to have some evidence-based discipline to fall back on, and best-selling non-fiction books are not where you’d find that. Unfortunately, many Gladwell readers didn’t realize that.

Recent Update

The update on his 10,000-hour theory in Gladwell’s recent New Yorker article is a mixed bag. One one hand, he continues down the same pseudo-scientific path, citing a study of composers, who, “in almost all cases” “did not create their greatest work until they had been composing for at least ten years” (except three that took nine or eight). What is exactly that “greatest work” that Paganini composed in exactly the tenth (not ninth or eleventh) year of his experience with composition? How was it ascertained that all the works that followed were uniformly better than what he composed in the first nine years? How was it determined with such amazing precision when exactly he started with composition? Besides, if there is a data set of numbers ten and up, nine doesn’t make an outlier.

On the other hand, Gladwell is onto something when he says, give me an example of an NBA point guard who has not spent 10,000 hours on the court to get to the NBA. Calculate backwards, of course! If someone started playing basketball in Grade 1 at age 6 and joined the NBA after college, aged 22, that’s 16 years of practice, 625 hours per year or 1 hour and 43 minutes per day. A kid who wants to play basketball and be good at it can get this amount of practice by playing basketball after school. Those who don’t probably don’t make it to the NBA.

However, calculating backwards can also be used to disprove the 10,000-hour theory, as we will soon see.

So, What Do I Know?

As I wrote in my previous post, I spent several years inside the Soviet classical music education system. Many of the teachers in my school were conservatory graduates, each has trained several pupils in their career who went on to become professional musicians, and I knew some people who were enrolled in the Leningrad conservatory at the time.

This, on big stage on 10K hours? I don't think so.

This, by practicing an hour and a half per day? I don’t think so.

The numbers for musical practice Gladwell cites in his book are laughable. The “high” numbers from which he derives the 10,000-hour rule would actually correspond to those “recreational” musicians, who used the study of music to broaden their education, who would not go on to become professional musicians, but would stay in the game long enough to achieve good amateur levels. The pros practiced significantly more than that. Typical hours of practice among the conservatory students were about 6 per day, 7 days a week (this is actually better off for the muscle memory than 8 hours, 5 days a week). This translates into about 2,200 hours per year, more than a full-time job, because they didn’t stop for a few weeks to take a vacation. So, a typical conservatory graduate logged 10,000-12,000 hours during the five years of conservatory alone. The entrance to the conservatory itself required a very significant level of mastery very few achieved and the typical path was through the 10-year prep school (between ages 7 and 17), where one would ramp up to the conservatory level, starting with perhaps half as much. That’s another 14,000-17,000 hours. And the kids who were selected to enter the conservatory prep school of course began taking music lessons several years earlier. All these hours added up – conservatively – to 25,000-30,000 for a 22-year-old conservatory graduate, which was only an entry level into the musical performance profession. Very few of those would become concert pianists and violinists or celebrated performers whose recordings of classical compositions you could by in a store. (Most would play in an orchestra or switch to teaching music at some level.) Their number of practice hours would continue to grow at a rate of at least 10,000 every five years, certainly exceeding 60,000 by the time they reached peaks of their performing careers.

Calculating Backwards Again

These numbers can be easily checked by calculating backwards. Ten thousand divided by 17-18 years for a recent conservatory graduate works out to about 1 hour and 35 minutes per day, which is not going to get you anywhere on the professional path. Actually the recently published biography of Viktoria Mullova (who won Weniawski, Sibelius and Tchaikovsky competitions in the early 1980s and then went on to a very long and successful soloist career) mentions that she put more practice time before leaving home for school in the morning. So, 10,000 is not even near the ballpark.

Deliberate Practice Is Still Key; We Just Need Smarter Ways to Think About It

The first couple of points are trivial. First, we have to accept there is no single, universal number. Some disciplines simply require much more time than others. Second, different people learn at different paces. Some learners need more time and some will need less, relative to the “average” number for their discipline.

Third and more importantly, the pace of learning is not constant. People’s paces of learning to learn vary, too, further increasing the variation of total learning times. The pace can also be accelerated deliberately by learning to learn. (A trick my music teachers taught me: memorize the score as early as possible; then you can repeatedly practice difficult parts while your eyes look at your hands and the instrument instead of staring at the sheet music.) Mullova’s biography notes how her first music teacher (whom she started working with at age four) observed not only her playing, but also her learning, and how he insisted that her father rearrange his work schedule to be present at every lesson. That was another technique used by Soviet music teachers aimed at accelerating the learning between lessons. Techniques of learning to learn certainly vary by discipline.

Accelerate Learning and Create the Time Advantage

Fourth and still more importantly, many fields have individuals driven to excel and who can spend a few thousand hours a year and get fast at learning (by choosing a field where they can do it naturally, by learning to learn, or both). These people don’t just reach their destination ahead of the crowd and then rest on their laurels. They can dedicate decades of their lives to their passions, so they can use the time advantage to redefine the standards of competence and excellence in their fields. This multiplies the time it takes others to get there and can place it out of their reach. Classical music is an example of the exploited time advantage. The modern, technically difficult repertoire was created by generations of composers and performers who spent their whole lives pushing their artistic and technical limits. Anyone who wants to repeat the performances of the previous generation of musicians faces a huge task.

Examples of using deliberate practice for competitive advantage by creating time with accelerated learning can probably be found in many other fields.

Posted in life | 1 Comment

Something I Learned by Studying Misic as a Kid

This was the topic of the second of my three super-lightning talks that I fit into two minutes at the 2013 Agile Coach Camp Canada. This post continues the series of reports from the camp, started here and continued here, and gives an expanded version of what I was trying to say to the participants.

Theme image

Those how know me well personally know that I grew up in Leningrad, now St. Petersburg, and spent several years studying music. I started violin when I was six and piano a couple of years later. I went to our city district’s children’s music school where they had teachers who taught me many things, but after the age of 13 I was on my own. I stopped playing violin at that point, but continued with piano without anybody’s help for a few more years. It was also at that point that I began devoting more time to athletic and academic extracurricular activities, which would soon lead me to computer programming, where the seeds of my professional career were sown. Music was all just an extracurricular activity, because it was clear pretty early that even though I wasn’t bad at it, I wasn’t material from which professional musicians are made. The teachers’ praise “this boy is your future” was reserved for somebody else.

The way music education worked in Leningrad at the time, the teachers completely updated their students’ repertoires in September when the school year started. All pieces of music you played last year were removed and you were given several more difficult ones. The teachers chose the level of difficulty appropriately, but it always went up from the previous year. Not only you had to learn the new pieces, but they were also more difficult, so you also had to learn some new techniques, and to do that you were given several new etudes. You had less than three months to get all of it in decent shape, because the recitals, concerts, and competitions started in early December. There could be some additions to the repertoire in the middle of the year, but nothing carried over past September.

Having to completely renew the repertoire and learn several new pieces of music in relatively short time was an important element of difficulty. It existed in addition to technical and artistic difficulties. Overcoming this difficulty was an important skill that had to be mastered in addition to technical and artistic skills, otherwise there was no chance of long-term success. This skill would not develop by spending another year to perfect an old piece of music.

Bring New Stuff

The takeaway from this story for us, professionals in various knowledge-based fields, is that we have to update our repertoire often. Our strength is not in possessing skills, but in the ability to renew and learn new ones. Especially for those of us leading, coaching, consulting others, we have to be relentless in developing new knowledge, training material and competencies.

If you performed works of, say, Chopin at Carnegie Hall this year, you may be welcome to repeat the exact same performance next year. Everybody else, going to other venues, bring new stuff.

Posted in conferences | Leave a comment

The Seven (or More) Meanings of Kanban

A number of articles appeared recently that, while making some their point, tried enumerate different meanings of the word “kanban.” I would like to show my own set of definitions that I found useful to keep in my head when facilitating understanding of improvement options in the knowledge-based workplace.

The moat of the Imperial Palace in Tokyo

The moat of the Imperial Palace in Tokyo

1. Kanban as a permission-giving signal. Kanban is a signal that gives someone permission to start doing something. An example of this is the token system used by the Imperial Palace in Tokyo, documented in David Anderson’s Kanban book. My children’s elementary school limits the number of parents that can be inside the school observing their children’s classrooms; there is a small box with visitor lanyards in the principal’s office. I have seen an example of a similar system in a sushi shop and how it helps sushi chefs continuously adapt to variable demand. These and other examples I have seen suggest that such signaling concept originated in Japan and possibly dates as far back as the 17th century.

A simple virtual kanban board.  In its current state, the board is sending one permission-giving signal (to pull an item from the Backlog into To Do).

A simple virtual kanban board. In its current state, the board is sending one permission-giving signal (to pull an item from the Backlog into To Do).

2. Kanban as a virtual permission giver. People familiar with kanban in physical contexts (1st meaning) may find it very difficult to locate the permission-giving signals on a Kanban board in an office today. This is because the boards visualize an invisible process and use WIP limits to create virtual kanban and use them as signals.

End-to-end Kanban system

3. Kanban system comprising multiple steps in workflow joined together by permission giving signals (1st meaning). This concept is popular in manufacturing and logistics, where you can use kanban signaling to create a pull system for your assembly process or supply chain.

Virtual Kanban System

Virtual Kanban System

4. Virtual kanban system based on virtual kanban signaling (2nd meaning) in the office. People familiar with kanban system in physical environments, such as manufacturing and logistics, may not recognize virtual kanban systems in knowledge work. You can tell a virtual kanban system on a whiteboard or in an electronic tool by observing consecutive columns with WIP limits. Virtual kanban signals (2nd meaning) cannot propagate through columns with infinite limits (called “buffers”). Infinite buffers, if they exist, divide the value stream into multiple virtual kanban systems.

Such kanban systems can be used to manage work in fields such as software engineering, graphic design, marketing communication, product development, entrepreneurship and many others.

5. Kanban as an evolutionary improvement method for the knowledge-based workplace. The method includes virtual kanban systems (4th meaning) as a way to implement one of its core practices: limit work in progress. It also has a definition including four principles and six core practices, a depth model, and a body of knowledge on how to apply it, emphasizing service orientation, organizational improvement focus and certain behaviours of coaches and change agents.

The existing definition and knowledge of Kanban makes it an appropriate method for evolutionary improvement of knowledge-work organizations, which is known to be a Complex-domain problem. Of course, it is not the only method suitable for this class of problems.

6. Kanban the information radiator. Writing work items on post-its and sticking them to the wall is mostly a misinterpretation of the virtual kanban system concept. I’m including it here because it persists, unfortunately. Popular literature adds to this misunderstanding from time to time, the latest example being The Phoenix Project (which is generally a recommended book for IT and software professionals as its positives outweigh this and several other flaws – but this is a topic for another blog post). People who have discovered this meaning of kanban are encouraged to explore other meanings.

Limited WIP Society logo

7. The Kanban community. The last several years saw the emergence of a new community. Many participants may have joined it to learn more about Kanban systems (4) and the Kanban method (5), but their inquiry has broadened to include Lean, complexity and cross-disciplinary connections. The result was fast development of Agile innovations that are useful to many, whether they use Kanban (5) or kanban systems (4) or neither. Examples of such innovations include Håkan Forss’ adaptation of Toyota Kata to the IT world, Troy Magennis’s work on Monte Carlo techniques for software project risks, and Jeff Anderson’s Lean Startup for Organizational Change.

One can participate in this community at intermediate and expert levels at conferences or at introductory and intermediate levels using local groups that go by the name Limited WIP Society. Participation in this community correlates with one’s ability to interpret this fast-evolving knowledge as well as the ambiguous terminology. Kanban (7) can thus be their gateway to innovation whether they use it (1-5) or not.

Posted in facilitation | 2 Comments

Shew-Ha-Ri: a Three-Level Model for Dealing with Variation

Continuing the statistical theme of the last two posts, but trying to close it at the same time.

I observe three different levels of dealing with the same problem: look at a data set of some metric and tell whether our process is in statistical control, which data points represent normal common-cause (chance-cause) variation of the system’s behaviour, and which ones are outliers that have an external (also called special or assignable) cause of variation. The distinction is important. If it’s the former, the continuous improvement path goes through improving the system as a whole in a way that would move the average of the metric or reduce its variation. If it’s the latter, it goes through understanding the root cause of the outlier and eliminating it. We need to categorize the results of our measurements and we want to avoid categorization errors known as Shewhart Mistakes 1 and 2. This problem falls under the second item, Knowledge of Variation, of W. Edwards Deming’s System of Profound Knowledge.

The building in New York City (that used to be a factory), where Walter Shewhart pioneered his statistical process control techniques.

The building in New York City (that used to be a factory), where Walter Shewhart pioneered his statistical process control techniques.

The simplest way to approach this problem is to calculate the average and the standard deviation (commonly denoted by the Greek letter sigma) of our data set and calculate the control limits as the average plus-minus three sigmas. Then everything within these limits is common-cause variation and outside the limits are the outliers.

I began asking about this rule some time ago, why is the numeric constant in this rule equal to 3? Why is it not e=2.712828 or pi=3.14159 or some other important mathematical constant? Why is it not 1.96 (which would represent the 95% confidence interval) or 2.57583 (99%)? If the constant is 3, a data point has one chance in 370 of being an outlier; if it were e or pi, it would have one chance in 152 and one in 595, respectively. None of these are “magic” numbers with any universal meaning.

The best explanation I could come up with is simplicity. Calculating percentiles for the normal distribution requires a scientific calculator. But, if the average is known to be 50 and the sigma is known to be 3, then the entire staff can be trained at a minimal cost to calculate the control limits as 41 and 59 and flag the outliers. Simplicity democratizes process control and helps ensure the simple best practices are followed. It doesn’t matter if an outlier’s chance of occurring is one in 370 or 400. As long as we are in that ballpark, we can have a good balance of attacking the roots of special-cause variation and working on the system.

Ha: Digress

Looking at data sets of metrics from real-world software and IT projects, experts started to realize the distributions are not normal. Actually, Shewhart was first to point out that industrial production processes don’t necessarily lead to the Gaussian distribution. I already referred in my last two posts to the insight that project lead times often have the Weibull distribution. Many service processes are well-described by Markov chains, which leads to the Poisson distribution of arrivals and departures and to the exponential distribution of cycle times. Larry Maccherone, who examined many data sets as a researcher and the director of analytics at Rally Software, spoke at LSSC12 about (among other things) how assuming that a distribution is close enough to a bell curve can significantly and dangerously understate project risk.

Working effectively with such realities requires more complicated, expert-analysis-type approaches. We have to match data sets to distributions, instead of pretending it’s always the normal distribution. We have to develop techniques based on mathematical properties of known distributions for calculating control limits and estimating percentiles. For example, the control limits for exponential distribution are very easy to calculate – the UCL is six times the average (six-over-lambda is this distribution’s equivalent of plus-minus-three sigma), while the LCL is always zero. This is a simple rule, but it takes some math skills to derive it; also, we have to see if our data fits the distribution, and that’s complicated. My previous post suggested how something similar can be done in a general case for the Weibull distribution. Workers, managers and consultants doing this need better knowledge of statistics as well some skills in algebra and calculus to manipulate complicated formulas with many Greek letters.

Ri: Transcend

Eventually, we find ourselves in a situation where formulas with Greek letters don’t help. The most common distribution in knowledge work is the Unique distribution. We cannot match it to any familiar distribution, so we cannot use any familiar formulas.

If we went by the same percentiles that are considered outliers on the normal distribution, we would have to wait for the collection of a sizable data set that would have one data point fitting into the 99.8-th percentile. There would be at least two problems with that. First, continuous improvement cannot wait this long. Second, if we wait this long, the system is likely to undergo some change that would make the early-arrived data points meaningless.

At the end of the day, we don’t just play with numbers, we have to make decisions how to proceed with the continuous improvement of our system. We have to take our next step – by using safety-to-fail, experimentation, abductive thinking and accepting that some things in this world are only weakly and retrospectively coherent.

Posted in hands-on | 1 Comment

On the Practically Useful Properties of the Weibull Distribution

Weibull distribution shapes depend on the shape parameter

Weibull distribution shapes depend on the shape parameter

In my previous post, I referred to the insight (created by experts who have analyzed lots of real-world software and IT project data) that lead times in such projects often have the Weibull distribution. I also explained a bit what this distribution is and showed a method to quickly test whether your data set matches this distribution and it it does what is it’s shape parameter. Remember, Weibull is a parametrized family of distributions, each distribution is identified by the shape parameter, which tweaks the shape of the distribution curve. This parameter is characteristic of how the work tends to expand and get interrupted in a particular context, so it characterizes the system of work where the project is being carried out.

Now I’d like to identify some practically useful properties of this distribution. Most of them are linked to the shape parameter, denoted by letter k, so it is very important to know what this parameter is in your context. I also want to limit the scope to shape parameter range between 1 and 2, because, as I learned from Troy Magennis, k=1.5 is fairly common in software/IT projects.

Forget the Three Sigmas

Calculating the standard deviation for this distribution is meaningless. The mean and the standard deviation are often thought of as two separate variables characterizing a distribution, and the following may be counter-intuitive to those who are used to Gaussian bell curves, but the Weibull distribution’s nature is that its standard deviation and mean are linked strictly. Not only that, but all the numbers we need from the distribution are also proportional to the mean and the proportion depends only on the shape parameter. What are these numbers that we care about?

  1. The median – what’s the over-under of how long this work will take? Because Weibull is asymmetric, this is not equal to the mean.
  2. The mode. When we think about estimating work, our brains may be primed for the most often-occurring numbers. But as we will soon see, the most often-occurring number may be quite far and on both sides of the mean and the median.
  3. Important percentiles, such as 80%, 95% – what is the timeline for completing the work with such probability?
  4. The statistical process control limits – the equivalents of plus-minus-three-sigma for normal distributions.
  5. The ratio of the mode to the upper control limit – practitioners of Product Sashimi can probably guess why.

Here are all the necessary formulas:

Formulas for the mean-to-mode, quantile-to-mean and control limits

Results

Here are the results. To keep the table compact, the mode, the median and the percentiles are expressed as their ratios to the mean. I also dropped the lower control limits from the table, because they are all very close to zero.

k Mode Median 80% 95% UCL Mode/UCL
1.1 0.117 0.743 1.487 2.616 5.768 2.0%
1.2 0.239 0.783 1.398 2.437 5.128 4.7%
1.3 0.350 0.817 1.332 2.148 4.627 7.6%
1.4 0.448 0.844 1.280 1.996 4.227 10.6%
1.5 0.533 0.868 1.240 1.876 3.901 13.7%
1.6 0.604 0.887 1.207 1.780 3.630 16.6%
1.7 0.665 0.903 1.180 1.701 3.403 19.5%
1.8 0.717 0.917 1.158 1.636 3.210 22.3%
1.9 0.761 0.929 1.140 1.581 3.044 25.0%
2.0 0.798 0.939 1.124 1.534 2.901 27.5%

What can we see here? The most-frequently occurring lead time — which may stick in our memory and which we as estimators may be biased towards — may be as little as 20-40% of the mean. At the same time, the timeline 80% delivery guarantee can be 40% longer than the mean. Providing delivery guarantees beyond 80% is very expensive. The Weibull tail is significantly fatter than the normal distribution’s tails.

The ratio of mode to the upper control limit can be useful to teams using iterative development methods. It shows how the time to complete a typical user story (from selecting it during sprint planning to meeting the definition of done) relates to the iteration length. It confirms what XP practitioners knew all along: keep them much smaller than the iteration length.

For the popular shape parameter value 1.5, the ratio of the upper control limit to the mean is approximately 4. This can be used as a rule of thumb to estimate one of these numbers after observing the other.

Posted in hands-on | 4 Comments

How to Match to Weibull Distribution in Excel

UPDATE: The contents of this post are still valid, but there is a new, complementary post: How to Match to Weibull Distribution without Excel.

Warning: this is a very technical, hands-on post.

Weibull distribution comes in several shapes, determined by the shape parameter

Weibull distribution

It turns out Weibull distribution is quite common among statistical distributions of lead times in software development and IT projects. This insight belongs to Troy Magennis, who is a leading expert on Monte Carlo simulations of projects and examined many data sets from real-world projects. He also has an explanation how the nature of knowledge work and its tendency to expand and get interrupted leads to this distribution. I recommend that you learn more about his work that won him a Brickell Key Award. The insight about Weibull distribution has been confirmed independently by another Brickell Key winner Richard Hensley who has examined many data sets from the IT organization of a large company.

Do Your Lead Times Match Weibull Distribution?

I had to come up with a quick answer to this question yesterday, using only my understanding of statistics and Excel. Weibull distribution is actually a family of distributions, parametrized by the so-called shape parameter (k). You can see in the chart above how changing this parameter can tweak the shape of the distribution curve. Weibull is identical to the exponential distribution when k=1, to Rayleigh distribution when k=2, and interpolates/extrapolates those distributions for other values of the parameter. So we have two questions to answer here:

  1. Does a given set of numbers match Weibull distribution?
  2. If it does, what is its shape parameter?

Here is a simple algorithm you can follow to answer these questions for your data set. I’ll attach the spreadsheet at the end of this post.

Step 1. Copy and paste your numbers in to column A of the spreadsheet. I prefer to reserve Row 1 for column headers, so the numbers will start from the cell A2.

Step 2. Sort the numbers in column A in the ascending order.

Step 3. Divide the interval [0; 1] into as many equal intervals as you have data points in your set and populate column B with centers of those intervals. If you have N=100 data points, the Excel formula for this is =(2*ROW(B2)-3)/200 (200 == 2*N). Type this formula into the cell B2 and copy and paste it to fill all cells in Column B.

Step 4. Populate Column C with natural logarithms of numbers in Column A. Type =LN(A2) into the cell C2, copy and paste the formula to the rest of Column C.

Step 5. Populate Column D with the numbers calculated from Column B as follows. Type =LN(-LN(1-B2)) into the cell D2, copy and paste to the rest of Column D. We’re basically linearizing the cumulative distribution function here so that linear regression can reveal the shape parameter.

Step 6. If the set matches Weibull distribution, then the shape parameter is the slope of the straight line through the set of points with the coordinates given by numbers in Columns C and D. Calculate it using this formula: =SLOPE(D2:D101,C2:C101) (This assumes your set contains N=100 points, adjust the formula accordingly). In the attached spreadsheet, this number is placed into the cell G2.

Step 7. Calculate the intercept: =INTERCEPT(D2:101,C2:C101). (Cell G3.)

Step 8. Calculate the scale parameter from the intercept: =EXP(-G3/G2). (Cell G4.)

Step 9. Test how good the fit is by calculating the R-squared: =RSQ(C2:C101,D2:D101). If the match is perfect, this number will be equal to 1.

Step 10. If we have good fit, we can also do a simple sanity check and calculate the mean from the newly obtained shape and scale parameters and see if it is close enough to the actual mean. The formula for the mean is

The mean equals lambda times gamma-function of one plus one over k

The standard Excel doesn’t have built-in Gamma-function, but has a built-in function that returns its logarithm. So, we can calculate the predicted mean by =G4*EXP(GAMMALN(1+1/G2)). Now you can compare the predicted mean to the actual mean, which can be obtained, of course, by =AVERAGE(A2:A101).

UPDATE

There is more than one way to do linear regression.  The above steps will minimize the vertical distances (in the y-axis direction) between the best fit curve and the data points.  It is also possible to do it by minimizing the horizontal distances.  The latter method consistently overestimates the shape parameter, which is undesirable for the practical applications of lead time analytics, and can be inaccurate if the same number occurs in the data set multiple times, especially on the left side of the distribution.  For these reasons, I don’t recommend using this method and instead recommend the method I originally described in the steps above (linear regression, minimizing vertical distances).

I’m also updating the Weibull Distribution Fit spreadsheet with “smarter” formulas.  You don’t need to adjust the above formulas depending on the number of data points in your lead time set.

 

Posted in hands-on | 24 Comments