New Articles

The Fallacy of Move Fast and Break Things

move fast

The Fallacy of Move Fast and Break Things

Ever since Mark Zuckerburg uttered the phrase “move fast and break things,” it has become the motto of many development teams. Companies wanting to be the next unicorn decided this must be the way to operate. The race was on to release more, ship faster, never stop. If moving slowly and methodically wasn’t working, doing more had to be the key to success.

These companies would cherry-pick statistics from reports like the Accelerate: State of DevOps Report. The 2019 report showed elite companies have 46x more frequent code deployments than low-performing teams and a 2,555x faster lead time to move from code commit to deploy to support their initiatives to move faster.

The problem is moving fast doesn’t work across industries or for all teams. And to effectively move fast, you need processes in place to support the velocity. The consequences of moving too fast and not being able to fix things when they break are high.

How we got here

What has gotten us to the point where we are moving too fast? In short, we have. How do you feel when it takes months or a week for a PR to be resolved compared to hours or days?  As consumers and end-users of software, our expectations are continually rising. We have to ship quickly because that is what we as consumers expect. As customers, we are pushing companies, which in turn pushes their employees to meet the increasing expectations.

What are the consequences when you try to move fast and not just break things, but fail?

-It takes longer to resolve incidents

-You lose customer confidence and sales

-Employees burnout and you have a high turnover rate

Let’s go back to the stats from the Accelerate: State of DevOps Report. Yes, elite teams ship faster. But, their changes are 1/7 as likely to fail and they recover from incidents 2,604x faster than low-performing teams. It’s not just about moving fast and breaking things; it is about having the right systems and processes in place to support this way of working.

Setting yourself up for success

You need two things to effectively move fast: a culture of psychological safety and smart investments in tooling. Employees need to feel empowered to speak up if things are moving too fast, if they are concerned about why a feature is being built, and to identify gaps in the processes. They need to feel they won’t be blamed when something breaks. Building this requires empathy, open communication, and teamwork.  This psychological safety is the foundation of being able to move quickly and quickly recover when things break.

Next up is selecting the right tooling and processes. Invest in tools that make things easier. Tools should be useful, usable, and change the underlying problems, not create more.

Think about the tools in place to quickly resolve incidents when something fails.

-Observability and monitoring tools to identify and notify when things go wrong

-Incident management tools to route, track, and escalate issues

-Feature management tools to enable circuit breakers and load shedding to turn off features quickly.

The culture and tools are part of the equation; the final piece is having the right processes in place to effectively use the tools and support the people.

What are some processes you can implement to enable safety at speed?

-Schedule chaos days to understand how things break and know how to fix them

-Release features via targeted rollouts, betas, or canary launches

-Test code in production without exposing it to all users

-Configure operational feature flags to dynamically change logging levels when an incident occurs

-Run experiments to gather feedback and ensure features are moving in the right direction before a release

You should attempt to move fast, you should try to break things—but only when you have the right protections and processes in place. Using a combination of the right tools and processes, you can deliver more value faster without sacrificing quality or your employees’ health.

______________________________________________________________

Dawn Parzych is a developer advocate at LaunchDarkly, the feature management platform that software teams use to build better software, faster with less risk. Development teams use feature management as a best practice to separate code deployments from feature releases. With LaunchDarkly teams control their entire feature lifecycles from concept to launch to value. Learn more at https://launchdarkly.com.

tech

How to Succeed in the Competitive Tech Industry

Succeeding in any competitive environment requires having basic traits or advantages that your competitors do not have. The same premise applies to the global tech industry. There are plenty of people with ferocious work ethic, tremendous technical expertise, strong connections and a vision of what they want to accomplish. With such competition, how can you succeed? The key is to look at where most people fail.

One – Keep the Vision Simple

Start with simple challenges that need to be addressed by your technology.

People will typically start off with goals that are too grandiose or theoretical. That’s what investors ask for. Rather than focusing on simple things that users need, the goal is to create a platform that will disrupt, revolutionize, re-imagine or shake-up an entire industry. That’s also what’s most attractive. But it’s also a road that will lead to a high failure rate. It does not matter if your vision is sexy and attractive or not. What matters is if people have the problem that you can fix and if they are willing to pay for that.

Two – Take One Step at a Time

Again. Take the megalomania and tuck it away. Keep overhead low. Hire as little as possible and allow your product vision to mature naturally. Once it generates initial traction, the product will catapult revenues and allow you to make smart decisions around budget allocation. But don’t give in to the temptation of looking for things that reaffirm your abilities such as nice office space, and expensive advisors and consultants. Focus on having a product that works and that people know about which brings me to point three.

Three – Make sure people know about it

There is no use for great technology if people don’t know about it. How you will get people to know about it is an entirely different subject. But make sure you emphasize and understand digital marketing just as much as you understand product development. Start with a small but energetic and enthusiastic community and build from there. Just remember that from a budget and prioritization standpoint this is as important as the product itself.

Four – Even though the aim may be global, start local

Similar to the one step at a time point. Even though you may have an ultimate global end-game to your product development. Make sure you start by addressing a single market first. The region focused the better. Then roll out to other regions slowly and adjust accordingly prior to a big global roll-out. In my experience, different parts of the world, the country, the state and even a city may react very differently to the same concepts. Don’t push too much for a global approach. If the product has the fundamental qualities available, it will naturally become global.

Five – Be Hands On

Don’t rely too much on an incipient organization. Even if you have great people, be sure to be involved in key processes, to challenge people and introduce checks and balances throughout the organization. Make sure things are moving at your speed and insert yourself wherever you believe your presence is necessary. Don’t get hung up on organizational charts, roles and responsibilities. Just make things happen!

Six – Establish a Culture Early On

As a natural consequence of your engagement, your unique company culture will start to mold. Do you like solving things collectively or individually? Do you like abrasive or tender discussions, long or short meetings, laughter or just down to business. What are your values? And not from a theoretical perspective but from actual behavioral analysis. This lucidity is paramount towards building a successful organization.

Seven – Don’t stop innovating

The minute you have reached goal number one, rest-assured it’s already obsolete. Continue to establish new goals, new visions and new dreams. Continue to adjust according to market and user response. Continue to pivot based on insights and revelations. Don’t give in to the temptation of making it. There is no such thing. Making it is a daily achievement.

The common thread is that people get excessively hung up on business models, concepts and theory and rely little on their empirical data to make key business decisions. A no nonsense, down to earth approach towards these challenges and taking it one step at a time is pivotal in terms of building a global and successful tech organization.