Industry experts will tell you the best way to evolve your startup ISV into an established ISV is with DevOps— and they’re probably right. DevOps, however, which has only been in the mainstream for a little less than a decade, can be a difficult concept to master, and many software developers—especially startups—are still navigating the learning curve. As you set the course for your business, make sure you don’t make these DevOps mistakes that can not only stand in the way of getting benefits from the approach but also have negative impacts on your business.
1. Trying to “Do DevOps” instead of “Being DevOps”
DevOps is sometimes referred to as a process or a method; however, it’s better described as a philosophy. DevOps is based on, according to The Phoenix Project author Gene Kim, The Three Ways:
- Systems thinking: Focus on the entire system instead of one, siloed part
- Feedback loops for continuous improvement: Quick response to customer/user requests
- A culture of continual experimentation and learning: Empowering team members to take risks and to take ownership
For DevOps to work in your ISV, you need to encourage and incentivize your team to commit to these ways of thinking and to this culture. Don’t commit the DevOps mistake of approaching development with a “step one, step two” frame of mind.
2. Forgetting DevOps’ Roots
DevOps, by definition, is based on the collaboration among software developers and IT professionals that results in faster delivery and better results. A key to DevOps, therefore, is to collaborate. Don’t allow yourself or a team member to become hyper-focused on tasks at hand to the point that it results in barriers to communication with other stakeholders. When a DevOps team member works independently, however well-intentioned, it can put a project in jeopardy of not resulting in a product that performs the way users expect. Facilitate communication among all project stakeholders.
3. Setting Unrealistic Timeframes
DevOps is proven to result in a faster time to deployment, so a tempting DevOps mistake is to set quicker deadlines—which may not be realistic. A deadline your team cannot meet will not only result in disappointment among customers and possibly damage your brand image, it will also put undue pressure on your team to deliver, which can result in burnout and errors. DevOps, when properly integrated into your ISV, will result in faster deployment, but setting unrealistic deadlines can be a detriment to the collaborative culture you are trying to create.
4. Not Automating Everything You Can
You are collaborating seamlessly, keeping your focus on the entire system, finding and correcting problems with the help of your entire team —but still not deploying as fast as you need to? You may have overlooked the importance of automation. A key finding of Puppet’s 2017 State of DevOps Report reveals high performing ISVs (defined by metrics such as on-demand code deployment and mean time to recover [MTTR] of less than one hour) are more fully automated than their lower-performing peers (characterized by deployment rates from once per week to once per month and an MTTR of one day to one week). Tasks high performers automate include configuration management, testing, deployments, and change approval processes. Look for ways your ISV can automate to help the development process run more smoothly.
5. Thinking Inside the Box
To get the most significant benefits from DevOps, you have to empower your team to make suggestions, look for creative solutions, continuously improve the product, take risks —and, yes, have permission to try and fail. You also need to be open to the idea that customer feedback may dictate a roadmap different from your own. The most serious of all DevOps mistakes may be rigid processes and inflexible thinking. The best way to do things may be different from how you are doing them today. Be open to the idea.
If you need advice on creating a DevOps culture, there are successful ISVs willing to share their stories, such as this DevPro Journal interview with Toast. Apply the DevOps principle of continuous improvement to your business as well as to development with what you learn.