Agile Software Engineering
This podcast explores how craftsmanship, architecture, engineering rigor, and organizational practices come together in modern R&D environments. Each edition refines and deepens my earlier reflections, building a coherent and evolving body of knowledge around Agile Software Engineering
Agile Software Engineering
SAFe Light - Balancing Agile and Enterprise
Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.
In this episode of The Agile Software Engineering Deep Dive, Alessandro Guida explores how organizations can scale Agile without introducing unnecessary coordination overhead.
The episode examines the fundamental tension between autonomy and alignment, the limits of both pure Agile and full SAFe, and introduces SAFe Light as a pragmatic, engineering-driven alternative. It highlights how dependency visibility, strong architectural discipline, and lightweight planning can replace heavy coordination structures while maintaining system coherence.
Please subscribe to the podcast if you find it useful.
And if you want to go deeper, you can also read the full article in the Agile Software Engineering newsletter.
This Podcast is an audio version of the written Agile Software Engineering newsletter. If you want to go deeper, don't forget to subscribe the newsletter too.
Welcome to the Agile Software Engineering Deep Dive, the podcast where we unpack the ideas shaping modern software engineering. My name is Alessandro Guida, and I've spent most of my career building and leading software engineering teams across several industries. And today I want to talk about something many organizations struggle with as systems grow. How do we scale agile without losing what made it work in the first place? Because small teams can move fast with very little coordination, but as complexity increases, something starts to change. Dependencies grow, alignment becomes harder, and the system begins to drift. Some organizations respond by introducing more structure, often through frameworks like SAFE. And while that brings alignment, it can also introduce significant overhead. So the question becomes: is there a way to achieve alignment without losing autonomy? In this episode, I explore that middle ground. A pragmatic, engineering-driven approach that I refer to as Safe Light. Not as a framework, but as a way of thinking about coordination. Because in the end, scaling agile is not about adding more process. It is about making dependencies visible, strengthening architecture, and aligning through intent rather than control. Let's dive in.
SPEAKER_02Oh, absolutely. The classic scaling headache.
SPEAKER_00Right. You are trying to build software, maybe you were scaling up your teams, and you are caught in this inescapable trap. On one side, you have your fast, lightweight, agile setup. Everybody loves the freedom, but as you grow, things are just, you know, starting to break.
SPEAKER_02Yeah, the wheels start falling off.
SPEAKER_00Exactly. And then on the other side, you're looking at surrendering to a heavy, highly structured framework like SAFE, the scaled agile framework. Right. And you're sitting there thinking, I mean, do I really have to choose between total chaos and just drowning in bureaucracy?
SPEAKER_02I mean, it is the ultimate software engineering dilemma. You want to scale your operations to handle massive projects.
SPEAKER_00Yeah.
SPEAKER_02But you definitely don't want to lose the soul and the speed of what made your teams great in the first place.
SPEAKER_00Aaron Ross Powell Well, today we are exploring a framework that promises a way out of that trap. It's called Safelite.
SPEAKER_02Safe Light, yeah.
SPEAKER_00And it is detailed in a fantastic agile software engineering newsletter we are sourcing for this deep dive. Now, the original author actually mapped this entire system out in a massive, detailed flow chart.
SPEAKER_02It is incredibly detailed.
SPEAKER_00It is. But we're going to spare you the audio tour of a complex diagram. Trying to describe a flowchart over audio is just, well, it's boring.
SPEAKER_02Oh, yeah. Nobody wants that.
SPEAKER_00You should absolutely check the printed article to see that visual flow for yourself. Our job today is to get straight into the engine room.
SPEAKER_02Exactly.
SPEAKER_00We want to summarize the fundamental differences between agile, full safe, and this new safe light approach, and then break down the actual mechanics. So, okay, let's unpack this.
SPEAKER_02Let's do it.
SPEAKER_00Before we get to the solution, we have to understand the two extremes that are just tearing organizations apart right now.
SPEAKER_02Aaron Powell Right. Because before you can fix the system, you really have to understand the underlying forces at play. Every delivery model is ultimately trying to balance two opposing forces.
SPEAKER_00Aaron Powell Autonomy and alignment.
SPEAKER_02Exactly. Autonomy and alignment.
SPEAKER_00Well, let's look at Agile first. The newsletter points out that Agile is heavily optimized for autonomy. It thrives when you have these uh small, self-organizing teams.
SPEAKER_02Mm-hmm. Short feedback loops, direct customer interaction.
SPEAKER_00Right. There is almost no upfront coordination. They just build I like to think of pure agile like a frontier town.
SPEAKER_02A frontier town. Yeah. I like that.
SPEAKER_00Yeah, like anyone can come in and build whatever house they want, wherever they want.
SPEAKER_02And that frontier town model works beautifully under specific conditions. You know, it works when your dependencies are extremely limited.
SPEAKER_00Right.
SPEAKER_02When teams can operate largely independently and they're evolving the system in small decoupled increments, it is incredibly fast. But as the town grows into a city, the math completely changes.
SPEAKER_00Yeah, you end up with 50 houses clumped together and suddenly you realize, ah, nobody left room to build a road for the fire truck.
SPEAKER_02Exactly. The dependencies just multiply exponentially. Yeah. Your architectural consistency starts to drift.
SPEAKER_00Oh, yeah.
SPEAKER_02And you end up in a situation where individual teams are optimizing locally.
SPEAKER_00Meaning they're just doing what's best for their specific piece of the puzzle.
SPEAKER_02Right. But in doing so, they are actively hurting the global system. I mean, Agile doesn't just suddenly break overnight, but it stretches way beyond its natural limits.
SPEAKER_00Aaron Powell Which triggers the massive counterreaction, which is SAFE.
SPEAKER_02Right.
SPEAKER_00So if Agile optimizes for autonomy, SAFE optimizes for alignment, SAFE steps in and says, hey, we are putting structure in place.
SPEAKER_02Heavy structure.
SPEAKER_00Yeah. You get program-level planning, defined roles, strict cadences across all teams. To stick with the town analogy, SAFE is strict urban planning. Aaron Powell. Like the mayor has to approve every single tree you want to plant in your front yard.
SPEAKER_02And to be fair, it brings predictability. In a massive organization with, you know, thousands of developers, you absolutely need explicit alignment. Trevor Burrus, Jr.
SPEAKER_00You have to have everyone pulling in the same direction.
SPEAKER_02Aaron Powell Right. But the cost of that predictability is enormous.
SPEAKER_00Aaron Powell Well, yeah. If you need a permit to plant a tree, eventually people just stop planting trees.
SPEAKER_02Trevor Burrus, Jr. Exactly. They stop innovating.
SPEAKER_00I mean, doesn't SAFE solve the scaling problem by basically killing the flexibility that made the teams great in the first place?
SPEAKER_02Aaron Powell It does. Safe solves the coordination problem, but it introduces so much process that you lose all that nimbleness. But well, what's fascinating here is that SAFE is actually fantastic for massive complexity. Trevor Burrus, Jr.
SPEAKER_00For highly interconnected organizations. Trevor Burrus, Jr.
SPEAKER_02Right. And Agile is fantastic for low dependencies.
SPEAKER_00Yeah.
SPEAKER_02But most companies out there, they live in the messy middle.
SPEAKER_00Trevor Burrus, Jr.: The messy middle.
SPEAKER_02They have enough complexity that they desperately need coordination, but enough uncertainty that they still need to be flexible. Trevor Burrus, Jr.
SPEAKER_00Right. So pure agile is too loose, full safe is too heavy. So how does an organization navigate that middle without just creating a, I don't know, a watered-down, ineffective version of both?
SPEAKER_02Aaron Powell Well, by understanding that Safe Light isn't just another rigid framework you install on top of your teams.
SPEAKER_00Okay.
SPEAKER_02The core objective of SafeLight is beautifully simple. You introduce structure only where it adds value. Trevor Burrus, Jr.
SPEAKER_00Only where it adds value.
SPEAKER_02Right. And more importantly, you solve your coordination problems with engineering discipline before you ever add bureaucratic process.
SPEAKER_00Aaron Powell Oh, wait, I am stuck on that phrase. Solving coordination with engineering instead of meetings.
SPEAKER_02Yeah. The principles of SafeLight reflect this total shift in thinking. You preserve team autonomy wherever you possibly can.
SPEAKER_00Okay.
SPEAKER_02You make dependencies visible rather than centrally controlling them. And you introduce alignment mechanisms strictly by exception.
SPEAKER_00Aaron Ross Powell Meaning only when they clearly add value to the specific problem at hand. Aaron Powell Exactly. So what does this all mean? How does a team actually do this without it devolving right back into the frontier town chaos?
SPEAKER_02Aaron Powell Well, let's move from the philosophy directly into how work actually gets planned. The first core mechanism is lightweight planning.
SPEAKER_00Aaron Powell Because in a heavy framework, planning is all about detailing execution, right? You break every feature down into tiny tasks months in advance.
SPEAKER_02Aaron Powell Right, which is exhausting. But in SafeLight, planning shifts entirely. You align on goals and intent, not detailed task breakdowns.
SPEAKER_00Aaron Powell The source mentions using storyboards for this. How does a storyboard prevent people from getting bogged down in the details?
SPEAKER_02Aaron Powell Well, instead of a sterile list of technical requirements, a storyboard focuses on the user journey, the context of the problem.
SPEAKER_00Aaron Powell So, like if you are building a new e-commerce checkout, right.
SPEAKER_02The storyboard visually maps out the customer's path from cart to information. It makes the intended outcome visible across all the teams.
SPEAKER_00Ah, okay. So it creates a shared understanding.
SPEAKER_02Exactly. And teams can take that broad intent and translate it into their own specific work, which we call epics.
SPEAKER_00And for anyone outside the daily grind of software development, an epic is basically just a large chunk of work that accomplishes one big goal. Right. Like revamp the checkout system is an epic. And the beauty of this is what happens down at the team level once they have those epics. The article explicitly states you know, no new process is introduced at the team level.
SPEAKER_02Aaron Powell Not at all. The teams just keep using Scrum or Kanban.
SPEAKER_00Aaron Powell Let's define those quickly. Scrum and Kanban are just standard agile methods for a single team to organize their own daily work.
SPEAKER_02Aaron Powell Right. Usually in two-week cycles called sprints.
SPEAKER_00Yeah. And Safelite says just keep doing that. You lower the learning curve while maintaining the broader direction.
SPEAKER_02Aaron Powell Because planning provides the direction, but the execution remains entirely decentralized within those teams.
SPEAKER_00Ah, but and this is a big but setting up that much localized freedom create creates a new vulnerability.
SPEAKER_02Oh, for sure.
SPEAKER_00If everyone is just executing in their own little bubbles, how do you handle the moments when their work inevitably collides?
SPEAKER_02Because it will collide.
SPEAKER_00Always. In a traditional scaling approach, you usually have this centralized dependency management system, like a project manager or a giant program board tracking every single thing Team A needs from Team B.
SPEAKER_02And over time, that central authority becomes a massive bottleneck.
SPEAKER_00Because every request has to go through them.
SPEAKER_02Right. It creates a parallel coordination structure that adds overhead and slows actual development down to a crawl.
SPEAKER_00Well, here's where it gets really interesting. Safelite introduces an alternative to that bottleneck. It's a decentralized handshake.
SPEAKER_02I love the handshake model.
SPEAKER_00Yeah. Instead of a middleman, dependencies are made visible and owned locally by the teams themselves.
SPEAKER_02Aaron Powell It functions as a direct contract. You have a provider team, the team actually building the code. Okay. And a consumer team, the team that needs that code to make their own feature work.
SPEAKER_00Aaron Powell Okay, let me push back on this because I'm stuck on this idea of decentralized dependencies.
SPEAKER_02Sure.
SPEAKER_00If the mobile app team needs the database team to build a new data endpoint, right? And there is no project manager forcing the database team to do it. What stops the database team from just ignoring them and working on their own priorities?
SPEAKER_02Aaron Powell Well, that is where the formal handshake comes in.
SPEAKER_00Yeah.
SPEAKER_02The dependency is negotiated directly between those two teams during the planning phase. Okay. And the strict rule of Safelite is this the provider team delivers the work, but it is not considered done until the consumer team actually validates it.
SPEAKER_00Oh wow. So the database team cannot claim their work is complete until the mobile team successfully connects to it.
SPEAKER_02Exactly.
SPEAKER_00And to keep track of this without a massive spreadsheet, they use a brilliantly minimal state model.
SPEAKER_02It's so simple.
SPEAKER_00They just track it on a sprint-based timeline using three colors. Red means the work is not completed. Yellow means it has been delivered by the provider, but it is awaiting verification from the consumer. And green means it is verified and completed.
SPEAKER_02And that tracking is mapped against sprints, not highly precise daily schedules.
SPEAKER_00Why sprints?
SPEAKER_02Because hyper precision in software development is usually a false sense of accuracy anyway. Sprint level visibility gives you enough transparency to know if things are generally on track.
SPEAKER_00Without creating endless reporting overhead.
SPEAKER_02Exactly.
SPEAKER_00And these dependencies aren't locked in stone at the start of the project, right? As teams learn more, new dependencies dynamically evolve.
SPEAKER_02Right. They just define the new dependency together, shake on it, and add it to the map.
SPEAKER_00But wait, if setting up these local handshakes is the norm, how do you prevent the underlying code from tangling up? Like if everybody is just making local deals, couldn't the whole architecture just turn into a giant bowl of spaghetti?
SPEAKER_02That is exactly where the secret weapon of Safe Light comes in.
SPEAKER_00Okay.
SPEAKER_02Strong architectural discipline. In Safe Light, architecture actually replaces process.
SPEAKER_00Wait, really? Replace process with architecture. That is a very bold claim.
SPEAKER_02It is, but you achieve it by actively reducing and controlling dependencies through system design.
SPEAKER_00How so?
SPEAKER_02You factor your large systems into cohesive, independently evolvable services, you define clear system boundaries, you establish explicit ownership.
SPEAKER_00Okay.
SPEAKER_02And most importantly, you define clean APIs as the absolute only integration points between teams.
SPEAKER_00And just for anyone outside the code, an API is basically a digital menu. It tells Team A exactly what data they can order from Team B without needing to know anything about how Team B's kitchen operates.
SPEAKER_02Exactly. So there is no hidden coupling, no teams secretly sharing a database or relying on some uh implicit code contract that breaks the moment someone changes a variable.
SPEAKER_00If we connect this to the bigger picture, when you have clean APIs and explicit boundaries, teams don't need to sit in endless coordination meetings.
SPEAKER_02They don't. The API is the contract. They integrate via design.
SPEAKER_00Wow.
SPEAKER_02Going back to your town analogy, safe light is strong zoning laws. You can build whatever house you want on your lot, that's your autonomy. Right. But your plumbing has to connect to the main city line using a standardized pipe size. That standard pipe is your clean API.
SPEAKER_00Okay, but wait, if the architecture is that strict, how does the architect not just become a new centralized dictator, like micromanaging every line of code from an ivory tower?
SPEAKER_02Aaron Powell Well, the role of the architect in Safelight is entirely different from a command and control dictator.
SPEAKER_00Okay.
SPEAKER_02The architect operates across teams to maintain coherence. They act as a guardrail, not a taskmander.
SPEAKER_00Trevor Burrus, Jr. So they aren't handing out massive binders of architecture up front?
SPEAKER_02No. Architecture in this model is actively maintained. The teams still make their own local decisions on how to write their specific code.
SPEAKER_00Right. They retain that autonomy.
SPEAKER_02Exactly. The architect is just there to ensure those local decisions remain sound in the broader context of the system, just making sure the overall pattern doesn't drift into a necessary complexity.
SPEAKER_00Aaron Powell So the architecture does the heavy lifting of coordination so the people don't have to.
SPEAKER_01Precisely.
SPEAKER_00Which naturally leads us to the people who are actually steering the ship. SafeFlight keeps roles very simple, but explicitly defines their spheres of influence so they don't step on each other's toes.
SPEAKER_02Right. We already mentioned the architect who operates across the entire release.
SPEAKER_00Yeah.
SPEAKER_02But at the team level, you have the scrum masters.
SPEAKER_00And they are focused purely on team flow, right? Removing daily impediments.
SPEAKER_02Exactly. Supporting autonomy so that the developers can actually build.
SPEAKER_00And then operating at the broader delivery level, you have the project managers.
SPEAKER_02Aaron Powell Right. They own the overall release coordination. They ensure everything aligns with the delivery roadmap. And they really only step in to manage cross-team dependencies when those dependencies get stuck.
SPEAKER_00Aaron Powell When they require active management.
SPEAKER_02Exactly.
SPEAKER_00But the newsletter highlights two other unsung heroes that are absolutely critical for this engineering over-process model to actually work.
SPEAKER_02Oh, yes.
SPEAKER_00The build manager, sometimes called the DevOps manager, and the test manager.
SPEAKER_02These roles are completely orthogonal to the delivery structure. I mean, they don't manage the work itself.
SPEAKER_00So what do they do?
SPEAKER_02Their entire job is continuous integration governance. The DevOps manager ensures the code always builds. Nothing gets checked in unless it builds successfully. Right. And the test manager ensures the system is always verifiable. No changes accepted unless it passes the relevant integration tests.
SPEAKER_00But how do they enforce this without becoming bottlenecks themselves? I mean, they can't possibly be reading every single line of code from 50 different teams.
SPEAKER_02Oh, they don't read the code manually at all. They enforce this by building automated pipelines.
SPEAKER_00Okay, pipelines.
SPEAKER_02Think of it like a factory assembly line equipped with laser scanners.
SPEAKER_00I like that.
SPEAKER_02The DevOps and test managers set up the laser the automated tripwires. Whenever a developer finishes a piece of code, it goes down the line. If it's broken, or if it breaks someone else's code, the laser trips and rejects the code automatically.
unknownAh.
SPEAKER_00So the managers aren't physically inspecting every item, they're building the automated inspectors.
SPEAKER_02Exactly. But uh this raises an important question.
SPEAKER_00What's that?
SPEAKER_02What happens if you don't have those automated tripwires? What if integration isn't continuous and you just leave it until the end of the project?
SPEAKER_00You get late stage quality disasters.
SPEAKER_02Massive ones. Team A validates their code locally and it works perfectly. Team B validates locally and it works perfectly.
SPEAKER_00And then two weeks before launch, they try to put them together and the entire system explodes.
SPEAKER_02Exactly. Without these continuous integration roles, integration becomes a late stage activity. And massive architectural flaws surface way too late to fix smoothly.
SPEAKER_00Yeah, in Safelite, integration is not a phase you enter at the end of a project. It is a continuous condition of the system.
SPEAKER_02It has to be.
SPEAKER_00And to keep everyone aligned on what they are continuously integrating toward, SafeFlight relies heavily on the delivery roadmap.
SPEAKER_02Right. The delivery roadmap is how you align teams through intent. It is not a highly detailed, rigid schedule with specific dates for every little task.
SPEAKER_00Thank goodness.
SPEAKER_02It is a visible, evolving narrative of upcoming releases. Each delivery represents a release with a clear theme or goal. First, you define that roadmap narrative, like what is the goal of this release?
SPEAKER_00And then from that narrative, you derive your epics using those storyboards we talked about earlier.
SPEAKER_02Exactly. And there is a very strict rule here. Epics are explicitly scoped to fit within a single delivery.
SPEAKER_00So you completely avoid work that dangerously spans across multiple deliveries.
SPEAKER_02Yes. If an epic is too big to fit into one release cycle, you absolutely must split it into smaller, valuable chunks.
SPEAKER_00Because cross-release epics destroy visibility and create massive integration risks.
SPEAKER_02They do. So we've planned our intent with the roadmap. We've built our features using agile teams, handled dependencies with direct handshakes. We've stayed aligned through clean architecture and continuous integration pipelines.
SPEAKER_00So now how does a safe light organization actually get the product out the door and into the hands of the customer?
SPEAKER_02They cross the finish line through a process called clearing.
SPEAKER_00Clearing.
SPEAKER_02And it is vital to understand the clearing is a validation step. It is not a development phase.
SPEAKER_00So you aren't writing new code in the clearing stage.
SPEAKER_02No. You are formally confirming that a delivery is actually ready to be released to the public. The newsletter makes a point that should really be etched into the wall of every software company.
SPEAKER_00What's that?
SPEAKER_02Release in Safelite is not assumed. It is earned. You don't just hit a date on a calendar and push whatever you have to production.
SPEAKER_00Right. Give me a real-world example of what that looks like in practice.
SPEAKER_02Okay, imagine your teams just spent three months building a massive new customer data portal. The code builds perfectly. The local tests all pass. The teams are cheering. But during the clearing phase, the gatekeepers review the predefined release criteria.
SPEAKER_00And these are stripped rules agreed upon up front by the project manager, test manager, architect, and compliance officers, right? Exactly.
SPEAKER_02So during clearing, they realized that while the code works perfectly, a specific data encryption requirement for European users was somehow bypassed.
SPEAKER_00Oh wow. If that goes live, you're looking at millions of dollars in GDPR compliance fines.
SPEAKER_02Exactly. So the clearing gate stops the release, the problem is flagged, fixed, and only then is the release earned. Wow. It defines what ready truly looks like across compliance, architecture, and security, not just whether the code runs.
SPEAKER_00It is the ultimate sanity check. But again, to be clear, clearing does not replace continuous integration. It complements it.
SPEAKER_02Right. Continuous integration ensures the ongoing health of the system day to day. Clearing is the deliberate, formal gate that ensures release readiness based on transparent criteria.
SPEAKER_00It adds that final layer of discipline without introducing unnecessary daily overhead to the developers.
SPEAKER_02Exactly.
SPEAKER_00Well, we have covered a lot of ground today. If you are listening to this and evaluating your own organization, the biggest takeaway here is that choosing your methodology is not about picking the trendiest framework off the shelf. Not at all. It's about looking deeply at your specific system. You need to ask yourself, where do you actually lose time? Where does misalignment cost you money and morale? If you have small decoupled teams with low complexity, Agile is your best friend. Let them build the frontier town.
SPEAKER_02Right. And if you are a massively interconnected organization with thousands of developers and intense dependency complexity, you might truly need the heavy permit approval structure of SafeFlights.
SPEAKER_00But if you are, like most companies operating with moderate complexity, needing both autonomy and alignment, and possessing a strong engineering culture.
SPEAKER_02Then Safelight is that pragmatic middle ground. It's about smart zoning laws. It's about introducing structure only where it adds value.
SPEAKER_00Now, as a reminder, do not forget to check out the printed article in the newsletter we sourced today. You really want to see the visual flow chart of the SafeFlight model.
SPEAKER_02It is highly recommended.
SPEAKER_00It brings all these mechanisms, the handshakes, the storyboards, the clearing process together visually in a way that will make it click instantly.
SPEAKER_02And uh I want to leave you with a final thought to mull over.
SPEAKER_00Let's hear it.
SPEAKER_02Take a look at your own organization's. Calendar this week. Really look at it. Are your teams spending hours and hours navigating endless coordination meetings and dependency check-ins?
SPEAKER_00Oh, the dreaded recurring sync meeting that somehow has 40 people on the invite.
SPEAKER_02Exactly. Because if they are, you have to ask yourself is your real problem a lack of management process? Or is it a lack of clear architectural boundaries that forces your people to constantly talk when the code should be doing the heavy lifting?
SPEAKER_00Wow. If the APIs are clean, the teams don't need to be in a meeting. They can just be at their desks building incredible software, confident that their work will plug right into the bigger picture. That's the dream. It is. Thank you for diving deep with us today. We'll catch you on the next deep dive.
SPEAKER_01Thank you for listening to the Agile Engineering Deep Dive podcast. If you found this episode valuable, feel free to share it with someone who might benefit. A colleague, your team, or your network. You can access all episodes by subscribing to the podcast and find their written counterparts in the Agile Software Engineering newsletter on LinkedIn. And if you have thoughts, ideas, or stories from your own engineering journey, I'd love to hear from you. Your input helps shape what we explore next. Thanks again for tuning in, and see you in the next episode.
Podcasts we love
Check out these other fine podcasts recommended by us, not an algorithm.
Darknet Diaries
Jack Rhysider