by Avon S Puri

4 reasons to prioritize developers’ infrastructure needs

Aug 02, 2021
DeveloperDevopsIT Leadership

In the rush to deliver new digital solutions, companies often ignore the needs and requirements of development infrastructures and cut corners in devops processes, resulting in missed problems and costly fixes down the road.

teamwork collaboration / leadership / development / developers / abstract data
Credit: Jay Yuno / Getty Images

As companies make digital transformation both an immediate priority and an ongoing process for the future, I see a worrying trend in many organizations.

While organizations commit resources and priorities to delivering the best digital experience to both internal and external customers through their production infrastructures, they may not extend the same attention and support to the development teams and rapid development processes. The result is lost developer hours and lost dollars as their time is wasted and schedules are blocked.

Furthermore, detecting vulnerabilities in new software while it’s still in the development stage can mean the difference between a nominal quick fix and expenses that can escalate if they are not recognized until the software is in production.

This is unfortunate, unnecessary, and all too common.

Only 10 percent of the respondents in a 2019 Harvard Business Review study said that their respective companies were successful at rapid software development and deployment, likely signaling a problem in development resource allocation and support. And a 2020 survey conducted by Cite Research and Atlassian Corp., an Australian maker of development tools, also found that outdated infrastructure is as much a barrier as lack of skills or reluctant corporate culture to implement modern devops strategies.

Why to prioritize development

There are four key reasons your development operations and activities require priority attention:

The sheer number of options in tooling today can be overwhelming to evaluate and adapt into a coherent pipeline. Cypress or Selenium? Splunk or Sumo Logic? GitHub Actions, Jenkins or maybe Circle CI, Codefresh or GitLab? The developer world is both complex and disjointed. Developers need the time and support to choose wisely rather than lock themselves into the very traps from which open-source culture seeks to free them.

Churn in the technology landscape for developers is even faster than it is for digital consumers’ phones and apps. This is making the world of developer possibilities exceedingly dynamic, creating new demands on IT leadership, requiring an increased focus and dedicated resources to stay on top of the latest innovations and drive predictable delivery without bypassing the software development life cycle (SDLC) release pipeline.

The application and infrastructure landscape has also become increasingly complex, leading to quick, dirty, and direct fixes in production via emergency request for changes (RFCs). These quick and less effective fixes are then passed along to production, where time, talent, and money is wasted on eliminating these inherited problems. It is not uncommon for IT teams to accumulate massive backlogs of environment upgrades, data refreshes, and code syncs because they are regarded as routine and less important.

Development environments require the same uptime standards and parity as production environments. A 95% service level agreement (SLA) can leave developers stranded for 36 random hours each month in a waiting state. If leadership could extend to developers the same commitment and attention given to customer issues, there might not be so many customer issues in the first place. In my view, implementing the same service levels across production and non-production environments and not compromising on development environment modernization are traits of a well-run IT organization.

What developers need

Success in a software-driven future starts with the simple acknowledgement and commitment that developer environments are just as important as production systems. This means allocating time, budget, and focus to the development teams and environments. It also requires a top-down commitment and resources to design, build, maintain, and constantly evolve the components developers need to deliver the best software. These include:

  • Effective tools for a CI/CD software development life cycle
  • A robust infrastructure that doesn’t frustrate them with failures and downtime
  • Runtime tools for observability, data protection, and cost management
  • Service repositories for developer ecosystems
  • The same level of security and privacy that your customers expect (because dev environments can also be break-in points for attacks)

The best products and solutions come from environments where development and production are in sync and are provided the same level of resources and respect. The formula is simple: If you hire the best people, you should create an environment that allows them to do their best work.