Application Security Through the Lens of Developer Experience
To a varying degree, most companies are competing on their ability to deliver business value through software and technology. Producing software faster and with higher quality leads to more value delivered. It’s as simple as that, and security teams must embrace this reality to be successful and to enable the business.?
If you follow the market for developer tools or the growth of central engineering teams (e.g. Platform, Developer Tools, Productivity Engineering) you know every smart organization is trying to help developers get ideas to production as quickly as possible. I’ve always considered AppSec and ProdSec teams to be a variant of central engineering functions, and a recent research paper on developer experience (DevEx) presents a particularly helpful framework for thinking about how AppSec must evolve to remain effective and impactful.
The Three Core Dimensions of Developer Experience
According to the paper, DevEx “encompasses how developers feel about, think about, and value their work.” Improving DevEx will improve value delivery, and it has three primary dimensions:
At its essence, improving DevEx involves shortening and streamlining feedback loops, minimizing cognitive load, and maximizing the time developers spend in flow state.?
Traditional AppSec is the Ultimate DevEx Anti-Pattern
AppSec teams have always meant well - we want to minimize risk to the organization and improve software quality. However, the way we’ve traditionally worked has been completely antithetical to DevEx. Think about it - PDFs full of unprioritized and unvalidated SAST, DAST, SCA, etc. security findings, vague recommendations, blocking deployments, requiring developers to leave their tools and systems to engage with security teams, overstating risk and over focusing on theoretical issues, meeting after meeting and touchpoint after touchpoint.
Sound familiar??
Modernizing AppSec with a Focus on DevEx
So, if the old ways are not aligned with DevEx, what should we be doing? Let’s use the three core dimensions of DevEx to guide us.?
Optimize feedback loops
领英推荐
Minimize cognitive load
Maximize flow state
Wrap-Up and Additional Resources
Practically, these kinds of changes to your AppSec approach do have some additional requirements. You’ll need to ensure you have engineering talent in your AppSec team, and you’re likely going to need to partner with platform and other central teams to build scalable security solutions for your developers. You also need both a mindset and planning shift - rather than throwing issues and vulnerabilities over the wall to developers you need to think about completing and facilitating the majority of remediation and improvement work within the security team so your developers can benefit from secure by default and intuitive self-service solutions.
I’ve spoken about most of these subjects previously. If you’re interested in this topic and direction, here are links to some of my relevant previous talks.?
2013 - LASCON - From Gates to Guardrails: Alternate Approaches to Product Security - moving from blocking to non-blocking AppSec, security automation to make security team’s lives easier.
2014 - Hacktivity - Building a Glass House - Optimizing for visibility and scale in AppSec.
2015 - FutureStack - Splitting The Check on Compliance and Security - Dual purposing security/audit and developer tools.?
2016 - AWS re:Invent - The Psychology of Security Automation - Using automation to improve the relationships between security and engineering teams.?
2018 - SANS Cloud Security Summit - Fast Forward: Reflecting on a Life of Watching Movies and a Career in Cybersecurity - Includes a discussion of reducing security cognitive load for developers.?
If you're interested in developer productivity, experience, and related topics, the co-author of the paper I reference, Dr. Margaret Storey, has a plethora of valuable research and insights on her website.
Guides leaders & organizations on digital transformation with learning, advisory, & coaching | Bestselling author in digital transformation | 1,100+ articles: agile, DevOps, AI/data | Hosts Coffee w Digital Trailblazers
11 个月Great article and recommendations. I plan on including a quote and three of your recommendations in an article I am writing on improving the developer experience.
Sharing tricks using AI agents to automate tasks + income with no coding | Investor | Co-Founder of Krunch | 500 Global backed
1 年Hi Jason, Really enjoyed this post! Merging AppSec with DevEx seems like a game-changer for software development. Love how it's all about making security part of the dev flow – keeping things efficient and straightforward. It's a smart move to automate security tasks and focus on clear communication. This approach feels right on the money for creating quality software without slowing down the devs. Great insights!!
@MongoDB, ex-Heroku
1 年Jason Chan great writeup! I'm curious to get your thoughts on what we are doing at Ockam.io to empower devs to build secure-by-design services that can trust all data-in-motion.
When excellence isn't enough | Revolutionising public sector technology
1 年Love this article. I have been experimenting with trying to use the current hype around GenAI as a hook to getting people to think about why they should focus on integrating AppSec / DevEx / DevOps. My theory is that if we see potential in GenAI as a powerful tool for improving productivity, then that works for bad actors just as well as good. It seems totally plausible to me that, at some point in the near future if it isn't already happening, security vulnerabilities are identified automatically, exploits are generated nearly simultaneously, attacks are launched automatically and so business impacts go deeper, faster. The ability to get vulnerability fixes into production fast seems to me to be a nearly existential requirement. As I think you are saying, the only way to establish that level of capability is to bring AppSec and DevOps together. Hopefully I'm not missing your point though!