Software development and startup companies have an almost endless list of things to do. Even if they complete all of their tasks, there’s no guaranteed formula for success. But in a landscape changing as quickly as technology is, adopting these four principles will give R&D groups the best chance to succeed.
1. Deliver Continuously
Once development on a feature is completed, quickly pushing through to production and delivering products to customers in small increments has huge benefits.
Not long ago, we set out with the goal of being able to deliver features to production multiple times per day. It was no easy feat, but the benefits of continuous delivery outweigh the costs. It allows companies to:
- Deliver value faster. Launching a feature that takes one day to build is no longer a three-month ordeal. Build it and ship it.
- Receive focused feedback quickly. Ship faster and in smaller increments to make it easier to get customer feedback you can act on.
- Build better relationships with customers. By addressing customer requests quickly, you can gain their trust and loyalty.
“Teams can release new features rapidly to their users in a frictionless, independent way through an elevated awareness of quality, security, and feature stewardship,” says Jason Melo, our chief architect.
2. Automate Everything
Automation is the foundation of a successful business model. It allows you to continuously free up time to work on innovative solutions. The moment companies stop automating is the moment they start falling behind.
Lohit Sarma, our principal architect, said, “Automation speeds up the development process and allows companies to bypass the manual processes that exist while converting a business-level wish list to a ready-for-market product. From code generation to infrastructure scaling, the software industry is adopting automation across the board.”
For example, to improve the way we communicate new available features, we created an automation tool that maps a short paragraph to our actual code. When we finish a set of features, their corresponding paragraphs are automatically pulled together into a single nicely designed PDF document that’s sent around. The product’s end users now have live access to these notes and can reference them to clarify the features we release on a daily basis.
Establishing a process of continuously identifying the root cause of work being done and automating it increases your velocity and output tremendously. If you gain just one minute a day for each person, you end up with five extra hours every day after a year!
3. Fail Fast, Learn, and Succeed
“Failing fast” includes these steps: Make a hypothesis, try it quickly and cheaply, and adjust based on what you learn. Just as it’s important to be vigilant and ruthless in finding things to automate, it’s important to be similarly exacting when learning about where you failed.
As Tom Rogers, our principal architect, says, “We use failing fast to solve technology and customer challenges on a daily basis.” He adds, “If someone on your team believes in a particular solution, challenge and encourage them to devise a small experiment to collect evidence to prove or disprove their approach.”
Above all, make sure that you’ve investigated exactly where the failure happened and for what reasons. An objective examination of the contributing factors involved in the failure will allow for quicker rectification of issues and prevent repeated mistakes in the future.
4. Have Opinions, and Be Ready to Change Them
Strong and free-flowing opinions are a vital aspect of R&D teams and the work they do. The problem is that, all too often, changing an opinion carries a stigma. For a development team to be successful, that stigma must be banished.
Team members must feel obligated to dissent when they don’t believe in someone else’s opinion or course of action. If dissent is based on facts and data, the original opinion can and should change. Company culture is the key to allowing people to share strong opinions and change them if need be. Fact-based opinions should be offered and exchanged freely so the practice becomes the norm. This sharing practice can’t just be something people say they’re doing; the company and all of its employees have to live it.
Implementing these methods and values and adopting technology practices to fit your company’s needs will create a platform for true internal company transformation. These approaches naturally rely on company core values, but it’s within your control to deliver, automate, fail, and share opinions to pave the way to success.