Delivering Successful Software Requires You to Fail Faster

Software development has evolved to a point where you can’t just develop something for months, throw it out into the wild, and fix all the problems that people run into later. Testing has been pushed further and further left as we’ve adapted to the demands of the marketplace and the users themselves.

Because of that, the concept of failing has changed from something people dread to a necessary part of creating secure, functioning applications that won’t get buried by low customer reviews. That means that you don’t want to have one major failure at the very end of the development lifecycle—you need to continue to fail before release to find real success.

The earlier in the process you can discover bugs or areas where your code can be improved, the earlier you can test more complete versions of what you hope to ship. In an interview with AgileConnection, lead evangelist for Atlassian, Sven Peters, detailed the value of failing in today’s highly competitive software market.

“Failing faster lets us fix things earlier in the process,” Peters explained. “It means both finding bugs earlier and fixing them, and running experiments to improve your software, internal processes, development pipeline, and final output along the way, as well as the decision to proceed, improve, or cancel it.”

It’s not an easy concept to get used to. Sure, everyone likes to pretend they can keep a smile on their face as they’re being told they’ve failed, but in reality, we’re accustomed to working toward success rather than anticipating failure.

However, if you change your mindset so that discovering bugs or areas of your application that need optimization as early as possible is key to your eventual success, the idea of failing becomes much more appealing.

“The days of big planning phases are over, as are long-implementation phases and rolling results out to everyone at the same time,” Peters continued. “Small changes and improvements help you fail faster, inevitably helping you improve faster.”

If you don’t strive to improve as fast as possible, it doesn’t matter how novel or useful your application is in concept. Users will move away from your software within minutes if it isn’t properly optimized or tested, and in today’s agile world, the best way to guarantee quality is to fail as early and often as possible before you hit your release date.

Up Next

About the Author

TechWell Insights To Go

(* Required fields)

Get the latest stories delivered to your inbox every month.