What is agility?

Here’s a reading list for exploring the “agile landscape”, and contains some UN-learning as well. The goal here is to go back to basics and then start to explore the landscape as a set of interchangeable tools, not plug-and-play frameworks.

The key here is this – to decouple large agile frameworks (Like SAFe) into their components, so that you the agile coach / team member / it-doesn’t-really-matter can apply those components where and when (and only when) they make sense for your team.

Let’s talk about what agility is, and is not:

First, let’s un-learn some things about what it means to be “agile”. The following videos are about 40 minutes each. They are both expert agile coaches – Dave Thomas being an original agile manifesto signer.

  • GOTO 2020 – War is Peace, Freedom is Slavery, Ignorance is Strength, Scrum is Agile – https://www.youtube.com/watch?v=WFbvJ0dVlHk
    • Questions:
      • Why is Jira not a great tool for agility?
      • Why is scrum and agility not the same thing?
      • Can we take an agile framework and apply it as-is to a business? Why or why not?
      • If scrum and agile aren’t the same thing – what is agility? What is scrum?
      • Why is the story splitting pattern of Design, Build, Test incompatible with being agile?
  • GOTO 2015 – Agile is Dead – Dave Thomas (One of the original signers of the agile manifesto) – https://www.youtube.com/watch?v=a-BOSpxYJ9M

Different Toolsets to explore:

Note that these aren’t in priority order – these practices are all peers. The only way to know which ones are the right ones for your team are to learn them, and then experiment.  

In addition – this list is just a starting point. The Agile / Devops / Design-Thinking space is constantly changing.

Getting Technical

Scrum masters, coaches, anyone really, gain a great advantage in their coaching if they are able to understand some technical fundamentals (if they are working on a software team). One of the most useful ways this works for coaches and scrum masters is by understanding how the code and architecture also must be split to work with vertical sizes. Often times teams are splitting stories, but the code is not split. Have you ever had a lot of stories that are “done” but then when it comes time to release there’s a bunch of work that shows up? This is a common reason why. If you can catch this as it happens you can coach to it and get ahead of it.

How do I continuously improve myself? What’s the best way to grow my skills?

  • Continue to explore all aspects of agility: Agile is not a single framework. It’s a mindset, a set of values, and an ever changing set of tools. Use the below to expose yourself to new tools developing.
  • Communities of Practice: Find a group of people you trust. If they have a weekly or monthly meetup, attend it. Look for agile or devops meetups in your area, and attend them.
  • Social Media Groups: Twitter and linkedin I’ve found to be the best. You can probably find local meetups on Facebook as well.
  • Conferences: Attend conferences. Most are virtual and many have gone free since COVID-19 forced work at home. Always check the sponsor list and be aware of who is hosting the conference. Take heed if it’s a staffing agency – are they interested in Agile or selling consulting services?
  • Expose yourself to several different ways of agility: working at a single client can lead to you starting to lose your objectivity. In addition to different Volunteering is one way to work part time at another client and practice your skills. You can also:
    • Work in engagements that have a set length of time
      • This also lets you work two engagements at the same time – 2 days on site for two clients a week, with 1 day left for self improvement, for example.
  • Experiment and Practice with tactics or tools outside of the workplace:
    • Try this out: Use Kanban to organize a major landscaping project, or cleaning out your closet, or planning a vacation.
    • Use a personal Kata – even for things that aren’t strictly for work.  Like improving physical fitness – or improving a musical instrument.
    • If you are a programmer, try Test-Driven-Development – even in a small project.
    • Important: Remember to keep practicing skills, even if you are not currently using them. It is MORE important to practice what you are not currently using, to make sure you keep your skills sharp.
    • Your Personal Chaos Monkey:Find something hard, or disruptive, that would be good to learn, and force yourself into it. See what happens. This helps you practice several skills above – and how to experiment safely (Betting all your saving on $GME is not a good chaos monkey!)
      • Some good personal chaos monkey exercises:
        • What if I had to move to another state in a month? Could I do it?
        • If you needed to change careers, what would you do?
        • Your computer completely breaks down and can’t be recovered. It’s a brick. How long would it take for you to get up and running again? What would you lose?

If you learn nothing else but one thing from this email this is the thing I want you to walk away with:

  • Find the best way you learn – books, audiobooks, podcasts, short videos, long videos, meetups, whatever – and then build a habit around it. This email has a half-life of about…. Now. It’s already out of date. The only way for you to continue on is to build a habit of continuous learning. It’s on you.
  • My habits, as an example:  
    • I listen to audiobooks or listen to podcasts while doing something that is not mentally taxing.  Folding laundry, working out, commuting, etc. I’ve found this to be a great way to learn new major concepts (What is HCD, for example).
    • I have weekly or monthly video calls with peers that I’ve met over the years. I maintain those relationships as they go on to work at other companies, and we share notes, experiences, experiments, and insights. This is essentially a community of practice – though it’s a matrix of a loose social networks that meet each other rather than a formal meetup. This is often a major source of new ideas and things to try.
    • Write code every week – even if I’m not on an engagement that requires coding. Practice TDD and Red-Green-Refactor