Monday 13 March 2017

Agile Principles 104

After trial and error, doing and studying, reflecting and more reflecting from my experiences of teaching the agile principles as described in Agile Principles 101, Agile Principles 102 and Agile Principles 103, a flash of insight came to me after running some facilitated workshops with clients.

One of the reasons I love to teach is because I get to meet so many inspiring people! Another reason is that I learn so much more, and so much quicker as well!  So teaching the agile principles to 1000's has also helped me learn them, and learn about them in so many ways I could never have appreciated the first time I read them!

Anyway, back to this story! I had been facilitating collaborative sessions with different people in different workshops for a few years. One of the great things that work well in collaboration sessions with any number of people, is breaking up the big group of people to work in sub-teams. Depending on the objective, carefully selecting sizes between pairs/triples/quads/pents/6's produce good results, or better results.

I came across the excellent Training From the Back of the Room and The Ten Minute Trainer by Sharon Bowman who puts these kinds of insights across extremely well!

        

In these books and in her training sessions, I learned the new teaching paradigm - "the person doing the most talking is doing the most learning". 

Talking causes us to formulate abstract experiences in our memory into concrete communication efforts - which means we need to more fully understand those vague things we think we know. It also allows us to get validation and/or corrective feedback from others we share with.

For this learning objective, sub-teams of 4 work best. 

The even number causes much more thought, talking and strong consensus by all sub-team members on any range of logical points discussed, as well as greater emotional impact than other sizes.  These sub-teams cause everyone in the entire session to fully engage in the topic because everyone has a voice and much more likely to be heard. It's true! (and it's common sense...) :-)

I mentioned this approach to one of the younger agile coaches I was working with at the time, and he tried it in his next training session. He came back with positive results. In the glow of the successful moment - he also mentioned this approach to a few other agile coaches...and now it is spreading organically. Nice! :-)

I explained this approach to another 1 of my long-term agile collaborators and he has been using it ever since. Chris C convinced me to blog this approach so that everyone gets the benefit. And now I have. Enjoy!


The method

  • Timebox the whole module to 30 minutes
  • Ask the trainees to self-organise into balanced groups of 4 - they need to discuss and figure out what balance means to them. Sometimes it is gender, age or role based, or combinations of all these and more. Balance is always good thing to discuss and dive deeply into.
  • Ask them to self organise the writing of the 12 agile principles down on large super sticky post-its, in a 3 minute timebox. They need to coordinate and work fast together.
  • Ask the teams to rank the agile principles from the most important (at the top) to least important (at the bottom) in single list, in a 5 minute timebox.
  • Ask each team to number each post-it with eg a black pen so that we can know later what the ordering was.
  • 1 person from each group then volunteers to give the entire group a 30 second pitch timebox about why they chose the order they did - highlighting the decision making as well as perhaps any contention in the team.
Sorting The Agile Principles And Making Sense Of Them
Agile Principles Explored By Team

Post Mortem 1: Much deeper understanding of what is important and why to the organisation and how that is reflected in the ordering of the agile principles that cover people, process, technology, customers, market, culture and pretty much every other "lever" an organisation has

    • Optional, fold-in
      • Get each group to pair with another group and then combine their orders into 1 consensus ordering of the 12
        • Repeat until all groups' 12 principles are folded into 1 single consensus list and the big group is whole again. Any odd number group waits until the next round when there will be even number groups again.
    • Update the post-its with their "global" ranking
Now, ask them to return to their original sub-teams in front of their own post-its. Take all the post-its off the wall to reset the next round of ranking.
  • Ask the team to now rank the agile principles from the easiest (at the top) to the most difficult (at the bottom) to achieve in their environment, in a 5 minute timebox.
  • Again number them, this time in a different colour pen eg green
  • Again ask for a group's volunteer to tell all the others what their ordering is, and why, in a 30 second pitch timebox.
For Agility Your Team Needs To Understand And Decide The Same Way And Priorities Of The Agile Principles
Teams Come Up With Different Agile Principles Priority Orders Based On Their Context and Interpretation


Post Mortem 2: Much deeper understanding of the art of the possible in the organisation as people disagree from their own experience and perspective what is easy and what is difficult. This can be a heated conversation when senior managers are involved but, in terms of creating that shared understanding of reality, invaluable to bring on and manage the friction!

    • Optional, fold-in
      • Precisely as before, "pair" the groups and get them to create a single consensus list of easy to difficult
      • This one will probably require much more time as people generally have totally different perceptions, but this is also the beauty of transparency and shared understanding.

The Final Post Mortem

Deeper ownership, accountability and understanding throughout the aligned trainees - win! Also, the opportunity to use this output to create the initial backlog to become more agile - i.e. transformation begins with everyone on the same starting block/page. Ie, win, win, win!

Many people - myself included - had horrible experiences and/or horrible feedback from our time in school or post-school education. As a result, some became uncomfortable at voicing their opinion or knowledge in front of others. Groups - especially large ones - intimidate most. 


This approach helps everyone to connect with fewer people and share+receive a lot more as a direct result. Hence the learning that happens actually is deeper and hence more useful and usable for trainees. The optional fold-ins suggested, though they take a little longer, cause deep alignment amongst attendees. And you can use this approach for many other topics, and not just for training modules - workshops too!


Definitely this is a great approach, if not the best approach, to teaching and making the agile principles much more "sticky" in the learners' hearts and minds.

For my full collection of hard ground, hard sought, and deeply dug pearls on agile mindset f0undations - please read What Is Agile? Thankyou!

Thursday 9 March 2017

Agile In A Nutshell Part 3

Okay... I don't know if you noticed... but it is really really hard to really curate an agile in a nutshell post that is quick to read, grasp and move forward. This is partly why I avoided much agile postings over the past decade - it's a very very long piece of string (or rope to hang oneself with)!

:)

The previous 2 attempts at this (Agile In A Nutshell and Agile In A Nutshell Part 2) I like and I teach fluidly. But I also add the following nugget when I am teaching.

Where did these agile manifesto, the 12 agile principles, and especially those 10,000 odd agile practices (half of them technical/technology focused like pair programming; and half of them people/organisation/management/process focused like standup meetings) come from?

Well it's clear where the agile manifesto was written and by whom in 2001 - 17 world-recognised software engineering consultants, coaches, managers and all importantly - practitioners.

And it's clear as well where the agile principles were written and by whom in 2004 - the same experts that formulated the agile manifesto.

But what about those 10,000 agile practices?

The agile practices have been observed by team members, team managers, coaches, consultants, and other observant people ... of high performance teams. These observers have then documented them online, or in books, and have presented them at conferences as well as internally. 


This means that we're still discovering practices all over the shop/place that help organisations become quicker and nimbler.

In my opinion, the smartest organisations are recognising their own unique practices that are giving them competitive advantages, and keeping them secret. The even smarter organisations are making their unique practices transparent and world-wide accessible because they realise others may contribute small tweaks that give even better performance - ala open source.

They also recognise that thinking is really hard to replicate and their organisation as a whole organism is thinking differently and hence behaving differently. Behaviours are easy to observe and replicate, but does not mean you will get the benefit.

Countless stories abound how GM documented all the things Toyota was doing in their factory in Japan and tried to replicate in the US - but failed. And we see that quite a lot industries - competitors hire people from the other organisation (or the same consultancy!) and then try to copy what worked elsewhere - and it usually fails expensively, spectacularly, and hurts a lot of employees, shareholders and stakeholders.

The simplest way to deeply understand this is a story about a piano made by a world famous piano maker. A wood furniture carpentry company decided to move into the piano manufacturing business as they had the same required tools, they could buy the same materials, and they thought they had the same skills required. So they bought a piano and dismantled it, making notes and designs about how to assemble. Then they assembled it back. But once it was back in "1 piece" there was a problem. It did not sound like it had. So they tried to manufacture a new one from their instructions. And they succeeded in making a pretty good replica of a real piano, but once again there was the problem - it did not sound right. So they got out of the piano making business (wisely). They lacked the "secret sauce" of being musically minded and aware how all the complexity of sound generation, amplification, transmission integrated with the different moving complicated parts of a piano.

And that's also what agile is - the practices help - in the same way that knowing what the keys of a piano are what notes. But playing a piece of beautiful music on a piano is differently from knowing things about music and piano operations. Yes the analogy does stretch to "practice is required, and feedback" to get them right.

But more importantly it is the secret sauce - it is the agile mindset that causes these agile practices to evolve into something unique for the organisation and its context. Some practices are individual targeted (like disciplined arrive on time to meetings), some are pair targeted (like pair programming to create, quality assure, reflect, learn, and make better realtime), some are team targeted (like whole team planning game), some are larger organisation targeted (like town hall meetings), some are senior management targeted (like go-and-see/use-your-legs reporting walks). And on and on :)

It is much more important to be agile than to do agile!

For more and deeper thoughts about agile check What Is Agile For You What Is Agile For Us. Thankyou!

Wednesday 8 March 2017

Agile Principles 103

So I was frustrated with both my previous 2 methods as described in Agile Principles 101 and Agile Principles 102.


Suddenly! I found myself with a group of complete agile newbies and I realised I had the opportunity to experiment with a 3rd method to try and help them understand these really concise pearls of modern management wisdom - the agile principles. By this stage in my career and experience I had convinced myself that the agile principles were just as relevant for software as for any other knowledge work taking place with large numbers of unknowns and lack of certainty. The plan-do-study-adjust collaboratively is remarkably effective in all conditions and circumstances where we're doing something new (more than 10% different from previous experience)!

My third approach involved the learners reading them, leaving them on screen, and then asking targeted questions. I was hoping that by causing all the learners to think and reflect on their own situation, using the principles as some kind of wise "flashlight", they would have flashes of insight!

Questions that I asked:
  • Which agile principles were they achieving in their work 100%?
    • And why?
  • Which agile principles were they not achieving in their work 100%?
    • Why?
  • Which principles were they achieving between 0-50%?
    • Why?
  • Which principles were they achieving between 50-100%?
    • Why?
  • Would you be agile if you followed 11 principles 100%?
    • Why or why not?
  • Of those that were not 100% in practice, which 1 putting fully into practice would bring the most benefit?
    • Why?
    • Which would bring the second most benefit?
      • Why?
      • Which would bring the third most?
        • Why?
  • And which would bring the least benefit?
    • Why?

Typical answers that I received

A lot of concerned faces, puzzled frowns and a handful of the class beginning to figure this stuff out. Reviewing these responses made me cringe - I am sure often my look of disbelief crept past my ability to control my responses. Reader beware!

Which agile principles achieving 100% and why?


  • Retrospectives (the last one) - because "our Scrum Master makes us".
  • Delivery of working software - because "that's what we're here to do". (note, no mention of trying to deliver quicker - with an emphasis on the shorter timescale)


Which agile principles not achieving 100% and why? 


  • Business people and developers did work closely, but not everyday - because "the business people were too involved or important for the business to operate without them".
  • Sustainable development - because "our company encourages a good work-life balance, and we only come in for the weekend once per month, or work late nights 1-2 nights per week".
  • We do welcome changing requirements but not near the deadline - because "then we would never finish".

Which principles achieving 0-50% and why?

  • Technical excellence, best designs, and simplicity - because "we don't have time to improve".
  • Build projects around motivated people and support them - because "we hire professionals and they have to adapt to our ways of working".
  • We think we do satisfy our customers of our business - because "we don't know them and are not allowed to talk to them" or "knowing - that's someone else's job"

Which principles achieving 50-100% and why?


  • Communication is good, we do face-to-face whenever people are close - but not if they are on a different floor, different building up the street, in another town, a different country or timezone - because "travel is expensive and wastes a lot of time" and "we need email trails for audit/regulatory purposes" or "we need emails for our monthly, quarterly or annual appraisals".
  • We like software showcases, but we have a lot of reporting on the side/top of that - because "governance is required" or "regulatory" or "comfort factor for senior managers" or "good publicity for the good work we're doing"

Would you be agile if you were only achieving 11 agile principles out of the 12 - why or why not?

"Yes! Because that's pretty good, it's like 91-92%!" - note, no mention of which one is not being achieved! Just a simple, naive response to the a multi-choice answer sheet. No deeper thinking evidenced.

and

"No! Because there would not be 12 principles if following 11 made an organisation quicker and nimbler!" - note, although this answer is better than the "Yes", this is still insufficient/a bit naive as the principles are a set of cause-and-effects that together create the synthesis required to be quicker and nimbler. It takes deep thought and putting into practice for some time to fully "feel" agile.

Which principles should be our top 3 to put into practice ASAP, and why? 

The only typical responses I got from this question were that there were no patterns. Every organisation has a different context, with different problems (and size of same problems), prioritised differently and solutioned differently. This is expected. Asking the "Why" for each did cause good conversations between the trainees and really helped people clarify their assumptions and perspectives. So too was the conversations around benefit, and benefit to whom. Good stuff!


Which principle would bring the least benefit and why? 

Again, a total myriad of responses - the only pattern being that everyone fell for this "trick question".
Yes, like most agile things, with teams being in unique contexts, "it depends" is always the right answer. But that helps no one quickly!

Once the trainees had convinced themselves of 1 least beneficial principle, I always constructed a causal model that showed they had picked the most beneficial principle to them. Why this complete opposite approach? I was trying to highlight all the other ways of thinking about things, and highlight that they needed to learn more than their default model in order to achieve agile for their organisation and for themselves.


Benefits of this teaching/learning approach

Was better, slightly, than the previous two attempts.
There was some good discussion going on.

Consequence of this teaching/learning approach

The causal model for the 1 principle they believed would bring them least benefit seemed to cause hostility. Just because Copernicus had a model that proved the planets went around the Sun, did not win the hearts and minds of those who believed the Sun and the planets went around the Earth, especially not those with their own thinking and being models based on the incorrect one!

Several folks dis-engaged from this - I suspect because it is such abstract stuff and it is hard to think about abstract things with people who have different contexts entirely. It's hard enough to make sense of things with people who are on the same page with you let alone from different teams/streams of work!

Post mortem

This teaching/learning method also did not work as I had hoped. Despite many nods, smiles and hope-filled looks that seemed promising, nothing happened after the training session.

I did not see changes in thinking patterns, problems stated, solutions proposed or behaviours. There was no increase in flow of value nor deepening of team trust, no sighting of a high-performance shift or team. No one was picking up the seeds or threads and putting any of the collective wisdom onto the agenda and getting faster.

I had to keep researching, thinking, reflecting and trying different things as no one is really talking or writing about this stuff - how to reach critical mass across the whole world! To see what I have tried, tested and concluded so far, read further: What Is Agile For You, What Is Agile For Us. Thankyou!

Tuesday 7 March 2017

Agile In A Nutshell Part 2

Okay, so I tried (really really hard) to capture the essence of the vast topic "agile" in my Agile In A Nutshell post earlier ... but something is bothering me. Really.

So I hope you don't mind if I give a second dimension to this massive multi-dimensional concept! This stuff is BIG!

Agile Is Now An Umbrella Term For All Approaches That Put Healthy Humans Collaborating To Succeed
Agile In A Nutshell - Agile Is Now An Umbrella Term


Agile as a mindset and a movement started out in the software development and delivery space. But my first brush with "agile" as a concept was when I was studying business management in South Africa around 2003. The South African management textbook that mentioned "agile companies" stated that the future of businesses relied on them becoming more agile to keep up with customer needs. Although this was after we had implemented much of eXtreme Programming (XP), it was still before (because South Africa has/had very slow internet connectivity, and expensive imported books were scarce) the big software movement really got going worldwide.

I reckon it is likely that the line in that South African management textbook had been inspired by The New New Product Development Game written by the great management scientists Hirotaka Takeuchi and Ikujiro Nonaka in 1986.

But skip to the here and now nutshell point:

Agile is now an umbrella term to mean all of the agile manifesto, agile principles, agile frameworks, agile practices, agile tools, agile approaches.



Basically, any abstract or tangible thing that helps an organisation or an individual, be quicker or nimbler, in delivering value to the end customer. Usually this begins with the mind/thinking framework being applied by the people to the challenges they're responding to.

In other words, it is more important to be agile, than to do agile. For more practical thoughts on agile checkout my collection of teaching/learning agile at What Is Agile For. Thankyou for supporting!

Thursday 2 March 2017

Agile In A Nutshell

By the dictionary definition:

agile - quick and nimble

This is totally normal for a gymnast or a professional athlete in a sport like basketball, squash, surfing - one has to be in a constant state of dynamic balance. Able to go in a direction at speed, and also to change direction without loss of speed.

More like a fish! Catching prey (Opportunities!) using its deep swimming skills (Strengths!) (Capabilities!!). Evading being prey (Threats!), especially from its upstream or blind sides (Weaknesses!).

(Strengths, Weaknesses, Opportunities and Threats being the words behind the useful business and delivery technique called SWOT analysis!)

Agile Is A Mindset Of Teamwork, Mutual Respect, Proactiveness, To Succeed
Agile In A Nutshell Is A Mindset Of A [Successful] Fish (?Nemo?)


Unlike a cheetah - the world's fast land animal with really impressive speed, acceleration and space required to hit [terminal] velocity statistics! (terminal for the prey, that is, not for the cheetah!)
Agile Is Quick And Nimble Together
Agile In A Nutshell Is Not Being A Mindset Of A Cheetah, That Misses Its Prey!

What this means for a person in an organisation - not much. It's not so useful to be the one dynamic balanced player in an organisation where no one else is. The capability is usually lost in the inertia of the group that is not thinking, deciding, and moving in the same way.

But, for an organisation that is truly agile - like a high performance team - the benefits are great. The whole organisation is quick and nimble - able to chase market opportunities, and able to shift product, features, target new markets, respond to customers, manage crises well and innovate constantly because everyone is playing the same game together.

That's what people are after. The agile models, frameworks, practices, principles and everything else are just helpful indicators along the journey to creating and organisational culture, and a team mindset that produces great results.

It's more important to be agile, than to do agile.


How many people does it take to create an agile organisation? All of them.
Where do you start? Every leader - formal and informal.
Which leader do you start with? Wherever you identify the "early adopter" psychographic.
What do you whilst you're not agile enough yet - ie not quicker and nimbler that the market place or your competition? Introspect and reflect on ways to become quicker and nimbler, and hope you still have enough time to prevent your organisation's (inevitable) extinction.

How do you control the feelings of anxiety or panic? Develop your own capabilities so that you are quicker and nimbler and have skills that are transferable to other industries or competitors that are quicker and nimbler than your current organisation.

That's being agile, in a nutshell! :-)

Agile In A Nutshell Is Quick And Nimble As An Organisation
Agile In A Nutshell Is Quick And Nimble Mindset


For more, check out What Is Agile For! Thankyou!

Thursday 23 February 2017

Agile Coach Interview And Selection Questions

Years ago I was hiring agile coaches, and working closely with a hiring partner who was really really (!) good at finding talent. I had no time, he had some time and was keen to help me in any way we could figure out how. I knew agile, he knew recruitment. I knew coaching, he knew people.

The first round questions that I designed then still hold true today. I was inspired by Joel Spolsky's 12 questions candidates should ask their potential employer before deciding to join back in 2000. It may be a little old in some circles by today's standards, but it is still insightful imho:

The Joel Test:
  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?
The neat thing about The Joel Test is that it’s easy to get a quick yes or no to each question. And that's what I needed from my first round interview questions that anyone, even a non-agile-skilled or non-agile-knowledgeable person could use. So I came up with 24 quick questions, and we got some truly great candidates making it through the face-to-face screenings.
One of the most (perhaps THE MOST) important things about an agile coach is their experience. Money can't buy experience. Reading about other people's experiences, or attending courses based on other people's experiences is not the same as having the direct hands-on "did the best I could with the information and knowledge I had at the time, and nothing worked...until...after much persistence and many failures something worked!"

All experience is relevant. I am wincing at how arrogant I was when I was younger thinking that attitude mattered more than experience. They are equally important - it all depends on the problem space and time! The thing about people without experience in a particular space, is that they don't know what they don't know. My 24 questions highlighted things that were relevant for the different openings we had going at various times. A quick 10 minute Yes/No followed by a few initial typical HR availability, package suitability, location, role etc matching minutes and wallah - 1x effective initial screening for very cheap!

The very few who made it to face-to-face interviews which were experiential and enjoyable for both the coaches and the candidates highlighted the right candidates each time! Happy daze! (especially compared to traditional candidate screening processes and pains)

Rob's Agile Team Member or Agile Coach 24 Question Assessment:
  1. Do/did you use source control?
  2. Do/did you not use source control?
  3. Can/could you make a build in one step?
  4. Can/could you not make a build in one step?
  5. Do/did you make daily builds?
  6. Do/did you not make daily builds?
  7. Do/did you have a bug database?
  8. Do/did you not have a bug database?
  9. Do/did you fix bugs before writing new code?
  10. Do/did you not fix bugs before writing new code?
  11. Do/did you have an up-to-date schedule?
  12. Do/did you not have an up-to-date schedule?
  13. Do/did you have a spec?
  14. Do/did you not have a spec?
  15. Do/did programmers have quiet working conditions?
  16. Do/did programmes not have quiet working conditions?
  17. Do/did you use the best tools money can/could buy?
  18. Do/did you not have the best tools money can/could
  19. Do/did you have testers?
  20. Do/did you not have testers?
  21. Do/did new candidates write code during their interview?
  22. Do/did new candidates not write code during their interview?
  23. Do/did you do hallway usability testing?
  24. Do/did you not do hallway usability testing?
After you have all the "yes" and "no" responses to these, you will know the level of "modern" and "old" styles of developing and delivering software. Now you get to decide how to direct the rest of the experiential based interview if you decide to let the candidate through to face-to-face more investment round(s).

I advise experiential interviewing during the face-to-face as it is a case of "under stress, we regress", and a lot of coaching can be quite stressful as very little is under the control of the coach who is at best influencing the situation! And any coach who has not mastered conflict management and resolution skills, personal attacks, helping people overcome their own anxieties etc can be quite damaging to your organisation.

f you're more focused on a coach who's technical background is less interesting, you could take a look at the coaching levels and the types of coaching and design similar Yes/No questions to try and understand the tangible hands-on experiences a personal, executive, soft skills, etc coach has.

I suggest at the beginning of the face-to-faces to do some spot-checks to check that whatever Yes/No questions you screened with were correctly interpreted, and that the candidate's response was accurate before proceeding into the simulation(s). Some people, you know, will say anything to get a role! :O

After the simulation assessment(s), ensure you and your assessment team form and document your own, subjective, fact-based, Delphi-style, assessments of each candidate.

My final question for the candidates: Ask each candidate face-to-face what their opinion is of the other candidates. You'll be or not surprised how many candidates know, or know of, the other candidates, and their face-to-face opinions can be quite informative! Also insightful is how they react to those coaches they don't know or know of.

So hopefully by now you have collected all the minimal data points to make a more informed decision about finding the right candidate - a round peg for a round hole / a square peg for a square hole - for your people's (!!) needs. Remember, past performance is no guarantee about future performance. But also remember this is a critical role to match the right person to - as any change agent will by the nature of the role be disrupting people's comfort zone(s). Including your own often.

Good luck with your search and selection process!

Lastly, please let me know how it all works out for you and your organisation. Remember the most important (top) line of the Agile Manifesto reframed is a bit like "we're doing it, and by doing it we discover new and better ways of doing it, and we share with others what we have learned so that we all benefit". That's "agile"!

Thankyou for supporting!

Monday 20 February 2017

Agile Principles 102

I was looking around for how to make my teaching of the agile principles much better than my and the class's experience of them as per "industry standard" captured in my earlier post: agile principles 101.

Somewhere along my many readings over the years, I came across an article describing changes to the teaching method for fire fighter training used somewhere in the US (to the best of my recollection). I've hunted for the reference but have not found it again (yet) unfortunately.

The fire fighter training story went along the lines of teaching trainees by having them watch videos of fire fighter crews operating in various scenarios and then facilitated debriefing of the elements that made each crew successful. Apparently this change to the previous training method was marginally better as there was a minor percent improvement in successful rescues / blazes extinguished / fire fighter injuries and deaths.

Then someone discovered that a small change to the content produced much better results. Instead of showing the trainees scenarios that were successful and then debriefing, they showed unsuccessful scenarios and then debriefed the errors. 

Scenarios where fire fighters in their rush to save took personal risks, overlooked snagged hosepipes, did not operate the hosepipes and ladders effectively as 1 team, etc. And the result of these individual, and at first glance, minor errors, rescues failed, blazes were not extinguished and fire fighters were injured or died. Debriefings of these failure scenarios caused the trainees to learn (a lot) more, and (a lot more) quickly, which was quickly demonstrated by these new crews having much higher percentage success rates, and most importantly, fire fighter injury and death rates!

Similarly in the UK, I've heard that people who've had driving points deducted from their licences are shown videos of accidents that were caused by speeding drivers, intoxicated drivers, drivers in non-roadworthy vehicles, etc. Learning from the bad impacts us more, and teaches us good.

So...I thought I would apply this principle to teaching the agile principles.

For many many classes, I spent a few more minutes on the same slide I used previously (how lucky to not have to "waste" any more precious slides on this foundation to the whole huge "agile umbrella of knowledge"!



This time I did not reveal the "masterpiece single slide" in a single click. Instead I made use of PowerPoint's fly-in, appear, and other "On Click" events to have the bullets appear as required (some lines are longer or more complex than others, so give the trainees a few extra seconds to read and understand, occasionally - I am such a nice trainer!)

So now I had the class read 1 principle at at time, and after everyone finished reading the current principle I asked the class - "What effects would happen if you/we did this?". Followed by "And what effects would happen if you/we didn't do this?".

Typically the 24 DO DON'T outcomes (which I hoped were deep realisations embedded forever in the learners' consciousnesses) were similar to below:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.


DO:        Happier users getting valuable features earlier
DON'T: We don't satisfy our users, sooner or later we lose our jobs

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.


DO:        The development team adapt whatever we/they do to accommodate users' changing minds
DON'T: We build the wrong thing, we don't satisfy our users, sooner or later we lose our jobs

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.


DO:        Happier users getting features preferably every few weeks or few months
DON'T: We give our users unusable software quarterly, half-yearly or annually only, we (in)frequently upset our users, we lose our jobs.


Business people and developers must work together daily throughout the project.

DO:        The business and developers work together and become 1 balanced team
DON'T: Business and development don't understand each other, don't know each other, don't work as a team, so the environment is low trust, low knowledge, low productivity, work and value does not flow, and people are stressed and unhappy. No one is satisfied with anyone, including ourselves, blame game is played often, so eventually we lose our jobs or we leave our (bad) jobs.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

DO:        Hire good people, support them, they are super motivated and do the best job they can
DON'T: Don't support our people, give them bad environment(s) in which to do complex work, don't support them, and continuously interfere with how they do what we ask for. People get frustrated, and either they leave their jobs, or eventually lose their jobs because they're just blocked from doing (enough) good.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

DO:       Less documentation, fewer/no hand-offs, more quality conversation which is better for conveying difficult abstract details and concepts to each other. More productivity time.
DON'T: Convey information to each other in the least efficient and least effective ways, resulting in miscommunications, misunderstandings, and a lot of wasted time, effort and money. All this waste results in unhappy business people, we lose our jobs.

Working software is the primary measure of progress.

DO:       Everyone believes the development team's progress "report" as it is clearly running in front of eyes and fingers, or not, and hence everyone can plan more confidently based on realtime, real, information.
DON'T: Measure progress by some other means - maybe Red-Amber-Green "traditional" governance reports, Earned Value Burnups, (C)RAID Logs, and we plan based on those abstractions of progress, and quite often those abstractions are not reality and may be quite stale at moment of understanding. And when progress reports are not reality, a lot of wasted time, effort and money goes into that "cottage industry" for negative Return-On-Investment (ROI) and the organisation's plans are wrong. This results in unhappy business people, and ... job losses.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

DO:        Everyone goes together and works together. Few surprises. No late night and weekend work for anyone. Morale stays high and energy levels are protected and nourished.
DON'T: People work late nights, weekends, get tired, get grumpy, produce bad quality plan/artefacts/tests/requirements/analysis/code/architecture/designs/workshops/sessions/meetings/etc. Boom-and-bust cycles. People miss their personal lives, they leave their jobs. Quality suffers, the users and company suffers, and ... job losses.

Continuous attention to technical excellence and good design enhances agility.

DO:        Our codebase remains cheap to maintain, nice for people to work in and learn from, and we can realistically and constantly "welcome changing requirements, even late in development" from Principle 2 above. :-)
DON'T: Our legacy codebase becomes expensive to modify, it is no longer "soft"ware, it has become "hard"ware, and people hate working in it because little changes require great effort and introduce great uncertain risks that developers are unable to easily (if even possible) mitigate and hence the developers appear to go slower (but actually they're doing a lot more difficult cognitive work!). It creates cognitive dissonance in developer's minds and this is tiring and annoying, so they get sick of it physically due to stress and sickness rates are higher than "normal", developers/analysts leave temporarily on long-term illness, or leave the role, or something blows up in production, and after a short period of job creation (Operations needs more people to deal with poor Change/Development/Tech/etc outputs) ... eventually job losses.

Simplicity--the art of maximizing the amountof work not done--is essential.

DO:        We keep things simple, we save effort, time and money, so more productivity and happier users!
DON'T: We overcomplicate things, waste a lot of effort, time and money, sometimes even make quality worse. We maximise workload, decrease creativity and innovation, and people leave their jobs, or we lose in the market place and eventually lose our jobs because our competition is quicker with new features and products.

The best architectures, requirements, and designs emerge from self-organizing teams.

DO:        The team knows their design, requirements and architecture inside-out, back-to-front and can confidently do things at speed, knowing "where the skeletons are buried", and where they risk nothing, a little, some, more, a lot, or "bet the whole farm" - when they have to.
DON'T: The worst architecture and worst requirements are pushed onto the team who don't understand or know them evenly or equally well, and hence unintentionally build the wrong things in the wrong ways and nothing integrates or works properly, or worst developers paint the whole codebase into a corner. The users and business people get upset as the investment is lost, developers ... lose their jobs.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.


DO:      We continuously learn and improve and become stronger as a team - we become a high performance team that can do anything.
DON'T: We keep doing the (every) thing(s), the same way(s), we never get better, we never modernise our skills, we get bored, we are boring, we are overtaken by other teams, we look bad in comparison, we ... lose our jobs.

In a nutshell, the benefits of this teaching/learning agile principles approach are:

  1. The trainer can "tick the box" on the "we covered the basics" section / poorly defined learning outcomes
  2. Only 1 slide!
  3. Only 1 page to print for the pack for the attendees! Save the trees! Save the planet!
  4. It's much better than just a single slide of reading and a short FAQ (aka  agile principles 101) before moving on as some of the learners do engage with the thinking process and take some of the messages into consciousness!
  5. There is some interaction with the trainees!

The consequences of this teaching/learning agile principles approach are:

  1. Not enough positive effect or impact on the learners
  2. Some negative impact on many learners as they begin to feel that agile is being forced on them, that it's "go agile or lose my job". "People don't resist change, they resist being changed." - Peter Senge
  3. Some learners feel left out and/or confused by this session - seriously only 1-3 louder folks engage passionately with this approach
  4. Learners realise the trainer might not be a good one or the training content might not be good

Post mortem: 

Did you notice who gets more benefit from teaching the agile principles like this? Who is not getting benefit? What about all the negativity taste in the mouth at the end? 

"go agile, or lose your job!" is not a positive message nor a reasonable call to action! Look how well "Stop smoking, or die!" or "Lose weight, or die!" is working in the health industry. It's not that these things are not true to some degree, it's that they're also false to some degree. And the framing does not allow for that "shade of gray" - so people can spot just one counter example and choose (with logic) to disbelieve all of what the principles are trying to encourage understanding of.

This approach does not work well enough. A negative call to act only works when the person called this way really believes that they will actually die otherwise (a gun to the head, and someone's finger on the trigger, and no doubt they will pull it unless you do as they say), and even then, a substantial number of people (and in team work, you only need 1 to be out of alignment) will freeze or flee in different direction. Some will evenly actively fight against it - sabotaging, cynical outbursts, campaigning, using Schopenhauser's methods to win any argument. 

A handful of learners will become more aware of the big picture and hence will support because they believe. But that's not good enough unfortunately!

Also, the summary interpretations are a HUGE gap from what the principles are actually saying!

Users and customers are not always the same thing! The market place - the fact that every software team member is facing off to the market place no matter if they are the networking engineer, database guru, feature team member, scrum master, product owner or any other role required to get the software Done, is overlooked - even in this approach. And this is fundamental - that's why the highest priority is called out so explicitly at Number 1 position!

Every line of code or configuration or content that in some way supports the objectives of the business' service to its customers is either "for" or "against" success in the market place. The principles are trying to make "IT" folks aware of this, as most are blissfully friends with their computer and that's most of the extent of the engagement with the firm they work for. They can't see the tight chain of inter-dependence that truly exists between how quickly and cleanly and consistently they work, with how well the end customer perceives the company.


This approach is more effective than the industry standard agile principles 101, but it causes a lot of hostility quite quickly and hence is simply not effective.

Don't teach or try to learn the agile principles this way. Rather use this as a thought experiment (or 12) once you have taught or learned them in a more positive way. I'm documenting my experiences via my earlier post What Is Agile For so if you are interested, read the other methods linked there!

Thankyou for reading! Let me know what you think!

A smarter SMART for even better collaborative Objectives (including OKRs)

My favourite coaching tools: SMART Acronym Another Update