In the agile community, we have a saying, “Fail fast.” It means we are supposed to feel safe to fail, and that we want to fail fast so we can use that learning to iterate on the requirements. We have opportunities to improve.
I like the idea that it’s safe to fail. No one berates us or fires us or some other bad consequence for failing. That part’s great.
And yet, I find “fail fast” to be a problem. I don’t want to fail at all! I often discover I am not “failing,” but that I have not yet discovered a reasonable solution. I prefer a different way to say this.
Back when I was a software developer, I worked on machine vision systems. I was supposed to develop the software that looks at the glue around the windshield before the robot stuck it in a car.
Have you ever looked at black glue on the black border of a windshield with 8 bits of grayscale? It was a challenge. (Our digital cameras then were nothing like they are now.) I experimented for several days, on both the camera placement and the algorithm to see what could work. I had pages of what didn’t work in my engineering notebook. I also had three possible solutions.
I tested those solutions and chose one. It worked on the factory floor, not just in the prototype lab. I learned what I needed to do in several days and produced a working prototype in a week. It took me several weeks to deliver a working product. The prototype was not good enough for production.
I learned early. I didn’t fail fast. I discovered many opportunities to improve my approach. I was able to eliminate several fast. I had to iterate to find one that worked in production.
For me, “learn early” as opposed to “fail fast” are different things.
“Learn early” means this to me:
- We spend less time and money on learning. Too often, managers see failure as expensive. I want to make it easy (and cheap if possible) to learn.
- We offer ourselves more opportunities to ask questions (you might need more questions):
- Are we doing the right thing?
- Are we still learning?
- Are we trying experiments to learn faster?
- I feel as if I am growing, trying new things. I can apply the growth mindset with each new experiment.
I don’t have the same feeling from “fail fast” as I do with “learn early.” For me, “fail fast” means:
- I don’t succeed. I have failed at something.
- I might or might not learn from my failures.
- At least I didn’t spend more time failing than I should have. Maybe.
“Failing” is a loaded word. It’s loaded, not just for me but for other people in organizations. Especially managers.
When I was a manager, I experimented with many things. I told my staff I was experimenting. When I had one-on-ones with more senior people, I said, “We’ve been doing this a while. Do you want to run the one-on-one as an experiment?” Some of them said yes, and others said no. It was safe for either answer.
One guy said, “I’d like to run them for a couple of weeks, and then see what questions we both have.” He was smarter than I was. I had not counted on the questions still there after a couple of weeks. We tried it his way. Sure enough, we had not discussed some challenges we needed to. We both learned, and in just the space of a couple of weeks.
I have not found that “learning” is as loaded as “failing” is. That’s why I like “learn early” to “fail fast.”
I’m not the word police. I’m not going to tell you to change what you say. I will suggest that the words you use might be able to benefit you more in some contexts. You get to decide if your context likes “fail fast” or “learn early.”
That is the question of the week: Are you failing fast or learning early?
- Who’s to Blame?
- What’s Your Audacious Idea?