What keeps developers up at night?
The high failure rate of custom software development projects – more than half by most accounts – haunts developers, and there are of course a number of reasons. One of the top ones, according to the State of Software Development 2020 report, is cited by 22.46% of respondents: capacity challenges. This includes the capacity of the development team to deliver in time and on budget, and the capacity of their organisations’ IT infrastructure and systems.
Many organisations do not have the infrastructure needed to execute projects effectively. Apiumhub.com describes the result of this common problem: “This could mean a lack of high-performance software development tools, powerful computing platforms, inefficient data storage architectures or improper networks and connectivity. Such hindrances bring down productivity and performance of software development teams and impact the overall result.” Project failure can include massive budget overruns and/or late delivery. Whether these stem from unrealistic management expectations or from miscalculating the resources that operations can provide, it’s clear that budget, capacity and resourcing issues often drive a blame game between operations and development teams.
DeveloperMedia’s survey results speak to another common problem developers have – a proliferation of disparate tools and environments: “40% said that getting started with new tools, library managers, and build/deploy processes was the hardest part for them as said that the most difficult part was having to understand a new way of completing familiar tasks. Another 35% indicated that not having a good understanding of the functionality that is, or is not, available to them was the hardest part. While the solution to these problems clearly lies in access to high-quality public documentation, a good 38% of respondents indicated the hardest part for them is constantly having to constantly refer to documentation!”
What do developers need?
What if the wall between dev and ops could be made porous, become a two-way communication andinformation flow? Less wall, more portal. DevOps is a popular way of describing or implementing this kind of approach, but whatever it is called there are ways to make sure operations’ accountability for availability, performance stability is not an obstacle to developers making new applications at speed. Developers need:
- Automated provisioning and testing, including baked-in security testing
- Workflows for developer-centric security tools
- Operations to ensure application performance
- Operations to optimise resources in virtual and cloud environments
Forrester describes the changes needed in operations thinking to deliver on these developer needs: “Infrastructure is increasingly software-based with rapid container growth, composable infrastructure, and of course the consumption of cloud. Additionally, as the velocity of change increases – and will continue to increase – the premise that we can continue to manage these systems with our traditional methods is no longer true. … The adoption of cloud and the Software Defined Datacenter, is rapidly transforming the role of the sysadmin.” The operations focus is now on “delivering repeatable and automated environments, focused on consistent service delivery,” says Forrester.
Legacy infrastructure was not designed to meet the needs of both the organisation and application development, so modernisation is key. VMWare Cloud, for example, matches the needs described by Forrester. It ensures software-driven compute, storage, and networking with operational tooling optimised for containerised workloads and microservices. Manual infrastructure processes are reduced and developers’ focus on building and delivering cloud-native applications is restored.
Delivering modern apps at speed is possible with a cost-effective management tools that can proactively aggregate, correlate, and analyse metrics across applications and infrastructure stacks, to avoid adding stress to the environment. When operations can ensure in-cluster and cross-cluster workload placement and rebalancing, capacity management becomes seamless. Performance and availability keep developers happy and on target, without compromising stability and security.