Learning Agile from a 3 Year Old
What being a stay at home dad taught me about common Agile pitfalls.
One of the most confusing parts of my career has been working with teams who adopt Agile practices without the Agile mindset. I’ve seen teams adopt daily stand-ups, backlog grooming, sprint planning, sprint reviews, and still thrash as they tried to make their existing behaviors fit. Hilariously, one Project Manager said to me, “I know multi-tasking is impossible, but can you do it any way?” It took being a stay at home dad to a troubled child to show me why this is so common and so very human.
My son, Ragnar, recently attended a Montessori school in our area. It’s a great school but was a terrible environment for him. After a mad dash to get him potty-trained and ready, we enrolled him and watched as he regressed over the course of a few months. For reference, Ragnar has always been aggressive. At the age of one, he was body-slamming his older sister and cousins for fun. He was, however, never mean. He was just a quintessential boy.
Being at that school, he grew mean. Constantly angry and defiant, he lashed out and threw things. He started pulling hair and biting, soiling himself deliberately, and became an emotional basket-case. As much as the school is a great fit for my daughter, our family decided to pull him from the school and bring him home.
The first week was rough. He was screaming, I was yelling, he was trying to tear out my beard, I was yelling more… It was not my best parenting and no matter how hard I tried, I wasn’t making progress with him. I realized I was doing everything wrong, and recently, that I was mirroring major pitfalls in Agile adoption.
Doing Everything at Once
“Do one thing well and build on that,” has been my motto for years. When Ragnar came home, I set the following tasks;
Teach him to manage his emotions without hitting
Restore potty habits
Restore good habits (putting toys away, clearing his place at the table, etc.)
Practice focused activity work
Get comfortable with independence and lack of constant attention
Research contract opportunities
Start a blog (again)
What on earth was I thinking?! This isn’t even the complete list! I so urgently wanted my kid back to where he was that I never stopped to think of what he and I could realistically accomplish.
We still live in a culture of “multi-tasking”. It permeates the zeitgeist. That’s not a pitfall of software development teams attempting to be Agile, it’s a pitfall of the modern experience. We think nothing of attempting to advance as people, in our relationships, as parents, in our careers, as homemakers, and more, all at once.
My wife and I agreed years ago to take turns focusing on our careers. We explicitly state, “This is your turn and I’ll take up the home slack.” This freedom to focus on a specific area of advancement has dramatically accelerated our growth and for good reason. You can’t do everything all at once, in life or in work.
By taking Agile into my parenting and selecting specific tasks to focus, Ragnar’s improvement was dramatically accelerated. Each core competency gave him a stable platform to advance to the next goal, but only when it was habitual and effortless. In life and work, do one thing well and build on that.
Failing to (Continually) Team-Build
When Ragnar came home, I assumed we were fine. I’m his dad, right? We’ve known each other for years. Well… not so much. I was a great collaborator with the kid who started at that school. I barely knew the kid we brought home.
He didn’t know me either. He didn’t know how I’d react to new heights of anger, fear, defiance, and sadness. He’d never challenged me that way before and didn’t know how I’d respond. When I tried to resume our old framework of discipline and good habits, he was trying to fit a novel experience of himself into it. The result was constant conflict.
Learning to work well with people is hard. The best relationships are a combination of well-worn and shared habits along with constant rediscovery of the other person. The habits provide efficient collaboration. The rediscovery allows those habits to evolve to suit the people as they change.
Suppose your team has had a recurring meeting for years. 4PM every Friday, the team gets together for the Sprint Retrospective. Then a life change happens for one team member. Maybe they take up Scuba diving, maybe their kid has piano lessons, perhaps a family member is ill and needs care. That meeting time has become problematic due to outside forces.
How would that team member feel about requesting a change in the habit? In a healthy team, they would raise the question straightaway. If they feel distanced from leadership, they may be afraid to ask. Even with a solid relationship with leadership, if the team members relationships with each other are distant, the one member may fear being seen as “not a team player” or “inconveniencing everyone else.”
Such a simple problem can be the start of losing a team member. It can turn into resentment and conflict. The real problem isn’t the schedule conflict but the failure to continually reinvest in the team relationships.
When I took the time to mindfully do daily activities with Ragnar, we built a renewed foundation for our relationship. I learned who he had become and he learned who I would be in response. He felt safe to communicate his wants and take ownership of his own development. In life and work, team building comes first and never stops.
Insisting on Deadlines
Have you heard the joke about a Project Manager being someone who thinks nine women can have a baby in one month? In their defense, being a PM is hard. We can’t function without a plan and a goal, and missed deadlines affect both. The problem is, the work doesn’t care about your deadlines. It doesn’t care about your estimates. It doesn’t care about your release window. The work takes as long as it takes, and laughs in the face of your careful planning.
When Ragnar came home, I was the king of arbitrary deadlines. “It took this long to get him potty trained, so it should take this long to get him back on track.” “He’s out of that environment and with me full time, so it should be quick to calm his emotions.” “I have to get back to work, so I need him on track within this timeframe.”
You can guess how well that worked. The worst part of it wasn’t the missed deadlines, it was my reaction. When he “failed” to meet my timetable, I got frustrated. I’m sad to say that I sometimes got angry. I forgot that the work takes its own time and we are beholden to it.
Deadlines are a good thing! They’re goals which keep us on track. They allow the coordination of complex sets of activities to culminate in achieving our mission. The problem isn’t having deadlines but in insisting they be met.
When a new feature is delayed due to a maintenance need, it’s hard to accept that the delivery date changes. It’s emotionally hard because it changes our carefully laid plans. It can be financially hard if we’re contractually obligated to deliver by a certain date and will be penalized for delays. It’s human to insist on deadlines but it’s also futile. You can’t demand an early sunrise.
Insisting on deadlines causes two major problems. First, it prevents you from responding to change. When you know the deadline will be missed, any time spent digging in your heels is time lost finding ways to mitigate the harm. Second, asking someone to do something impossible (or burn themselves out working overtime) loses trust and can eventually kill morale.
When I pushed Ragnar to advance on my timetable, our relationship and his development worsened. When I accepted what he could do in a given time frame, he trusted me more and his development accelerated. Agile is about responding to change. In life and work, set deadlines but don’t expect them to be met.
Focusing on State over Capability
This is a more abstract one. Like probably every parent, I have a plan for my kids. Call it, The Perfect Path. Every bad thing that happened in my life must be anticipated and prevented. Every missed opportunity must be anticipated and realized. My children will have all the things I needed and none of what was harmful. What an utter crock!
My daughter, Mad Dog1, learned to read at 4. This was to give her early access to self-study using books. It was also so I could teach her software development before she was a teenager and she could start her own business as a teenager, thus gaining valuable life experience and confidence. Great aspirations, right? Certainly nothing harmful about any of it. She may even follow that path.
Ragnar could not care less about reading. Flash cards, letter puzzles, spelling activities… “No thanks, dad! Let’s play with blocks!” I had the same plan for Ragnar and (boy howdy) it’s not panning out.
They both had to go to Montessori schools so they could learn how to teach themselves and not be beholden to any one system of learning. It’s going great for Mad Dog, but for Ragnar it was a disaster.
One of the best things my wife told me, and one of the hardest to hear, was “You’re great at planning and structure, but you’re terrible at seeing the kids for who they are.” She was absolutely right. I want my children to be happy, successful, curious, and moral. I’ve selected all the tools, practices, and environments to make that happen and doggedly pursued them. How interesting that, that approach fails the Agile values and fails to benefit my children.
We often get caught up in how we think value should be provided. That’s State Thinking. Capability Thinking is when we ensure the value can be provided and get customer feedback the product.
State Thinking leads to overengineered solutions, like a complex and expensive PDF generation component when some CSS rules and the web browsers Print to PDF feature would do. State Thinking is how we spend 6 months on software the customer refuses to use. It’s why we generate feature rich webforms with extraneous capabilities, but forget to set the tab order on input fields.
Capability Thinking tells us to get the minimum viable product in front of the customer as quickly as possible and get feedback. It makes development collaborative with the true arbiter of success, the user. It keeps us focused on the manifestation of value.
Focusing on Ragnar’s Perfect Path, the State of his development, was a disaster. I sent him to an environment which was destructive for him and kept him there too long, holding out hope that “the plan would work.” Focusing on his Capabilities, and listening to my much wiser wife, let me see his needs and abilities clearly.
I want him to be curious and capable of self-instruction. He’s not interested in reading right now and beating him over the head with it only dampens his curiosity and wastes his time. By understanding his interests, I can provide him with opportunities for self-instruction which are of realizable value to him! In life and work, forget the State and focus on the Capabilities.
Running on autopilot
As I regularly remind my kids, we need habits. If you had to think through tying your shoes every day, plan out chewing your bagel, deliberate on when to shift gears (assuming you drive a manual), we’d never get anything done. Automatic behaviors are the foundation of life. They’re just not a panacea.
The usefulness of a habit depends on the context and we naturally consider the context only after the habit yields a negative result. Stopping to consider whether you should tie your shoes a different way wastes as much time as thinking through tying your shoes. So we have this massive positive feedback loop telling us to just do the same thing we always do without thought. Usually, autopilot is right.
This is exactly why Agile is so hard to master. The Agile mindset is a mindful mindset, requiring us to scrutinize our automatic behaviors. We start the sprint with a clear goal and pursue that goal in our habitual manner. At the end, we analyze the outcome and pursue alterations in our habits.
How often do you really do that? Don’t just think about work, think about your life. After the better part of a decade guiding teams towards Agile development, it’s not that often. I’ve gotten better about mindfulness in my family dynamic, but friends, diet, exercise, self-care, recreation, planning for the future… Not so much. I do what I’ve always done and change behavior only when something hurts.
In retrospect, I’ve failed to be Agile in teaching Agile! After some great successes, I subconsciously created a Perfect Path to Agile. I’d see patterns of dysfunction I’d healed before and try to apply the same fix without pausing to ask what was best suited the team dynamic.
Agile is hard. Agile is counterintuitive. Agile is time-consuming. It also works. It has dramatically improved the performance of teams and it’s helping me be a far better father. Ragnar showed me how hard Agile really is, even for someone who teaches it. It’s an uphill battle against human nature and you’re investing time up front for magnified gains in the future.
Ragnar is mostly back on track. There are a few areas where he’s still behind where he was, but the work doesn’t care about my deadlines. Working with him through this ordeal has been a humbling experience as a father and an Agilist, but it’s made me better at both. Both he and his daddy are still learning, but that’s the fun part anyhow.
I wanted to wrap this with something pithy, wise, maybe even clever. Something that’s a good thesis. But… nothing comes to mind. Let’s go with what Ragnar taught me as he went from an angry kid who tried to tear out my beard to a loving kid who tried to comfort me when I was in pain2. In life, play, listen, forgive, and most of all, be mindful.
Yes, I call my daughter Mad Dog! Deal with it.
Pain he accidentally caused by flailing around like a nut-job in excitement, but ya know. Kids.
MUST READ-Best article I have read that demonstrates the alignment of Agile development and Behavioral Sciences.