Agile Software Engineering

Alessandro

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 

  1. 2 hr ago

    The Art of Painting Yourself into a Secure Corner

    Send us Fan Mail In this episode of The Agile Software Engineering Deep Dive, Alessandro Guida explores what happens when corporate security is added in layers without enough attention to workflow, usability, recovery, and productivity. Using the metaphor of painting yourself into a corner, the episode looks at a familiar modern workplace problem: VPNs, tunnels, multi-factor authentication, device compliance, strict password policies, authenticator apps, app PINs, short screen timeouts, and repeated confirmation prompts that may each make sense in isolation, but together can create serious friction for employees. This is not an episode against security. Quite the opposite. It is an episode about designing security properly. The discussion covers why security should be treated as an engineering system with real users, real workflows, measurable performance requirements, failure modes, and recovery paths. It also looks at common traps such as MFA recovery loops, where the system sends the confirmation code to the very phone that has just been lost. The episode argues that security teams and engineering teams should ask a simple but often forgotten question: How does the complete workflow actually work for the human being who has to use it? From use cases and workflow testing to acceptable friction, hardware support, passkeys, biometrics, and better recovery design, this episode is a reminder that good security should not only reduce risk. It should also help people work safely without constantly fighting the system. Because the most secure system in the world is not very useful if nobody can get their work done. Support the show 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.

    The Art of Painting Yourself into a Secure Corner
  2. 5 days ago

    YACC? What Is That? Why Compiler Thinking Still Matters (Compiler Theory part 2)

    Send us Fan Mail In this episode of The Agile Software Engineering Deep Dive, Alessandro Guida continues the two-part journey into compiler theory. Part 1 focused on BNF, syntax, and grammar. Part 2 moves into compiler thinking itself: LEX, YACC, compilers, interpreters, syntax trees, the Dragon Book, and the evolution from classic compiler pipelines to modern development ecosystems. For many software engineers who studied computer science in earlier decades, compiler theory was part of the foundation. It taught us how programming languages are defined, parsed, checked, transformed, optimized, and executed. Today, most developers are not writing compilers by hand. But the ideas behind compilers are still everywhere: in build systems, query engines, static analyzers, IDEs, code generators, rule engines, security scanners, infrastructure-as-code tools, and AI coding assistants. This episode explores why compiler thinking still matters when we design APIs, configuration formats, workflow definitions, domain-specific languages, rule systems, and AI-assisted development tools. It also revisits the classic distinction between compilers and interpreters, explains how modern compilers have evolved, and reflects on the connection between programming languages and AI prompts. This is not a nostalgic look back at old tools. It is a reminder that when human intent must become reliable machine action, the old lessons of compiler theory are still surprisingly modern. Support the show 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.

  3. 2 Jul

    Before You Add Macros, Learn BNF (Compiler Theory part 1)

    Send us Fan Mail In this episode of The Agile Software Engineering Deep Dive, Alessandro Guida begins a two-part journey into compiler theory with a look at Backus-Naur Form, or BNF. For many software engineers who studied computer science in earlier decades, BNF belonged to the world of compilers, formal languages, syntax, parsing, YACC, and the famous Dragon Book. Today, many developers may never encounter it directly. But the need for it has not disappeared. Whenever we add formulas, macros, templates, filters, workflow conditions, configuration syntax, rule engines, or domain-specific languages to an application, we are doing language design. Often informally. Often accidentally. And that is where complexity starts to grow. This episode explains why syntax is not just documentation, why a small language is still a language, and why grammar matters when applications become programmable. It is not a call for every developer to become a compiler engineer. It is a reminder that some old computer science disciplines remain deeply relevant, especially when we give users the ability to express logic inside our systems. Part 1 focuses on BNF, syntax, and grammar. Part 2 will continue with compiler thinking more broadly: lex, YACC, compilers, interpreters, the Dragon Book, and why the discipline still matters in the age of modern development tools and AI-generated code. Support the show 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.

    Before You Add Macros, Learn BNF (Compiler Theory part 1)

About

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