close
close

Shift Left is dead – DevOps.com

In recent years, a narrative has developed around what some call “lazy developers” – a stereotype that unfairly portrays developers as careless and overconfident who disregard security protocols and thorough testing. This portrayal ignores the systemic pressures and unrealistic expectations developers face in today’s fast-paced technology environment.

A recent survey of 500 full-time developers in the US reveals a worrying trend: 75% admit to bypassing security measures like MFA or using unstable VPNs to get tasks done, and 39% do so routinely. In addition, the pressure to deliver quickly has led 61% of developers to push untested, AI-generated code into production, and 26% do so regularly. These behaviors are symptomatic of deeper, structural problems within the tech industry.

The Shift Left Movement

The roots of these problems can be traced back to the pervasive “move fast and break things” mantra that has dominated tech culture since the early 2000s. This approach, coupled with the “shift-left” movement that places more responsibility for testing and quality control on developers and aims to reduce costs and speed up development, has compromised software reliability and forced developers to cut corners to meet deadlines.

The rise of AI as a tool to accelerate development only sharpens this double-edged sword. Without appropriate policies, AI tools become part of a recipe for what might be called “institutionalized lazy development,” where the rushed integration of AI can exacerbate existing operational problems rather than solving them.

In a world with AI development tools, Shift-Left is rendered functionally dead, resulting in developers no longer being able to handle the workload and produce high-quality code.

The Iron Triangle and its impact on development

The Iron Triangle or Project Management Triangle – “Fast, good, cheap; pick two of these” – is a useful framework for understanding constraints on developers. When one constraint is adjusted, it has a ripple effect on the others, highlighting the need for effective project management and decision-making. For this reason, managers must work with senior management to put appropriate guardrails and structures in place from the top down.

Part of running a business is setting a strategy. Managers act as agents who determine the product and IT requirements necessary to achieve the business’s goals. Managers cannot cut short-term costs at the expense of the long-term health of the business.

Improve the developer experience

To counter these trends, technology leadership must invest in improving the developer experience and making security processes more user-friendly. AI can be a powerful tool to identify and fix bugs more efficiently, but it must be carefully integrated to ensure it aligns with business goals and does not bypass necessary quality checks.

In addition, companies must resist the temptation to cut quality assurance (QA) teams to give developers more responsibility. In recent years, QA requirements have increased while salaries have decreased or been outsourced. However, QA is essential to ensuring that products meet requirements, work as intended, and are bug-free.

These values ​​should not only be present in the software development lifecycle, but should be embedded in the company culture. By developing a strategy and defining product and IT requirements, developers don’t have to take shortcuts and avoid security risks.

When developers take risks and rely irresponsibly on AI, leaders need to set clearer expectations and goals and refine processes from the ground up. This way we can achieve our desired outcomes without sacrificing quality or safety.

Promoting a culture of responsible development

Fostering a responsible development culture requires setting clear expectations and refining processes. By developing a strategy that prioritizes product quality and developer well-being, technology companies can mitigate risk and achieve their goals without compromising on quality or security.

This shift requires a collective reassessment of the values ​​that drive our technology development cycles, with a commitment to embedding these values ​​not only in software practices but in the entire company culture.