Category: Philosophy

Applying learning theory to a real language

My current project work colleagues know I’m learning German while I’m here in Berlin. I doubt I’ll become fluent by the time I leave, but I feel I’ve learned plenty – even without being able to speak it full time at work, or with very few official German lessons.

I feel part of what has helped me successfully accelerate my learning is applying my understanding of learning styles to learning a “real” language (not a programming one for once!) Some of the lessons learned include:

Showing my ignorance – I talked a lot about this during my Beginner’s Mind talk. Being in Germany, I’m surrounded (mostly outside of project work) by people who are experts in the field of the German language. By attempting (and generally failing fast!), I can find out where the current limits of my vocabulary, sayings and articulation is. Trying again then lets me practice more and more.

Accepting that it is the way it is – The hardest things about learning other languages is the “nuances” that come along with the language. Real languages are “loose” with their meanings, and just because you say one thing in English doesn’t mean you can translate it word-for-word to another.

Find multiple “masters” – Just like there is no single “agile” way of working, and there is no “correct” philosophy, it’s good to have multiple teachers and sources of truths. I’d had a few official German lessons, I listen to Pimsleur audio guides, use Rosetta Stone for learning, (try to) read German magazines and try to use German where I can. Each source focuses on different things and all useful in different ones. Pretending that you can learn everything from a single source is destined for failure.

On the way to 10 000 hours – I believe learning real languages takes much longer than that, but trying to use it and practice it as much as possible has definitely improved my novice skills. Even native Germans have commented on how quickly they’ve noticed the language skills improve.

Vocabulary and grammar work as a system – Learning vocabulary without grammar makes you sound strange, and grammar without vocabulary really limits your conversations. Learning both at the same time forms an amplifying loop that allows you to learn more faster.

Align your passions – Anyone who knows me will know I enjoy my food and drink. I blog about it and love discovering neighbourhood gems in a new city. So much so my biggest asset in learning more German has been the Zitty Berlin Essen + Tricken (Food & Drink) magazine special that details restaurants, cafes, and bars around Berlin. I spend time translating each small review of each place and because I’m familiar with many of the places, I can better understand what they’re trying to say. Admittedly I’m not sure how much use all of the language is but it certainly is helping.

Drive by Dank Pink

I finally picked up a copy of Drive to read. The book looked ominously big, however I found out the two hundred (ish) pages had been printed on fairly thick paper and was pretty engaging to read overall. Pink focuses on a topic close to my heart, describing the way that people find engagement and what drives people. It’s quite relevant to the way that I like to work, and what the company I work for strives to achieve.

Pink covers a lot of interesting material, including many references and backed up by a lot of research. In it, he compares classic management techniques (financial incentives) and details research that describes why they fail to achieve what they need to do. He talks about interesting research that shows that a small financial incentive helps boost short term performance (in work that requires no thinking) at the cost of long term performance and detriment to creativity. For today’s information worker, and the chaordic environments we work in, this should really be raising alarm bells. To me, it’s akin to the systems thinkers that know that measuring and rewarding workers on the wrong incentives causes lots of problems. It also rings anecdotally to what I’ve seen some really talented people who work in these financial institutions driven into strange behaviours due to “bonus schemes” and loops.

Pink reiterates over points such as once we hit a certain wealth, happiness is no longer correlated with wealth. We seek, instead greater things. He gives many examples about how money isn’t a motivator for many people citing the achievements of Wikipedia, open source communities that build software such as Firefox and many more. He talks about once this is achieved, people are driven to solve problems, and be creative. He gives examples where people are driven to complete puzzles and games, not because they are paid to do it, because of some intrinsic drive.

Pink continually describes what gap there is between research and business and provides a way forward describing a number of elements necessary to satisfy this intrinsic drive. He talks about the need for autonomy, the idea of achieving mastery, and developing a true sense of purpose as well as providing a toolkit for people and managers to achieve this. I like to think that the agile values help businesses to focus on creating environments that help satisfy this new style of management. The idea of Software Craftsmanship emphasising lifelong learning and mastery, a common theme in agile teams to be autonomous in task completion and done right with lean thinking, building the right thing for a good purpose.

Above is a wonderful RSAnimate video helping to summarise the book.

Systems Thinking: The Leaders Summit

I was fortunate enough to attend The Leaders Summit organised by John Seddon’s company, Vanguard. The day unfolded with plenty of people talking about applying systems thinking/lean thinking to various environments.

Given Seddon’s experience with the public sector, I wasn’t surprised by the large number of people from other public sector organisations. In fact, given the perceived ineffectiveness of many public services, I’m all for this enthusiasm and interest.

Some of my key takeaways follow, however it’s definitely worth while checking out the, very much more detailed and thorough, blogging from Benjamin Mitchell here.

Change is hard – agile transformations, same for systems thinking transformations
A lot of the presenters talked about the difficult positions they were in before looking toward systems thinking. They all had their critics, all the usual people not wanting to do things differently, and support or lack of support from management. For example, one speaker, Denise Lyons from East Devon District Council encountered the “That’s how we’ve always done it around here” mentality.

Another speaker had to sneak their change program through existing mechanisms for change and business efficiencies. Even the questions asked by the audience reflected this.

I found this interesting as these are often the same problems we see, trying to introduce agile values into the software delivery capabilities of organisations. Even many of methods for helping people with change were the same.

Pragmatic Improvement
One of the questions we often struggle with, applying lean and agile to the software delivery part of an organisation, is should we really be working on the entire organisation structure. Listening to some of the speakers is that it’s worth starting somewhere and build on that success.

Rob Brown talks about the long changes still to go rolling systems thinking out to the rest of the organisation, but there was plenty of value already generated by implementing it in that area. For example, they still have to deal with the HR challenges of annual appraisals and all the budgeting games of the larger organisation.

All the speakers emphasised the way of starting small, and building on that success. Of course, this still ensures that you take as large of a systemic view as much as possible. Some of the constraints will be out of your control.

Labels don’t really matter
As much as everyone used the labels of the Vanguard consultants, I found it refreshing to hear about people really understanding the ideas behind lean thinking from a systems perspective without getting too hung up on the labels. One of the people talked about instead of “interventions”, they did “reviews”. It was also refreshing to get Dr Steven Allder, someone who came to systems and lean thinking through Peter Senge who didn’t use the same labels but you could see the same thinking behind it.

Performance is Emergent Behaviour

Mark’s tweets got me thinking when I tweeted a short number of responses back at him recetly. Unfortunately twitter isn’t a great place to have a long and well thought conversation and figured I would blog about it like Mark did.

The gist of the conversation seem to float around two positions that seem to be in conflict.

One position states: someone’s behaviour is determined by their environment (or system). This is certainly the view that John Seddon writes about a lot in his book, Freedom from Command and Control.

Most people read this position and (incorrectly) deduce, someone’s behaviour is solely determined by their environment (or system) therefore, it is best to focus on one of them.

Mark makes a great observation that people perform “differently” given they have the same environment. In an environment, sometimes those “differences” may be “better”.

To which I responded in the brevity required by 140 characters, “different strengths and interests at play. Emergent behaviour based on individual and environment.”

Emergent behaviour in this case can be seen as much more than just strengths and interests at play. People are complex systems and highly unpredictable. Each individual goes through many different experiences. Just as an example, everyone’s commute around London is different. Train failure? Tube strike? Traffic on the street? Walking to work? Everyone has different social structures – sleep deprivation from young kids, happiness from a child’s graduation, hard night out celebrating a friend’s send off. Even the weather has a huge impact on people (though everyone responds differently).

It’s rare that I think we are all in the “same” environment all the time.

Add in the topics you’re currently interested in, the events unfolding around you and regardless of the system, and the skills, strengths at play and ambitions, I hope you start to understand why everyone behaves differently. Of course some of those elements in the system have minor impact on the end result yet might explain why some perform “better” (i.e. differently) to others.

Powers of Why

Although I can’t say I’ve been part of many other methodology movements as closely, one of the greatest things I appreciate about the agile community is to explain why things work the way they do.

Back at university, when I remember RUP being taught, none of the books or the leaders of the community explained why they suggested you do things, other than, “This is how you do it.”

I’ll admit that as more and more people call themselves “Agile”, a key characteristic for the community leaders and many of its respected participants is their deep understanding for why we do things. Great examples of this is the community’s willingness to continually question practices adding value and exploring new practices to add more value. Evolutions of TDD to BDD, the introduction of explicit limits for Work in Progress, and levels of automated testing to bring feedback early as possible.

Another great example of this cultural phenomenon is the community’s willingness to explain how situations arise. The most recent example was Rachel Davies explanation of the Gordon Pask award, but stretches as far back as to the origins of the Agile Manifesto written by signatories such as Martin Fowler, Dave Thomas and Uncle Bob Martin.

It’s easy to criticise situations when they don’t work or when you dislike something, yet I think we need to appreciate those willing to not only try new things, but help others understand why they tried those new things. Understanding the intent behind actions lets others attempt new ways of achieving the same goal given the same, or even different circumstances.

QCon London 2010 Day 2

Keynote: Ralph Johnson on Living and working with aging software
The final keynote of the conference kicked off the second day of QCon and presented to us by Ralph Johnson of the Gang of Four fame and whose students contributed to Fowler’s timeless Refactoring book.

Ralph was asking about the number of people who work on systems they created (versus systems that other created) and then argued about the meaning of maintenance programmer arguing for software evolutionists instead. Whilst I agree that no one likes to be labelled a maintenance programmer, changing the name doesn’t really matter.

I like the different perspectives that Ralph brought. He talked about Software Capital as about truly understanding how the software works. Code is one example of this, but actually there are many other things that go into understanding how the software works. He argues that the right sort of documentation (and other artefacts) that helps understand how the software works is another part of Software Capital. As a result, you also need the people around the software to help keep the story alive.

My observations of various organisations also backs up some of the things that he says such as, the larger a system gets, the more likely you need some form of documentation and social structure around the software.

I think a lot of people didn’t like Ralph’s keynote because he talked about refactoring as if it was a new idea and, unfortunately this audience is one that has been exposed to these ideas for a long time.

Track: Beyond Tools and Technologies
I spent the rest of my time on the track that I was speaking at later that day. The first talk of the day was Martin Fowler whose talk, “What are we programming for?” brought the tiny room to a stand still. The room was so full (although it was a small room) that they had to turn people away.

WhatAreWeProgrammingFor

Martin used the talk to highlight the importance of going beyond acting like hired guns and actually thinking about how to use the skills for something good. He asked people to consider the essence of the firms that they work for and whether or not they are benefiting humanity.

Rebecca Parsons, ThoughtWorks’ CTO then talked about the importance of team diversity in her talk, “How to avoid ‘We never even thought of that’!” She talked about the role that diversity played in creating innovations in science and how too much of the “sameness” creates problems with creating too many assumptions. I like the idea of a balancing tradeoffs of not enough diversity leading to problems in teams and too much diversity to the point that the team don’t share the same vocabulary.

After the lunch break, I ran my session, “Building the next generation of Technical Leaders“. I was very happy with the turnout and had some great feedback from the participants. It’s an issues I think is sorely neglected in our industry and has a huge impact on the team effectiveness.

The next session was run by our Director of Social Engagement (Jeff Wishnie) and Merrick Schaefer of Unicef discussing the importance that technology has on developing countries and the significant impact it can have on the lives. They talked about the Rapid FTR project that is being developed to help capture information about children who’ve been separated from their parents with hope of quickly reconnecting them, and at worst, giving them legal status by registering them with an agency such as Unicef.

The final session of the day rounded out with Mick Blowfield with a presentation titled, “IT in a Low Carbon Future“.

Whilst there were many other potentially interesting sessions, I was really happy to hear about the issues that go beyond just Tools and Technology.

A Community of Thinking Practitioners

I first read “A Community of Thinkers” that Liz, Jean and Eric published late last year. I remember thinking that I felt strongly aligned to it, yet slightly uncomfortable with the exact wording. I toyed around with some words and now, a couple of months later, I am much more comfortable with a slightly abridged version.

It isn’t enough to be a member of a community of thinkers. We can philosophise and think ourselves to death. The world continues to operate in complex ways (yes, as in this, and this sort of complexity). It is not enough to sit back and only think. We need to experiment. We need to apply. We need to practise, then reflect and feed those learnings back into our thinking. This is the essence I respect the most about certain people in the agile community. This is what I want to keep alive. Remind yourself the Do is an important part of PDCA just as much as Check (Reflect) is.

For me, I am not just a member of a community of thinkers. I am a member of a community of thinking practitioners. If you’re not practicing and actively thinking, you’re not part of my community.

A Community of Thinking Practitioners
I am a member of a community of thinking practitioners.

I believe that communities exist as homes for professionals to learn, teach, and reflect on their work.

I challenge each community in the software industry to:

  • reflect and honor respect the practitioners who make its existence possible;
  • provide an excellent experience for its members;
  • support the excellent experience its members provide for their clients and colleagues in all aspects of their professional interactions;
  • exemplify, as a body, the professional and humane behavior of its members;
  • engage and collaborate within and across communities through respectful exploration of diverse and divergent insights;
  • embrace newcomers to the community openly and to celebrate ongoing journeys; and
  • thrive on the sustained health of the community and its members through continual practice, reflection and improvement.

I believe that leaders in each community have a responsibility to exhibit these behaviors, and that people who exhibit these behaviors will become leaders.

I am a member of a community of thinking practitioners. If I should happen to be a catalyst more than others, I consider that a tribute to those who have inspired me.

Share Alike Creative CommonsThis one is based upon the original posted on Liz Keogh’s blog here. This licensed under the Share Alike Creative Commons License. All modifications/addendums I made are emphasised in italics.

Shu Ha Ri as the flow of Energy

Andy wrote a great blog post trying to relate Shu Ha Ri to the Dreyfus Model of Skills Acquisition. When I posted my thoughts, he suggested I blog about my story, so here it is.

In it’s simplest form, Shu -> Ha -> Ri roughly translates to Follow -> Detach -> Transcend. When I think back to the days when I studied Aikido (where I believe these concepts originate), I considered Shu Ha Ri as the flow of energy, or where you focus the majority of your efforts.

Flow

Photo of energy taken from HocusFocusClick’s Flickr stream under the creative commons licence

A Shu person, for example, focuses their energy on simply executing a very basic move. They repeat the kata, over and over, with the weight of their conscious mostly on thinking, “I move my arm up to block”.

The Ha person, no longer follows the rote kata, “detaching” from the original conscious thought, now focused on its application. They spend their time thinking, “An arm is coming my way, I better block”.

The Ri person is certainly spectacular to witness with energy flowing from move to move, something the dojo sensei demonstrated during a yearly open house. During this event, lasting a good twenty minutes, five black belt students attacked the sensei from all sides. They attacked with their hands and a small assortment of weapons. The sensei defended by turning, locking and throwing each student back in return. What I still remember vividly was comparing the black belts, completely drenched to the skin in sweat, to the sensei, who barely showed any signs of sweat.

I see this same flow of energy and focus of effort when watching people learn development skills. At one end of the spectrum, the Shu developer spends an enormous effort thinking about how to execute a particular practice. At the other end of the spectrum, the right practices occur and great quality code (and tests) appear.

Support multiple models

As I gather more experience (i.e. get older) I’ve discovered every model has a breaking point. What does that mean and why should you care? Accepting that models break is the first step to understanding and identifying their limitations. More importantly, because models have a breaking point, you should be actively discovering other models that help you better communicate and grasp new concepts.

Sounds easy right? Unfortunately my experience in life proves the opposite with most people wanting to only hold a single “valid” model that manages to explain and justify everything. I see this as a consequence of western education guided by Socratic thought and a Platonic ideal but that is a post for another time. In real life, this desire to hold onto “one valid model” translates to arguments over the merits of a particular model and often the basis for justifying a position. Note that I have no problems arguing for the sake of testing and discovering the boundaries of a particular model.

What do you do about it?

Accept that models are simplifications of sometimes complicated, sometimes complex systems. Be open to exploring the boundaries of a particular model, uncovering where one model excels at explaining certain characteristics of a system. Seek out and invent new models that provide a different point of view, or that emphasise and highlight different aspects for that system.

You can’t measure everything effectively

Definitely agree with this from the 10 Things I Wish Lean Practitioners Wouldn’t Say in 2010 (via the Lean Blog):

7. “If you can’t measure it, you can’t manage it.”

I don’t believe that statement. I think this phrase should be avoided and it certainly shouldn’t be attributed to Dr. W. Edwards Deming, as it often is mistakenly. Dr. Deming never said this and he, in fact, meant quite the opposite. Some of the most important factors in a system are very difficult, even impossible, to measure. That doesn’t mean you can’t try to manage them. John Hunter, friend and fellow blogger, has the definitive take definitive blog take on this here…

Don’t get me wrong. Metrics are important but they aren’t always most important.