Ethics and Agile are not mutually exclusive
In the ever-evolving digital technology world, Agile development has become a mainstay in the software development processes. However, when I discussed this with IT Professionals members during our latest Tech Chat Tuesday, it seems the practice of Agile is showing signs of strain, leading to a host of challenges that our industry must address. This has led to a fundamental question: as an industry, are we losing sight of our engineering principles? The classic triangle of time, resources, and quality is out of balance, with resources not scaling well to the desired outcomes. So what about the role of ethics in all of this?
Is Agile Becoming too agile?
First up lets discuss Agile. The concept of Agile development was introduced to foster flexibility and responsiveness in software creation. However, as the discussion revealed, the very principles that once empowered development teams are now being stretched to their limits. One glaring example is the trend of releasing software that is, quite frankly, incomplete. The group discussed how common this seems to have become with the biggest companies, like Microsoft, where new iterations of products (esp Teams and Outlook) are launched without critical features, with the promise that these will be added later. For users, this is frustrating. For developers, it raises the question: are we sacrificing quality for speed?
Testing is another area where Agile is falling short. The Crowdstrike incident, where a channel file interpreted by a kernel module crashed in production, highlights the risks of bypassing thorough testing. While it's easy to see why some organisations struggle to replicate production environments, especially with the complexity and volume of data today, it’s not clear why mega companies are taking shortcuts on more rigorous testing.
The risk of over playing MVP
A recurring theme in our discussion was the emphasis on the "minimum" in Minimum Viable Product (MVP). The pressure to deliver quickly can lead to cutting corners, with the result being products that may not meet the needs of the end customer. Agile's rapid pace of change is becoming a double-edged sword—while it enables quick adaptation, it also places immense pressure on processes and people who are struggling to keep up. This is symptomatic of the growing pains of our industry, I imagine this is where conventional engineering was 150 years ago. If bridges failed at the rate software does, the consequences would be catastrophic.
The Agile Manifesto
Our group agreed that for the most part the Agile Manifesto's principles are not always being followed as intended; instead, Agile is sometimes used as an excuse to bypass processes or inadequately assess risk - or they are being followed like a rule book reducing flexibility or the agility they were designed to create.
I shared this post a couple of weeks ago - it discusses the Agile gold rush and talks about how agile has “shat the bed” summarising the following reasons:
Too much agile certification, not enough education
2. Too much framework adoption, not enough improvement
3. Too much fluff, not enough stuff
4. Too much purity, not enough agility
5. Too many fads, not enough grounding
Queue discussion on ethics.
Ethics at the Core of Agile Development
Perhaps the most critical theme that emerged from our discussion was the central role of ethics in our industry, particularly in the context of Agile development. As technology continues to permeate every aspect of society, the ethical implications of our work have never been more significant. In an Agile environment, where speed and flexibility are paramount, ethics must serve as the compass that guides our decisions. It's not just about building functional software—it's about ensuring that what we build aligns with broader societal values and does no harm.
As discussed above Agile teams are taking shortcuts. These shortcuts, while often seen as necessary to keep pace with demand, can lead to unintended consequences that could have been avoided with a stronger emphasis on ethical considerations. For instance, releasing software that hasn’t been rigorously tested can expose users to risks, and rolling out features that prioritise business goals over user needs can erode trust.
The upshot of our discussion - ethics must be the guiding force behind every decision we make as IT professionals when working in Agile frameworks. By embedding ethical considerations into the Agile process, we ensure that speed and flexibility do not come at the expense of quality or integrity. This approach helps us balance the demands of rapid development with the need to create software that is not only functional but also fair, safe, and respectful of user rights.
Wrapping this up
Ethics and Agile are not mutually exclusive; in fact, they must work hand in hand. Agile's flexibility should be guided by a commitment to ethical decision-making, ensuring that the products we deliver are not just fast and functional, but also responsible and safe. By fostering a culture where ethics and agility coexist, we can navigate the challenges of our industry and build a future where technology truly serves the greater good.
I’m looking forward to our next Tech Chat Tuesday and a new lively discussion.