Enhancement, Performance & Speed
As Igor Shoifot, an investment partner with TMT Investments recently told CIOonline “Most hot startups in 2016 won’t be trying to lead revolutions or usher in whole new industries, instead, they’ll be enhancing existing technologies, products, services, or transactional ecosystems by saving users time, money, effort, and helping them make better choices more easily.”
To achieve this level of performance and speed of delivery to meet customer’s changing requirements, startups and SMBs need to supercharge their DevOps strategies. FinTech startups for example, are moving into emerging markets such as Africa and Asia and rapidly creating telecom networks from the ground up, and as there are no legacy systems to circumnavigate, it’s the perfect environment for a DevOps approach. We tend to think that startups automatically do DevOps well because their culture lends itself to Lean and Agile working, but this is not always the case. Certainly established SMBs with ingrained business processes seeking to capitalise on DevOps benefits such as a shorter release cycle, faster deployment, higher-quality products, and improved market competitiveness, often struggle to fulfill their DevOps potential after initial adoption. So what are the challenges to improving DevOps and how can Startups and SMBs supercharge their DevOps and sharpen up their test strategy to stay ahead of the game?
Good DevOps Bad DevOps
In an ideal DevOps world, you’re treating your infrastructure as code, using a configuration management tool like Chef or our partner SmartBear’s recommendation – Salt – and implementing a scalable strategy that enables version control, continuous integration, code review and automated testing. If DevOps is working effectively, you should be well on your way to eliminating regression and technical debt. In reality however it can be difficult to achieve the cultural change required for DevOps. You may also find the promises of improved communication, streamlined processing, earlier bug detection and faster time to market simply aren’t happening. If your start-up or SMB DevOps strategy is more “BadOps” than DevOps, here are some tips to get it back on track.
Culture & Adoption
Remember that DevOps won’t work if it is only applied in tech teams. It’s a philosophy that needs to be adopted company-wide. Start with a small to medium-sized, new and visible project and ensure you have buy-in from key senior management people who can become evangelists. Ensure that all teams and individuals are working towards clearly defined common goals. Take a leaf out of companies like Target and Movel’s books and host internal DevOps and hack days, create a lab and have demonstrations, breakout sessions and guest speakers to keep people inspired.
Brainstorm with key stakeholders and create your own definition of “Performance”. What does success look like? What is the definition of done? If you’re a startup you’ll want to use behavior-driven development and get your product to market as soon as possible to start seeing a return. SMBs may be more focused on quality through earlier bug detection and scalability for small and large projects. Once you know what you’re aiming for you can establish clear goals and objectives and apply DevOps principles to achieving them.
Banish the Bottlenecks
Review the current workflows for your operational and business units. Examine the business drivers at each DevOps stage and look at your business KPIs. From this you can objectively define how performance should be measured, create key metrics that give you insight into your development and deployment processes and communications and set common goals. Wherever the metrics reveal a bottleneck, streamline your process, build bridges over silos and open up the channels of communication and collaboration.
The Key to DevOps with Quality
The overriding principle to bear in mind is that quality is everybody’s responsibility and then implement the following quality processes:
- Lifecycle test automation
- Continuous Test
- Lean and Agile process adoption
- Test Virtualization
- Test Optimization and Standardization
- Continuous Monitoring
- Acknowledge the role of Quality Engineer
Not everything is suitable for automation so you need to prioritise what can be automated, start small and then grow your automation strategy to include Build, Functional and Service automation to the highest possible level. This also needs to be continually monitored and adapted accordingly.
The DevOps Journey
It’s important to remember that once you implement your DevOps strategy and start to collaborate and automate in a more standardized and repeatable way, your DevOps journey isn’t over. One only has to look at Facebook to see how, although they have always had a DevOps mindset, it has consistently matured over time resulting in their migration to Chef and bi-weekly app updates, and creating new standards of rapid delivery and quality. The pillars on which DevOps is built are people, processes and tools and, to succeed, these 3 elements have to be dynamic; adapting and changing in alignment with new tech and customer requirements.
To discover how Sogeti can help you create a dynamic DevOps test strategy follow this link.