I love agile development methodologies. Specifically the ability to fail fast and adapt as necessary.
I love cloud services for making failure cheaper and therefore easier. We can try new things because the risks are lessened.
We have the process for failure figured out. We have the technology for failure figured out. I think we’ve still got to figure out the emotional impact of failure.
We don’t like to talk about touchy-feely things in engineering, but the fact of the matter is that failing fast, failing in ways that we’ve built business cases around, failing inexpensively… is still failing. And it doesn’t feel good to fail.
The team I’m working on had what we thought would be been a rubber-stamp demo scheduled for last Thursday. We were a few weekly sprints into the project. We’d demoed it previously and made some changes based on that demo. We were working the way we were supposed to.
The demo revealed that a handful of requirements hadn’t been communicated. Somehow this was missed earlier. Much of our work was invalidated.
We failed. We failed quickly. We failed in such a way that we could iterate on our work and save the project. We did what we were supposed to do.
But in our next retrospective, we couldn’t get over how much it stung to do it. We recognized that the process was meant to catch these things, that we hadn’t done anything wrong inside that framework, but couldn’t shake the feeling that how things went down just sucked.
I don’t know how to get over that. It feels like failure because it is failure. If we expect it at a process level, maybe we need a way to account for it on an emotional level, too.