Recently, the stellar community of Ottawa Agilists gathered to share stories about Agile regrets and success. The first session was hosted as a “fail faire” and the second session was hosted as its’ counterpart… a “success faire”. As an outcome, we attempted to gather the “lessons learned” and “secrets of success” for each event respectively.
Having hosted both these sessions, it was interesting to me how much harder it was to root out the source of success over the lessons learned. In part, this came from the participants themselves… story tellers were more apt to share directly what was the cause of a failure. Success stories were related in more detail about “what happened” rather than “what exactly made this work”.
This got me thinking… why don’t we pin point the source of success with the same attention and effort we do causes of failures?
Could be that we don’t analyze success with the same interest because… well, it worked… what is there to analyze further? Sure, I get it.
However, just like not all steps undertaken when we make a mistake are necessarily causes of our failure, not all steps that were undertaken when we succeed necessarily meaningfully lead to our success.
And just like we identify root causes of mistakes so that we don’t repeat them, we should seek out the root causes of success… so that we can repeat them.
Over the years, I’ve heard many variations of “we can’t do Agile”:
Agile doesn’t allow for proper thoughtful design.
Our project \ organization is too big to do Agile.
Agile is really just a dev thing.
Agile just isn’t reality.
I realize that behind every single “we can’t do Agile” statement, there’s a story. My intent here isn’t to delve into the stories of Agile woe… rather, I would like to open a small crack for the “we can’t do Agile” crowd.
1. Have you ever stopped yourself from sending an email, and instead decided to walk over and have a conversation with a team mate?
2. Have you ever argued to make the right fix on your project, even if it went against the requirements \ spec document?
3. Have you ever sought out feedback from your customer or end user in order validate your understanding of a project?
4. Have you ever adjusted your project plan in light of new feedback (user based or technological)?
If you answered yes to any of these questions, then you successfully “did Agile”! Consider the values of Agile below and review the questions above again respectively…
1. Individuals and interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan
Viewed in the light of Agile values, many teams are already adopting Agile methods… albeit implicitly. Embracing these values in a more explicit fashion opens a door of possibilities… among these possibilities would be to let go of the idea that “we can’t do Agile”.
Recently, I have been deconstructing with curiosity my role as an Agile Coach.
Let me begin by saying how committed I am personally and professionally to the deeper understanding of Agile and Lean. Putting these values and principles into practice over the past few years has given my work meaning in so many ways.
That being said, I have failed to appreciate the importance of how the organization views these skills…
I believe that a good Agile coach acts almost imperceptibly. Building courage, simplicity, communication, feedback and respect… all that a coach does in order to build a stronger and more effective team might not be obvious. Indeed, as coaches, we can become so focused on the success of the team that we may risk neglecting looking after our interests within the organization.
That is to say, there may not be clear evidence of the coach’s value to the organization. So while executives may recognize the improved effectiveness of the team, they mistakenly begin to assume that the coach’s skills have been captured by the team itself. They then conclude that this process can be reproduced (rubber stamp like) to other teams. To borrow Dave Snowden’s analogy… they believe that “having a good recipe” is the same as “having a good chef”.
As practitioners of evidence based learning and progress, how do Agile coaches provide evidence of their value to an organization? Is this even skillful or necessary to do so? I look forward, dear readers, to your feedback…
At this time of year, it’s worthwhile taking stock of our lives… to do a retrospective of sorts. To collect both accomplishments and gratitudes for the year….
Tip: Skip past the bullet points if you are quickly seeking the punchline.
- I received generous support and guidance from @eegrove who helped me to define the role of an Agile coach within the context of my work at Corel.
- I spoke about UX from a developer’s point of view at NSNorth. I also met and reconnected some dedicated iOS / Mac developers and had a few pints with some brilliant people.
- I joined an excellent group of volunteer organizers at Agile Ottawa and co-hosted a Fail Faire event with @BillyGarnet and@simbourk.
- I attended Agile Coach Camp Canada in Toronto, where I gave a lightning talk on Agile Teaching and proposed and lead an Agile 101 session.
- I completed Coaching Agile Teams training with @lyssaadkins and @mspayd. This class helped me to better understand, take ownership have confidence in my skills and abilities as an Agile Coach and, looking back on it, was a life changing experience for me.
- I started to blog and am proud to say that I’ve put together 18 posts that I feel add value to the Agile community in their own small way.
- I created and gave a presentation that summarizes 6 different software development methodologies in under one hour using nothing more than a marker and a whiteboard as a visual aid. I’m happy to say that the feedback from this presentation was very positive.
- I helped my former team at Corel to complete a significant re-architecture of a large legacy code base. I also created a spirit of collaboration, sharing and trust on the team by facilitating, coaching, mentoring and teaching Agile values, principles and methods.
- After being laid off from Corel in early December, I interviewed at a few startups and, while the job hunt continues, this experience has given me the opportunity to meet some energized and inspiring folks doing good work.
- I’ve received career and life coaching and support from my dear friend @spydergrrl … over twitter, over the phone and over lattes.
- On a personal note, my 4 year old started school this year and it’s been a pleasure to watch her grow out of a toddler and into a little girl with thoughts and opinions all her own. I feel privileged to be part of her journey through life.
- On another personal note, to my partner in love and life… it’s been a year full of distractions, but I’m lucky to have someone that I can be completely honest with…for all the good, the bad and (sometimes) the ugly sides of me.
So what does listing some my accomplishments and gratitudes do for me? It helps me to take a deep breath when I feel that I’m not fast enough, smart enough, energized enough, or <enter perfect person quality here> enough… I can tell you that I will be coming back to this list a few times during 2014 to remind myself that I am… indeed… enough… and that I am very very lucky to be surrounded by such amazing people.
What improvements would I bring forward to 2014? Clarity, simplicity and courage in my own thoughts, words and actions. Love, compassion and respect to those who matter in my life. Mindfully choosing with awareness where I give my energy in those empty hours when I’m all alone with my own thoughts.
Ok… well… maybe these are more life goals than yearly goals… but if Agile has taught me anything, it’s that when you are faced with uncertainty, you need to be able to lean hard on your values.
Wishing you the very best in 2014. Thanks for reading 😀
I’d like to suggest a radical strategy for backlog management. The strategy is simple, whenever you review an item and opt not to consider it for active work, destroy it. Yes, you heard me, set fire to the blighter!
This might seem a little extreme at first glance, but I think the logic behind it is pretty straight forward. First, by keeping it, you are implicitly saying that anything new that you will learn as you work is less important than the thing you just said no to. Secondly, by keeping it, you are also implicitly saying that you have no feedback mechanism whereby the item could come back to you without constantly collecting and reviewing it <insert Gollum sounds here>. And don’t get me started with the cost of maintaining all that baggage if you opt to keep it. Believe me, I understand that we love our precious items… I do. But a backlog item just doesn’t have value unless it’s being worked on meaningfully right now.
With the year end looming, this might be a good time to simply grab all that baggage in your backlog and toss it out. Trusting that if any item was really important, it will come back to you quite naturally in good time.
“I know one thing: that I know nothing.” – Socrates
For Agile teams to meaningfully embrace change, they should also embrace a culture of learning. This idea is not unique to Agile, Lean also explicitly makes mention to the importance of learning by making it one of its’ principles.
So what can we do to create a culture of learning on our teams?
I would suggest that while it’s important to encourage learning and to create learning opportunities on the team, doing so may not be enough to truly embrace a culture of learning.
For this to happen, we first must first create the capacity for learning on the team. This means honouring the time and energy that it takes to set aside our own agendas and then divert this time and energy to learning. It also means allowing ourselves to acknowledge and dare to speak three simple words: “I don’t know.” This can be tricky because we don’t often reward or encourage a culture of “I don’t know” in our work and personal lives. It’s unlikely that Socrates would have climbed high up the corporate ladder with his approach of “I know nothing”.
So if you are seeking to create a culture of learning on your team consider…
…do you ever hear team mates asking for help?
…is it ok for the team to acknowledge what they don’t know?
…do we honour learning on the team in the same way we do “solutions” and “results”?
The key here is to be able to accept what we don’t know and then move on to “what do we need to do to learn?” while being comfortable with the reality that we may never have perfect answers. However, by not acknowledging what we don’t know, we risk buying into answers that don’t deliver value.
This weekend I was privileged to attend Canada’s largest non-profit UX conference, UXcamp in Ottawa. Quite a few themes emerged during the conference, but two resonated deeply with me… process and team.
Several presenters either directly or indirectly talked about the importance of applying UX principles to internal processes and teams. In addition to this, on more than one occasion, “big A agile” was explicitly mentioned and quickly dismissed… it seemed to me (perception alert!!) that many presenters wanted to distance their ideas from being in any way “big A agile”.
So I wanted to take a moment to offer up a quick overview of Agile for curious UXers out there. To begin with, I want to share how deeply committed I am to the idea that we (UXers and Agilists) are focused on the same goal of delivering high quality valuable solutions to our users.
First thing that I would like to share is that the heart of Agile isn’t process. Agile came to life with its first incarnation in XP or Extreme Programming… and if you dig a little into XP, you’ll come face-to-face with its values: feedback, communication, simplicity, courage and respect.
The next thing that I would draw attention to is the Agile Manifesto itself. Several leaders in the Agile community came together in order to define Agile’s four values: “Individuals and Interactions”, “Customer Collaboration”, “Working Software” and “Responding to Change”. These values apply to the software solution as much as the team itself. In support of this, the Manifesto also describes 12 principles that help define “how to be Agile”. The majority of these principles are focused on team.
Now, this isn’t to say that there aren’t plenty of “practices and implementations” out there calling themselves “Agile”… but I would strongly question any practice that calls itself Agile that does not honour the values and principles of the Agile Manifesto or the origins of Agile in XP values. As UXers, you are in a unique position to see this on your teams… I would encourage you to help your “big A agile” teams reconnect with their core values.
I recently put together a whiteboard presentation that gives an overview of 6 different software development methodologies (Waterfall, XP, Scrum, Agile Manifesto, Lean and Kanban). I started with the grand-daddy of all the methods… Waterfall.
I’m glad that I did… because doing so reaffirmed for me that Waterfall, like most software methodologies, is often misunderstood.
I want to be clear. The whole document maintenance nightmare, lack of customer feedback, hard core linear process of Waterfall is indeed still part of Waterfall. But viewing it in the historical context of the 1970s, I came to realize some of the honourable goals behind the Waterfall process. As a developer, I had to imagine a time where writing and compiling code could be extremely time consuming and costly to do. Suddenly, trying to sort out as many details before writing a single line of code started to make sense.
So when you look at a particular software development methodology, it may be worth taking into account what motivated it’s creators within their historical context. Doing so can allow you to let go of the parts that don’t necessarily fit within your own context and perhaps extract what is still meaningful for you.
Coming back to Waterfall, I extracted a few things that I think are still relevant to me today. Software development requires discipline in order to be effective and (however tempting it may be to do so) we should be careful not to skip steps in order to speed ahead. That being said, which steps are meaningful to you… well… that all depends on your context.
Lately, I’ve been thinking a good deal about how Agile teams are able to deliver value. I believe that a common trait shared by teams who skillfully deliver value is a shared vision centered around compassion for their users.
Teams who consistently can design, implement and test to deliver frequent and highly valuable products to their customers are connected to their users. Not just in the sense that they are able to interact and communicate with them, but in the sense that they clearly understand the user’s problems.
Understanding their problems means that everyone on the team…
…can clearly articulate the problem their work is attempting to solve. The whole team understands the rationale behind the solution they are implementing.
…understands the value of solving this problem. They understand why they are solving one problem over another.
…can identify with this problem and is empowered to do something about it. The team has a “two brains are better than one” approach to problem solving in general.
These compassionate teams understand that everyone on the team is working hard to solve these important problems for their users. It is this shared compassion that gives their work a sense of purpose and urgency. It is the fuel that keeps them focused every day.
“Who’s the more foolish, the fool or the fool who follows him?” – Obi-Wan
One of the strengths of any Agile team is how easily the team can collectively embrace change. Conversely, this can be also our biggest challenge to remaining Agile.
In order to truly collectively embrace change, the whole team needs to opt-in. This can be a rather daunting task for Agile leaders out there to facilitate. But there is something delightfully simple that I would like for us to consider. For this, I’d like to invite you to watch this brief talk from Derek Sivers.
Agile coaches out there will no doubt identify with being the “lone nut”. I certainly do. But until I had seen Derek’s talk, I don’t think that I had truly appreciated the importance of that “first follower”. These early adopters are the people who..
…acknowledge when you are making sense. They are engaged listeners.
…raise concerns when you aren’t making sense. They are competent thinkers and have the respect and courage to speak up when they feel it will add value.
…try your ideas and add to them. They are true collaborators.
As Derek points out in the video, these first followers make room for change and transformation in others. They make change possible for the rest of the team. Sadly, as Agile leaders it’s all too easy for us to focus on those who won’t join in the movement… in fact, we can spend a lot of energy trying to support and help those who may never “get up and dance”. So much so, that we risk taking for granted those first followers who do have the courage to meaningfully lead change on the team.
After all, it’s worthwhile remembering, Obi-Wan wasn’t the real hero of the story.