I’m continuing a series of posts summarizing sessions that took place at the Agile Coach Camp Canada 2012 that took place at the end of June in Ottawa.
In one of the sessions, we discussed how some lean thinking can be applied to professional development and learning of software and IT professionals. The current paradox is that while people in our profession try to apply agile techniques to coding, architecture, requirements analysis, team and organizational leadership – learning all this good stuff still relies on up-front planning, early commitment, and outdated to-do lists. It’s urgent that we start applying what have learned about Agile and Lean to learning itself!
The Overwhelming Demand
The amount of software development related information generated every year is enormous. First, there are several enterprise technology stacks, such as .NET, Java and Ruby on Rails, and several mobile platforms and it can be said about each of them that their respective programming languages and frameworks evolve and new products, tools and techniques are developed every year in their respective developer communities. As a result, every year there is more books to read, more new skills to practice, webinars and podcasts to listen to, user groups to join, conferences to attend and training classes to take. And this is only the beginning. Whole new paradigms emerge, such as cloud computing, functional programming, and big data, and each continually generates a huge volume of information to process. Then there is Agile, its technical and organizational practices; then there is Lean, Kanban, Lean Startup, Real Options, Beyond Budgeting, Cynefin…
Personal Kanban to Help Cope with Demand and Establish Flow
The value in individual professional development is delivered when people are happy with things they have learned – new knowledge and skills that help them discover (or rediscover) their purpose, drive, that help do today’s jobs and that help them in the long run, that fit into their career path or open up new paths, that align with the needs of their companies. In fewer words, professional learning is highly contextual. We must establish the flow of such value. But if we simply try to react to every new bit of information generated by the abundant sources we’ve identified above, very soon we find ourselves going to a user group meeting every other day. And on other days, we have 250 blog subscriptions waiting for us and 25 books each opened on Chapter 2. We have as much flow as rainwater pooling in the middle of a tarp.
Personal Kanban is proven to establish flow in individual’s value streams by visualizing and limiting work in progress. Visualize the backlog all learning opportunities: books you’re interested in reading, conferences you might want to attend, training classes that might be useful, webinars and user groups to join. Then limit your work in progress. This means you need to know or learn your capacity, how many of these things you can juggle at the same time. Maybe it’s one or two books, maybe three user group meetings per month or per quarter, maybe some number of conferences and open space events. Then select your learning opportunities from the backlog as long as they fit your personal Learning-in-Progress limit. Remember that professional learning is contextual, so select your opportunities as they fit your current situation.
Everything Is an Option
It is important to understand that everything in your learning backlog is an option, not an obligation. Your backlog is not a to-do list! To-do lists – annual professional development plans if you do them in your company are a good example – are prematurely prioritized lists of needless context-free commitments. They destroy the value of professional learning. You commit at the beginning of the year to take a training class on Foo programming language and a series of webinars on the Bar framework, but as the year goes on, the real hit turns out to be FizzBuzz. Its creator was in town last month and you missed it.
A couple of years ago I and several colleagues started an Agile book club. Its value stream eventually evolved to look something like this:
Here, the club is retrospecting on one of the books, while having selected the next one. The club had rules not to start reading the next book until a retrospective has been held for the previous book and also not to start selection of the next book until the current book has been read and a retrospective scheduled for it.
First, notice the relative size of the backlog. It is huge! However, it is made entirely of options. We may refer to them by authors’ names and titles, but they are really not books, but options to read their respective books. It is important to understand that many options will expire before we exercise them.
The same reasoning applies to learning opportunities other than books: training classes, conferences, webinars, user group meetings, and so on.
Selection over Prioritization
Second, notice that the backlog is not prioritized. We tried to establish numeric priority order in the book club only to learn quickly that the order changed dramatically before the next selection opportunity (which took place usually once every two or three months). The Lean-Kanban community has learned to value selection over prioritization and professional development is a good example, where the application of this principle is particularly important. What we are really trying to accomplish is a pull decision that respects our Leaning-in-Progress limit and to select learning opportunities most valuable in today’s context. Prioritization – assigning a rational number to each backlog item and selecting the largest number(s) – is means to accomplish that and not the only one. Prioritization assumes that our backlog is a set with the same mathematical properties as the field of rational numbers (density and full, transitive ordering). This assumption is more often false than true; it is definitely untrue for the backlog of professional learning opportunities.
Lean Professional Development can be quickly summarized as follows: use Personal Kanban to establish a kanban system to pull from the backlog of learning opportunities. Empirically find your own capacity and Learning-in-Progress limit. Remember that professional development is highly contextual. Use Real Options thinking or Lean Procrastination and treat all backlog items as options. Make sure the backlog is regularly replenished. Abandon prioritization of your learning backlog and use contextual just-in-time selection respecting your capacity limits.