Emerging Growth Companies and Software Development Productivity
Emerging growth companies do not have the luxury of investing hundreds of millions to make their developers as productive as Google or Facebook developers. This means that emerging growth company developers are typically spending less than 20% of their time coding. Further, research by DORA shows only 20% of all companies have reached the highest level of DevOps maturity, allowing them to deliver software quickly and reliably.
Many companies create a DevOps team as a pathway to improvement. This DevOps team typically end up maintaining existing tools and knit them together via custom code, with little or no time available for process improvements due to the maintenance burden. The result are brittle, inflexible integrations. Just as no company would consider building its own accounting software, no company should consider building their own custom DevOps environment. The time has come to take a platform approach for DevOps to allow developers to code more, release more, and to decrease the financial burden of maintaining and connecting DevOps silos.
Most emerging growth companies are focused on customer experience, product excellence, operations, and financial performance. Critical to all of these efforts is the speed with which code can be moved into production Ideally, an emerging growth company would unify all current development silos (code repositories and tools such as Jenkins) within a standard platform, quickly leading to in continuous integration, continuous delivery, and continuous unified analytics.
What should an emerging growth company look for in a DevOps platform to dramatically improve performance? According to Robert Boyd, CTO at Calculi the makers of Guide-Rails, the following should be considered when adopting a DevOps platform.
Building testing into the process in a centralized and standardized way prevents what is traditionally a cross-departmental bottleneck for many organizations, allowing higher quality software to be deployed more frequently. Integration testing where systems or pipelines are sharable is a vital capability.
Cloud Deployment Management
When business requirements call for a different public/private/hybrid deployment target, the technology should provide this capability. Simplifying this step with infrastructure as code and built-in cloud compatibility so that developers can easily deploy to their desired target brings agility to the business.
Integrated DevSecOps and Compliance
Efforts to build appropriate policy can be completed many times over, but actual enforcement becomes a challenge. Integrating and automating DevSecOps and policy into the software delivery process makes compliance simple and easy for developers. For example, integrating security scans to run automatically early in the process is an excellent alternative to having them at the end, where developers may just skip them to save time.
Information Accessible to Developers
Fast, quick, and easy feedback to the in-process information developers need should be made available in a consistent, easy to view interface. Simplifying the day-to-day developer experience while sharing information across teams speeds up issue resolution, improves collaboration between departments and allows developers to focus and write code.
Making one source of truth in data available to all the different individuals enables conversations that are much more productive. Process improvement, team management and departmental collaboration all areas that can benefit. With any digital transformation, this one capability can be the difference between success and failure.
A Platform Foundation
A pre-built platform will speed up the ability to automate from end-to-end, then also allow for changes down the road. This means the DevOps team does not have to worry about knitting together point solutions or changing deployment targets; they can focus on higher order value delivery.
In summary, CTO’s need to consider a DevOps platform approach to improve performance by providing developers with a fully integrated means to continuously develop and deploy code. Emerging growth companies need a means by which company policies can be adhered to within the code without undue burden. Management needs continuous reporting, anytime and anyplace, across all developers and pipelines. Only a centralized platform, whether on premises or in the cloud, will meet these needs.