In Software Development, Execution Isn’t Everything
I’m sure you hear some version of this statement all the time: “Ideas are cheap. Execution is everything.”
This is true, but only to a point. Where software development is concerned, good and even great execution alone does not ensure a successful product.
While there certainly are best practices, it’s also important to embrace the fact that every project, every product, and every idea is different. Although you can sometimes leverage the past and apply what has worked before, often you need to dream up something new. That means execution comes later.
Your first area of focus should be communication. Even people within the same company speak different languages. Every functional area, from developers and users to marketers and salespeople, tend to use their own phrases and jargon. Consequently, what I think I’m saying may not be what you’re hearing—and that usually spells trouble for a project. That’s why you need to first build a common language so everyone involved can communicate effectively.
Teams also need to understand the importance of using commitments to drive performance. Traditionally, people estimate how long a project will take, and that estimate yields a completion date. Take a different approach. Instead of estimating time, make a commitment and then build a plan to ensure you meet that commitment. While the difference may not seem important, the shift in perspective is. The focus immediately shifts to the outcome, not the activity.
Another area to reconsider is your mindset on individual metrics. Sure, individual metrics matter, but the entire system is everything. Say you reward developers for creating bug-free code. Eventually they will spend too much time refining their code so that it’s perfect, even though time to market is critical and releasing with a few bugs is a relatively minor issue.
It’s fine to create specific metrics for different departments or activities, but those metrics should support your overall goal. Then let great execution play its part in developing a successful product.
Finally, remember that doing right is more important than being right. The best teams are made up of individuals who don’t worry about protecting themselves; they worry about making sure the right things happen.
The way you handle the first problems or questions makes all the difference. Focusing on the answer or solution and not on the individual helps people learn to trust. If you say, “Oh, that’s too bad. Let’s figure out how to work through it,” you turn what could have been a finger-pointing exercise into an intellectual exercise—and your team naturally focuses on the problem, not the person.
Where software development is concerned, innovation and creativity are never the result of rigorous, comprehensive processes and guidelines. Even the best execution can’t overcome a terrible idea, a lack of shared expectations, or anything less than a total commitment to achieving excellence.