Episodit

  • What does it take to shift from fear to flow when reading and refactoring code? In this episode of the Mob Mentality Show, we dive deep into **"Paradigms of Code Reading"**, exploring the mindsets and techniques that shape how developers approach software understanding. Whether you're navigating legacy code or striving for clean, maintainable designs, this discussion offers actionable insights for individuals, pairs, and mobs alike.

    ### What You’ll Learn in This Episode: - **Code Reading Paradigms**: Discover the two ends of the spectrum: - **Understand Every Line**: Keeping every detail in your head. - **Extreme Abstraction Zen**: Focusing only on the current module or method. - **AB Testing in Code Reading**: Insights from live experiments on how pairs and mobs read and understand code. - **The Role of Trust**: How levels of trust in variable names, methods, and classes influence reading strategies. - **Overcoming Fear and Skepticism**: What causes developers to ignore method names or distrust the knowledge baked into the code? - **Cognitive Load and Flow Efficiency**: Learn how reducing cognitive load through small, fast tests can lead to more effective coding sessions. - **Code Reading Clubs** - **Coaching Toward Abstraction Zen**: Practical strategies to influence and support others in adopting better reading and refactoring paradigms. - **Embracing Skeptics**: The value of radical candor, genuine curiosity, and visual aids like diagrams in addressing fear and building trust.

    ### Key Takeaways: - Refactoring starts with trust- Genuine curiosity can replace complaints, transforming how teams collaborate and learn. - Drawing pictures and visualizing code can unlock new perspectives and improve comprehension. - Skeptics are not obstacles—they're opportunities for deeper conversations and better design.

    Whether you're a seasoned software engineer, a pair programming enthusiast, or new to mob programming, this episode will provide you with practical tools and thought-provoking questions to enhance your coding practice.

    💡 **Want to stay ahead in your software journey?** Don't miss this deep dive into the cognitive, emotional, and technical aspects of reading code.

    🔗 **Subscribe to the Mob Mentality Show**: Get notified as soon as this episode drops! Available on all major platforms: 👉 https://www.mobmentalityshow.com/

    🎧 Tune in to unlock new paradigms for code reading and refactoring. Let’s move from fear to flow together!Video and Show Notes: https://youtu.be/pXEp6jBeycs

  • In this episode of the Mob Mentality Show, we dive into our Software Professional Resources Board, a dynamic Trello-based hub designed for software professionals looking to enhance their learning and collaboration in the industry. Join us as we share the board’s origin story and our journey in creating a comprehensive resource for everything from Extreme Programming (XP), mobbing, and leadership to cloud infrastructure, agile retrospectives, lean principles, and much more.

    ### What Makes Our Board Unique?

    We start by exploring why we chose **Trello** for our resource board and how it has become a cornerstone for organizing, sharing, and discovering knowledge. With its flexibility, Trello enables us to create an easily navigable environment, where resources are not only organized but can also be searched, linked, and explored across various software domains. Our conversation touches on other similar boards we’ve seen, like our popular "Retrospective Techniques for Coaches, Scrum Masters, and Facilitators" board, as well as spin-offs we’ve created for specific topics.

    ### A Variety of Topics

    Our board covers a broad spectrum of topics that are essential for modern software professionals, including **mobbing**, **refactoring**, **leadership**, **Infrastructure as Code (IaC)**, **agile** practices, and more. With resources curated for both technical and strategic learning, the board has become a go-to reference for articles, blog posts, videos, academic papers, book links, and quotes on various disciplines within software development.

    ### How We Use the Board for Continuous Learning

    Discover how we leverage the board not only to organize information but to foster continuous learning. We discuss Chris’ “community-supported learning binges” and our process for capturing insightful book quotes and key takeaways, turning the board into a knowledge-sharing powerhouse for software teams and individual contributors alike.

    ### Refactoring the Mind: Evolving the Board to Stay Relevant

    Our discussion also delves into the concept of "refactoring my mind by refactoring the board"—an idea about how reorganizing knowledge can improve our mental clarity and adaptability in complex projects. This involves regularly revisiting, reshaping, and expanding board content to reflect the latest insights and trends in software development, keeping it a living, breathing resource for our community.

    ### The Impact of Public Knowledge Sharing

    One of the most inspiring aspects of this board is its role in **public knowledge sharing**. We highlight feedback from the community, stories of how others have used the board in their professional journeys, and our own experiences with learning in public. By sharing this resource openly, we invite others to benefit from it, create connections, and add to the body of knowledge that supports software development excellence.

    Whether you’re a developer, coach, Scrum Master, or technical leader, this episode offers valuable insights into how to create and use a resources board to drive personal and team growth. Listen in for tips on organizing knowledge, capturing valuable insights, and using community feedback to make a resource board that truly enhances your software development journey.

    ### Topics Discussed:- The board's origin story and why we chose Trello- Organizing, searching, and sharing resources in Trello- Similar boards, including "Retrospective Techniques for Coaches, Scrum Masters, and Facilitators"- Variety of topics: mobbing, XP, leadership, IaC, agile, cloud, business, tech, retrospectives, and more- Types of media: articles, blogs, videos, book quotes, academic papers, and beyond- Spin-off boards and community learning sessions- Feedback from the community and lessons for public knowledge sharing

    **Subscribe on YouTube or your favorite podcast platform to catch this episode and more!**Video and Show Notes: https://youtu.be/GmfWWiIeaVY

  • Puuttuva jakso?

    Paina tästä ja päivitä feedi.

  • In this Mob Mentality Show episode, we dive into the journey of Jeff “Cheezy” Morgan, a coach in Continuous Delivery (CD) and lean thinking. Known for his role in advocating for CD within companies, Jeff shares how his experiences with software development and his recent shift into the cafĂ© business have shaped his philosophy on people and just-in-time. This discussion explores how Jeff’s approach to Agile and CD evolved, his journey into Extreme Programming (XP), and how mob programming impacted his perspective on teamwork and Continuous Integration (CI).

    **Jeff’s Agile and CD Journey**We start with Jeff’s introduction to Agile, discussing the early days of his career when dev practices didn’t include CD and the impact of adopting CD in high-stakes projects like Y2K. Jeff describes how learning from Thoughtworks influenced his views on XP and CD, and how he became an advocate, eventually taking CD to different organizations. He also shares what it was like discussing with Woody Zuill and Llewellyn Falco and reflects on the transformative role mob programming has played in his career.

    **From Pairing to Mobbing** For Jeff, mob programming was not initially appealing, but over time it became his preferred approach for helping teams. We explore how mobbing enhances CI, tightens communication, and fosters collective learning. Jeff explains how mobbing enables "just-in-time" discussions that align teams on what to build and how it allows real-time feedback on other team members’ learning. Jeff also examines the transition from pairing to mobbing, the challenges of mob programming with CI/CD, and why mobbing helps him “get the whole system in the room” for tackling complex problems.

    **Quality Without QA?** We dive into the controversial idea of achieving high quality without traditional Quality Assurance (QA). Jeff opens up about years spent wrestling with the role of QA in Agile/CD environments and shares experiments with “test-infected” developers—who took full ownership of quality. He reflects on the pitfalls of relying on “heavyweight” traditional QA processes and automated tests, which often create lean waste, add handoffs, and introduce brittle, flakey tests. Jeff and hosts Austin and Chris discuss whether “shift left” is merely a shift away from QA, the Deming Red Bead experiment’s relevance, and whether there’s a happy journey for QA professionals on CD teams.

    **Applying Lean to CafĂ©s** Outside the tech world, Jeff has found a second passion—running cafĂ©s. We discuss how owning two cafĂ©s influenced Jeff’s perspective on Lean thinking and Agile principles. From supply chain issues during COVID to needing backup suppliers, Jeff discusses if “just-in-time” challenges in the cafĂ© world mirror software development. He shares valuable insights about hiring, managing consistent delivery, and applying Lean principles to run a resilient business. Additionally, Jeff and Chris exchange stories on chip shortages and if Lean can help address real-world supply chain issues.

    **More from Jeff** Finally, we tackle some big questions: What does DevOps mean in today’s Agile world? Should “DevOps” be responsible for shielding organizations from developers? How does Test-Driven Development (TDD) factor into DevOps scripts, and can mobbing help break down silos that traditionally separated devs, ops, and QA?

    Join us for this wide-ranging conversation with Jeff “Cheezy” Morgan to uncover actionable insights for anyone involved in Agile, CD, DevOps, or Lean. Whether you're in software, QA, or running a small business, this episode is packed with valuable takeaways on quality, learning, and resilience.

    Video and Show Notes: https://youtu.be/OJ5d6qLIQRY

  • In this episode of the Mob Mentality Show, join us as we delve into "The Discovery of Ignorance in Product Development: Time for a Smarter Way to Deliver Customer Value" with our special guest, Gary Cohen. Drawing on his rich experience across diverse sectors—from government agencies to startups—Gary brings a wealth of insight into optimizing product discovery and delivery for true customer impact.

    ### **Key Topics Explored: The Product Discovery and Delivery Intersection**Even if a team is familiar with the 80/20 rule (e.g., where 80% of features go unused), how does it determine the right 20% to deliver? Gary shares strategies to tackle this challenge, advocating for a shift from traditional roadmap fixation to embracing dynamic, continuous discovery that keeps customer value at the forefront. Together, we examine the effectiveness of "strict" roadmap discipline (the practice of adhering to set timelines and objectives) and if it becomes a barrier to true innovation and customer value.

    We also briefly touch on the FAST framework and its relevance to product discovery, emphasizing how collective discovery through mobbing allows teams to stay closer to evolving customer needs.

    ### **The Role of GenAI in Modern Product Development**Is AI is reshaping product discovery? We explore how GenAI can be a collaborative asset for mobs, not only for code development but also for bringing value by uncovering insights into customer behavior and streamlining feature prioritization. We compare "introverted" AI and "extroverted" AI in mob environments and discusses how developing refined AI inquiry skills is key to leveraging AI’s full potential. From training mobs in nuanced prompt engineering to using AI to help drive a more lean delivery, we share ways to maximize AI's impact while maintaining expert human oversight.

    ### **Bootstrapping Pair and Mob Programming in Individualist Cultures**Transitioning to collaborative programming environments such as pair or mob programming can be challenging, especially in workplaces with a culture of individuality. We offer quick tips on how to bootstrap these methods, from creating a safe space for experimentation to aligning incentives via a peer promotion process. By using context sensitive analogies, how can we influence others in the org to consider jumping into the highly effective world of mob programming?

    ### **Unpacking Behavioral Expectations: A Smarter Approach to Product Decisions**Beyond the technical, we look at the behavioral side of product monitoring, asking, “What responses do we expect from our users?” Gary emphasizes the importance of behavioral prediction in discovery, cautioning against information bias and providing ways to gauge responses to feature experiments in real-time. We highlight the importance of monitoring usage data and what it reveals about customer engagement—whether a feature elicits a “wow” or a mere “meh.”

    ### **Takeaways for Product Managers, Engineers, and Innovators**From continuous discovery to leveraging the art of AI prompting, Gary Cohen’s insights provide actionable advice for product managers, developers, and cross-functional teams who are ready to rethink their approach to product development and delivery. Whether you're looking to reduce waste, increase customer value, or integrate mob programming and GenAI into your workflow, this episode offers some experiments to try in your journey to achieve product success.

    Don’t miss this engaging discussion filled with actionable strategies, insightful anecdotes, and forward-thinking approaches to innovation!

    Video and Show Notes: https://youtu.be/od7E_M9B6gI

  • In this exciting episode of the Mob Mentality Show, we are joined by Kyle Griffin Aretae to dive deep into the nuances of Test-Driven Development (TDD) and the crucial concept of "Goal-Centricity" in Agile practices. Kyle breaks down why TDD is so much more than just "test first" and challenges common misconceptions about this widely used development practice. If you're a software developer, Agile enthusiast, or just someone looking to refine your team's development processes, this episode is packed with insights you won't want to miss.

    We explore why treating TDD as merely writing tests first misses the larger picture and how adopting a broader, more progressive approach can help your team build better, more maintainable software. Kyle shares his thoughts on the primary value proposition of TDD, focusing on **fast feedback loops** and the **refactor step** at least every 5 minutes. He explains how smaller, healthier TDD cycles allow developers to stay nimble and avoid the trap of feedback loops that last 30 minutes or more. Thus, when fast feedback loops with constant refactoring are in place as the foundation, then the "test first" aspect of TDD really shines.

    Kyle also sheds light on common pitfalls, such as the misunderstanding of what it means to "do TDD" when developers claim they have 8 unit tests on 50,000 lines of code. We discusses the difference between **Cargo Cult XP (Extreme Programming)** and the real deal, as well as the critical role of **decoupling code** so tests can run in 5 seconds or less.

    A key takeaway from this episode is the impact of **social programming**, TDD, and **CI/CD (Continuous Integration/Continuous Delivery) pipelines**. We explain the importance of the "Pipeline First" principle when writing new code.

    We then dive into Kyle's most controversial take on TDD: the idea that creating a **mini-plan** (a rough roadmap of what to do next) before writing tests might actually be more beneficial than strictly adhering to "test first." This, Kyle argues, leads to more robust code when integrated into strong social programming practices. We also touch on the application of **Maslow's Hierarchy of Needs** to TDD and the importance of satisfying basic development needs (like fast feedback and clean code) before tackling more complex issues.

    The episode continues with a discussion on the intersection of **Goal-Centricity** and Agile. Kyle questions whether Agile methods are effective without first agreeing on a clear goal. We explore scenarios where goals are unclear or where methods are imposed without understanding the desired outcomes. Kyle shares a fascinating example of a code freeze during "Black Friday" and the unintended consequences of such decisions. We also reference a powerful quote by **Deming**, "A goal without method is cruel," explaining how the opposite can be just as problematic.

    Throughout the conversation, we dive into the importance of aligning goals between management and development teams, avoiding the common trap of blindly delivering fixed requirements for bonuses, and how real Agile success comes from alignment on solving customer problems, not just ticking off tasks. Kyle emphasizes the need to start with a clear understanding of what you're trying to achieve before applying any method, whether it's Scrum or TDD.

    Don't miss out on this thought-provoking episode filled with actionable insights on TDD, Agile, and effective software development. Subscribe today and tune in to hear Kyle Griffin Aretae's unique take on how to elevate your development practices!

    Video and Show Notes: https://youtu.be/S7K8lSibmII

  • In this episode of the Mob Mentality Show, we explore the profound concept of "Chesterton’s Fence" and how it applies to software development and organizational culture. Chesterton’s Fence refers to the idea that before removing or changing a rule, tradition, or practice, one must first understand why it was put in place. We dive into this principle, discuss real-world coding examples, and contrast it with the famous "Five Monkeys Experiment," which explores how behavior and practices can irrationally persist even when the original purpose is forgotten.

    🔑 **Key Topics Discussed**:

    - **Chesterton's Fence**: Learn the origin and meaning behind Chesterton's classic quote: "The more modern type of reformer goes gaily up to it and says, 'I don't see the use of this; let us clear it away.' To which the more intelligent type of reformer will do well to answer: 'If you don't see the use of it, I certainly won't let you clear it away. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to destroy it.'" Discover why this concept is critical in both software development and team culture.

    - **Applying Chesterton’s Fence to Code**: We walk through a real-world example of legacy product code. Should you refactor, delete, or preserve existing code? Explore how understanding the original intent of code, especially in larger systems, can prevent costly mistakes.

    - **When to Delete Unit Tests**: What happens when a unit test no longer seems relevant or helpful? We explore how the Chesterton's Fence principle applies to testing, discussing whether old tests should be removed or maintained, and how to balance thoroughness with agility.

    - **Five Monkeys Experiment**: Chris Lucian shares insights from the famous psychological experiment that demonstrates how practices can become entrenched even when the original purpose is long forgotten. This complements the discussion of Chesterton’s Fence by examining how some habits and behaviors persist without rationale. We discuss strategies for assessing when it's time to dig deeper or when it's acceptable to move forward without full understanding. While it's important to understand why something exists, can too much time be spent analyzing before making changes?

    - **Domain-Driven Design (DDD) and Behavior-Driven Development (BDD)**: We explore how principles from DDD and BDD can help teams bake the purpose and intent directly into code, making it easier to understand why a particular rule, function, or test exists in the first place.

    By the end of the episode, you’ll gain a deeper understanding of how Chesterton’s Fence and the Five Monkeys Experiment apply to your day-to-day decisions in software development, testing, and even team dynamics. Whether you’re dealing with legacy code, outdated tests, or long-standing team practices, this episode provides practical insights to help you make thoughtful, informed decisions.

    đŸŽ„ **Subscribe and Stay Updated**: Don't miss this insightful episode! Be sure to subscribe to the Mob Mentality Show on your favorite podcast platform or YouTube.

    Video and Show Notes: https://youtu.be/a2bdNOsM_r0

  • In this Mob Mentality Show episode, Chris Lucian and Austin Chadwick dive into the complexities of modern CI/CD (Continuous Integration / Continuous Delivery) pipeline code and IaC (Infrastructure as Code), exploring why these critical components of software delivery often exhibit the same problematic attributes as classic Legacy Code. Drawing inspiration from Michael Feathers' seminal book *Working Effectively with Legacy Code*, they analyze the paradox of cutting-edge DevOps practices turning into technical debt almost as soon as they're written.

    ### Episode Highlights:- **CI/CD Pipeline Code and Legacy Code Parallels**: Why does so much CI/CD and IaC code resemble legacy code? Despite being crucial for continuous delivery and automation, CI/CD pipelines can become fragile, difficult to change, and filled with technical debt if not handled carefully. Austin and Chris discuss why this phenomenon is so common and what makes the codebases for CI/CD pipelines especially prone to these issues. - **“Edit and Pray” vs. TDD Confidence**: Do your CI/CD changes feel like a roll of the dice? Chris and Austin compare how the lack of test-driven development (TDD) practices in CI/CD code leads to “edit and pray” scenarios. They discuss the confidence that TDD brings to traditional application development and how applying similar principles could reduce fragility in CI/CD code.

    - **The Pitfalls of YAML in IaC**: Is the problem inherent to YAML? The hosts explore whether the complexity of YAML syntax and configurations is the root cause of the brittleness often found in IaC. They provide real-world examples of IaC configurations that suffer from high cyclomatic complexity—making them feel more like full-blown applications rather than simple configuration files.

    - **Fear of Change in CI/CD and IaC**: Why are developers often afraid to modify CI/CD pipeline code or IaC? Chris and Austin highlight the psychological aspects of fragile infrastructure—where fear of unintended consequences and lack of fast feedback loops result in slower iterations and more bugs. They explore why these codebases are often re-written from scratch instead of extended and safely enhanced.

    - **Reducing Fragility through Experiments**: The episode features a recent experiment where CI/CD pipeline code was developed in Python using TDD and separation of concerns. This case study reveals the pros and cons of less YAML and a shift towards more code-based "configurations." Could this approach be a solution to reducing brittleness in IaC and pipelines?

    - **A World Without Brittle Pipelines?**: Imagine a world without fragile pipelines and brittle configuration files. Chris and Austin discuss strategies to move towards more resilient infrastructure and how teams can focus on improving feedback loops, reducing complexity, and enabling safer, faster CI/CD iterations.

    Join Chris and Austin as they explore these and other crucial topics that are impacting DevOps teams around the world. Whether you're struggling with high bug rates in your pipelines, slow feedback loops, or simply want to better understand how to manage the complexity of modern infrastructure, this episode is for you!

    Video and Show Notes: https://youtu.be/3Cs-j055b9g

  • In this episode of the Mob Mentality Show, we explore the unintended consequences and pitfalls of relying too heavily on metrics with a dive into Goodhart’s Law. If you’ve ever wondered why well-intentioned measurements can backfire and cause harmful behaviors in software development, leadership, and beyond, then this episode is for you!

    **What is Goodhart’s Law?**Goodhart’s Law states that “When a measure becomes a target, it ceases to be a good measure.” This means that when metrics are used as goals, people tend to optimize for the metric itself rather than the underlying value or outcome it represents.

    **How Can Metrics Destroy Collaboration?**Chris shares an intriguing story about two teams set up to compete against each other, only to find that the focus on “winning” metrics led to a breakdown in communication and collaboration. Instead of fostering teamwork, the metrics created silos and a toxic environment.

    **Examples of Bad Metrics in Software Development**We go through specific metrics that have led to bad behaviors in software teams, such as:- **Test Coverage Metrics**: How a narrow focus on test coverage can lead to tests that do nothing but improve the metric, without actually asserting anything or improving software quality.- **Points-per-Person Metrics**: Why measuring productivity at an individual level (e.g., story points completed per person) damages team dynamics and led to cutting corners.

    **Are There Any Good Metrics?**Is it possible to use metrics without falling into the Goodhart’s Law trap? We discuss whether certain collective measures like **DORA Metrics** can provide value without the same issues.

    **Metrics for Conversations, Not Evaluation**One key takeaway is the distinction between metrics that trigger healthy conversations vs. those used to make evaluative judgments of a team from a distance. When metrics become evaluative rather than formative, they risk distorting behaviors and eroding psychological safety.

    **Leading Measures vs. Lagging Measures**We also touch on insights from *The 4 Disciplines of Execution* and its perspective on leading measures vs. lagging measures.

    **Managing Teams and Incentives at Scale**Finally, we tackle the challenge of managing people and teams at scale. Incentive structures that overemphasize metrics can lead to counterproductive behaviors, burnout, and loss of motivation. We emphasize the anti-pattern of metrics-driven management without side-by-side in-context coaching.

    If you’ve ever experienced the pitfalls of metrics-driven environments or are seeking ways to improve measurement practices in your teams, this episode is packed with lessons learned, cautionary tales, and actionable advice. Don’t miss it!

    Video and Show Notes: https://youtu.be/MiySzmDRYA8

  • In this insightful episode of the Mob Mentality Show, we sit down with Michael K Sahota to dive deep into the transformative power of **Mob Programming** and **Pair Programming** in dissolving the ego and enhancing team dynamics. Michael shares his unique perspective on how mobbing/pairing can lead to profound psychological shifts, ultimately boosting team function, empathy, and humility.

    ### Key Highlights:**Pair/Mob to Dissolve the Ego and Increase Team Function**- Michael discusses the **primary goal** of a mob or pair session, revealing how it goes beyond just writing code or learning new techniques. It’s about dissolving the individual ego and fostering a collective, empathic mindset that benefits the entire team.- We explore Michael’s **personal journey** with his ego, offering a candid look at how pairing/mobbing have helped him grow both personally and professionally.- What is the most **significant outcome** of mobbing/pairing beyond the immediate code or learning? Michael explains how the real magic happens when team members listen to each other and take turns, creating a powerful forcing function for collaboration and psychological safety.- We dive into the **psychological processes** that occur during mobbing, including the death of "fear-based clinging" and how healing the ego leads to deeper empathy and humility. Michael offers anecdotes on how mobbing helps resolve internal conflicts and improve relationships—both at work and beyond.- How much time should be allocated for **production** versus focusing on **production capability**? Michael discusses how to strike the right balance between learning and output, avoiding over-indexing on either side.- A unique **"learning theft"** example highlights why juniors should be prioritized during experiments, while senior developers are encouraged to go last—except when it comes to admitting mistakes, where the inverse applies.

    **Pair/Mob for Production Capability and Beyond**- Michael shares his thoughts on balancing the **development of production capability** with immediate production needs. He explains how overinvesting in production at the expense of capability can destroy long-term results.- We explore how improving production capability with a solid **ROI** can often yield results within a quarter, but must be continually nurtured through retrospectives and lean thinking.- Breaking the cycle of **overinvesting in production** under intense pressure is a major challenge for many teams. Michael shares stories of how transparency in communication, both within and outside the team, can help break this cycle.- Michael introduces the concept of building **culture bubbles** and we share contrasting ideas on how much courage is needed for these bubbles. - We also discuss the **HIPPO effect** and how mobbing can disrupt this dynamic by emphasizing experimentation and collective decision-making rather than deference to authority.- Finally, Michael ties it all together by emphasizing the role of **humility**. No one is a flawless expert, and through mobbing/pairing, teams can build a habit of asking for help and embracing the idea that everyone, regardless of experience, has something to learn and improve.

    ### Why You Should Watch:This episode is a must-watch for anyone involved in **software development**, team dynamics, or leadership. Whether you're interested in improving psychological safety, fostering team empathy, or enhancing production capability, Michael K Sahota's insights on mobbing and ego dissolution will help you rethink how teams work together. It’s about more than code—it’s about creating a culture of **trust, engagement**, and continuous improvement.

    Video and Show Notes: https://youtu.be/Wj2hYGMei8s

  • In this episode of the Mob Mentality Show, we are excited to have Dave Copeland share his experiences in the world of agile development, focusing on the critical nuances behind well-known principles such as SRP (Single Responsibility Principle), YAGNI (You Aren’t Gonna Need It), DRY (Don’t Repeat Yourself), and the often-debated #NoEstimates approach. Drawing from his journey transitioning from government waterfall projects to agile methodologies at a startup, Dave kicks off a discussion with invaluable lessons on how teams can avoid misunderstanding and misapplying agile aphorisms, or avoid the pitfalls of following agile aphorisms too woodenly.

    ### The Dangers of Following the Literal Words of Agile Aphorisms?Have you ever seen a team stuck arguing over what SRP or SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) truly means? Dave explains how teams can misinterpret these catchy phrases, leading to confusion, low cohesion, improper coupling, and poor decision-making. We dive into real-world examples from Dave’s experience, discussing when it's okay to duplicate code and when it's not, the delicate balance between over-engineering and under-engineering, and the importance of nuance in agile practices.

    ### "Just Sharing" vs. Universal RecommendationsIs it wise to blindly follow every "recommendation" from an agile coach, or is there room for discussion, experimentation, and adaptation? With Dave we tackle the common issue of semantic diffusion. We explore how teams can navigate complex situations and adapt agile and lean principles to their unique contexts.

    ### Organizational Change and Safe Learning EnvironmentsWe bring in the “Reading Rainbow” analogy and other examples to illustrate how organizational change needs to be gradual, allowing for nuanced learning. We also emphasize the importance of creating an environment where team members can safely fail while being guided by experienced developers in real-world contexts. Whether you’re scaling a team or trying to stack the deck with the right mix of skills, actionable strategies for fostering growth are discussed.

    ### Estimates, #NoEstimates, and Dealing with UncertaintyThe conversation gets even more interesting as we delve into the jarring #NoEstimates and its sometimes misunderstood implications. Dave brings up valid situations with real deadlines (e.g., seasonal deliveries, regulations) and we weigh-in on ways to handle them with or without estimates that are less likely to lead to self-sabotage. We also discuss the impact of automation on estimates, and what terms like "estimate" really mean.

    Continuous Delivery (CD) also takes center stage as we discuss examples of how it and the practice of "don't sell what you don't already have built" fosters trust and reduces uncertainty. We touch on the various unknowns that can arise in development, how CD can help mitigate them, and whether teams can benefit from an "#OptionalEstimates" mindset. Throughout, Dave provides practical advice on aligning practices with business goals and managing risks effectively.

    ### Coaching, Coding, and Higher-Level RolesFinally, we explore Dave’s thoughts on balancing hands-on coding with coaching responsibilities, especially in higher-level roles. How do you set expectations for coaches, and how can team composition shape the effectiveness of good practices? Whether you’re actively writing code or stepping back to guide others, Dave shares examples for making both approaches work.

    Don’t miss this episode packed with deep dives into agile practices, team dynamics, and nuanced leadership. Be sure to subscribe to the Mob Mentality Show on your favorite platform to catch this episode and others like it!

    Video and Show Notes: https://youtu.be/IPFYe_oOFtI

  • In this episode of the Mob Mentality Show, we explore the profound impact of mob programming from a management perspective with our special guest, Rickard Westman. With a diverse background in sports and news software products, Rickard transitioned from a traditional solo work environment to embracing mobbing—a journey that radically transformed how teams communicate, collaborate, and deliver value.

    Rickard opens up about his early experiences in the industry, where he witnessed the drawbacks of isolated work patterns—particularly the delays and inefficiencies caused by waiting on pull requests. His initial encounter with mob programming was anything but smooth. The concept felt awkward and unnatural, but after Woody Zuill’s workshops and after experimenting with mobbing, Rickard and his teams discovered its potential to revolutionize their workflows.

    In this episode, we dive into Rickard's journey from skepticism to advocacy for mob programming. He shares how mobbing helped increase production release frequency and enhance safety within his teams. By exposing communication breakdowns and dependency issues during scaling, mob programming brought to light the hidden challenges that were stalling progress. With the introduction of multiple mob teams, these issues began to dissipate as team members naturally shared knowledge and collaborated across different areas.

    One of the key insights Rickard offers is the importance of slack in the system, generated through effective teaming. This slack led to greater autonomy, smoother flow, and quicker resolution of bottlenecks. Rickard recounts a compelling story where a bug fix, which would have taken six weeks in the traditional setup, was resolved in just one day through mobbing. This rapid turnaround is a testament to the power of collective problem-solving and the deep, holistic understanding of the product that mobbing fosters among team members.

    Rickard also touches on the shift in management responsibilities as a result of mob programming. With teams becoming more self-organizing, managers found themselves spending less time overseeing individual tasks and more time empowering their teams to make decisions. This distributed decision-making model, contrasted with the traditional command-and-control approach, aligns with principles from the book *Turn The Ship Around.*

    Throughout the episode, we discuss the benefits and potential pitfalls of mob programming from a management perspective. Rickard emphasizes the importance of coaching mob members to understand their contributions, especially when not working solo. He also explores how successful mob teams can serve as models for new teams, highlighting different interaction patterns for product owners, analysts, and even sports writers.

    Finally, we examine the meta-level impact of mob programming at the C-suite level and how it influences broader organizational decision-making. Whether you're a manager, developer, or team member, this episode provides valuable insights into how mob programming can unlock potential, foster collaboration, and drive continuous improvement in your organization.

    Video and Show Notes: https://youtu.be/hLN2iCBdYac

  • It's back to school, everyone! Dive into a transformative journey of education with Matthew Philip, an experienced Organizational Refactorer and educator, as he shares his innovative approach to integrating XP (Extreme Programming) and Agile methodologies into the classroom. In this episode of the Mob Mentality Show, we explore how Matthew's dynamic teaching methods are applied to software engineering education, fostering an environment where trust, mastery, and psychological safety are paramount.

    **XP and Agile in the Classroom**

    Matthew Philip's unique perspective as both an educator and coach provides a compelling narrative on how XP and Agile principles can be implemented in higher education. From his history of teaching Agile in orgs and universities to leading hands-on learning experiences that go beyond traditional lectures, Matthew's methods challenge the conventional constraints of the classroom.

    Discover how Matthew creates a WAR room environment in the classroom, fostering high energy and positivity to encourage active participation. Learn about the use of information radiators, pairing, and mob programming to ensure students not only grasp theoretical concepts but also excel in real-world applications. Matthew also delves into the challenges of teaching Agile content as part of a master's program in software engineering, where students are exposed to the intricacies of refactoring to patterns and leading through facilitation.

    In this episode, we discuss the critical differences between being a crafter versus just a coder, and how Matthew helps students navigate the transition from the academic world to the corporate environment. We explore the importance of understanding short-term school code versus long-term maintainability, and how working with real customers in a classroom setting can profoundly impact students' learning experiences and feedback loops.

    **Mastery-Based Learning and Psychological Safety**

    Matthew is a strong advocate for mastery-based learning, where the focus shifts from simply passing quizzes to deeply understanding and applying knowledge. We discuss how students can assess their own understanding, whether through techniques like Test-Driven Development (TDD) or experiencing the consequences of poor practices. Matthew emphasizes the significance of psychological safety in the classroom, where students learn how to fail safely and collaborate effectively.

    Explore how the pressure of pacing in large classrooms can conflict with mastery learning, and how assessment strategies can be adapted to ensure that learning sticks and isn't lost over time. Matthew shares insights on fostering peer assessments and creating systems where even when students "game" the system, true mastery is still achieved.

    **The Role of AI and Future of Education**

    In a rapidly evolving educational landscape, Matthew addresses the impact of generative AI in the classroom. How can AI be leveraged to enhance learning, and what are the risks of its misuse? We discuss the importance of correct prompting, the authenticity of AI-generated content, and whether mob programming could be the solution to these challenges—while also questioning whether this approach could disrupt current educational and industry standards due to teacher-to-student ratios.

    **Psychological Safety and Building Trust**

    Finally, we delve into the role of psychological safety in the classroom, exploring how activities like group juggling can teach students to fail and learn together. Matthew shares strategies for establishing trust and the correlation between high energy, positivity, and psychological safety. We also consider whether in-person interactions are essential for fostering trust, or if remote environments can replicate these conditions.

    Don't miss this episode as we uncover the future of education, one where trust, mastery, and psychological safety take center stage. To stay updated on this and other insightful episodes, subscribe to the Mob Mentality Show on your favorite platform.

    Video and show Notes: https://youtu.be/IkqRI2GQ4MY

  • In this episode of the Mob Mentality Show, we explore the intricate landscape of **Automated Quality Gateways and Cross-Discipline Firmware Mobs** with our guest, Cyrus Metcalf. This conversation is rich with practical insights and actionable strategies for anyone engaged in software, firmware, or hardware development, particularly those interested in enhancing team collaboration and continuous delivery (CD) practices through mobbing techniques.

    **Automated Quality Gateways:**

    Cyrus shares his experiences in setting up automated quality gateways for firmware and software that control sophisticated systems like boats. Learn how these gateways, including tests, formatting, and coverage, ensure robust code quality and seamless operations. We discuss the merits of running formatters locally versus within a pipeline. We also discuss the impact of these gateways on agility, depending on whether you’re in a startup or a more established organization.

    The conversation includes the role of hardware abstraction layers and how automated quality gateways can supplement and even replace certain types of human feedback, thereby streamlining the development process. Cyrus also provides insights into achieving consistent formatting, the challenges of fine-tuning formatters, and the importance of custom config files. Discover how these practices create “highways” for development teams, enabling them to operate at peak efficiency within a fast red-green-refactor cycle.

    **Leveling Up Through Mobbing:**

    We also discuss how mobbing techniques can elevate the skills of every team member, regardless of their technical background. Cyrus explains how mobbing demystifies the development process, reducing their apprehension about software complexities. By fostering a collaborative environment where everyone learns a bit of everything, mobbing helps dismantle knowledge silos and promotes a culture of continuous improvement.

    Cyrus shares his experiences as the sole software developer in a company, including strategies for using mobbing to educate and collaborate across hardware, firmware, and software teams. We explore the dynamics of cross-discipline mobs, where diverse teams work together on complex challenges, and how these mobs have evolved from training tools into essential parts of the production process.

    **The Culture of Mobbing:**

    The episode also delves into the cultural aspects of mobbing, including the pros and cons of different mob cultures across various companies, the importance of openness and inclusivity, and methods for resolving disagreements within a mob. Cyrus discusses the benefits and challenges of mobbing with juniors and interns, interacting with skeptics, and how a culture of openness—both within the mob and across the organization—can drive innovation and collaboration.

    Lastly, Cyrus offers his perspective on how agile principles and practices have naturally integrated into his teams without the need for an official agile coach. This episode is essential listening for anyone looking to improve their team’s efficiency, collaboration, and overall quality through the integration of automated quality gateways and cross-discipline mobbing.

    Video and Show Notes: https://youtu.be/vOxFEtX541A

  • In this episode of the Mob Mentality Show, we explore the Behavior Framework with the insightful Doc Norton, traversing the foundational behaviors that drive successful software development teams. Drawing from years of experience and real-world examples, Doc shares the principles and practices that have consistently helped teams deliver software products that are not only desirable but also viable and feasible.

    **Know the Problem You Are Solving**We kick off the discussion by tackling one of the most critical aspects of software development: understanding the problem you're trying to solve. Doc explains why it's not enough to have a manager dictate tasks and why teams must be aligned on the domain or specific set of problems they're addressing. We explore the difference between developers who are "builders" versus those who are "problem solvers" and discuss real-life scenarios where solving the root business problem either succeeded brilliantly or failed miserably. This section also delves into the concept of "Hubris Driven Development" and ties it into the importance of continuous validation before, during, and after development.

    **Make Your Work Visible**Next, we examine the significance of making your work visible. But what does that really mean? Doc challenges the notion of simply having a manager observe the development process and instead advocates for meaningful visibility that enhances awareness of flow, cycle time, and throughput. We discuss how much visibility is necessary and how to reduce the friction in data gathering by automating the process, ensuring that "updating status" doesn’t become an additional burden on the team.

    **Favor Automation Over Documentation**Doc takes us through the benefits of favoring automation over documentation. From auto-generating status reports via code commits to AI, to using Behavior-Driven Development (BDD) to create historical Gantt Charts, we explore how automation can ease developer pain and streamline DevOps engineering. This approach not only saves time but also enhances accuracy and consistency in reporting.

    **Work Together**The conversation then shifts to the evolving meaning of "working together" in modern software development. Doc reflects on how teams used to function without strict roles or specialization and how the industry's shift towards hyper-specialization has created silos and Lean wastes. We share stories of Pair/Ensemble Programming, the impact of certificate mills on over-specialization, and the pros and cons of specialization in Agile teams. Doc also discusses the importance of credibility through collaboration rather than positional authority and shares examples of teams successfully filling roles collectively.

    **Create Simple Things in Small Steps**Finally, we emphasize the power of creating simple things in small steps. Doc highlights the importance of being aware of psychological WIP (Work in Progress) limits and shares a story of how reducing lead time by taking small, simple steps enabled early and accurate validation. We also discuss the dangers of overproduction and the challenges faced when big steps lead to troubleshooting nightmares, all while tying it back to being meticulous about composition.

    Don't miss out on this deep dive into the Behavior Framework with Doc Norton—packed with practical insights and actionable advice for anyone involved in software development.

    Video and Show Notes: https://youtu.be/MsMK0q_KUwU

  • In this episode of the Mob Mentality Show titled **"Nothing in Tech Matters Except XP? A Hot Take,"** We take on the controversial discussion of the ever-changing landscape of technology and the role of Extreme Programming (XP). Are industry "best practices" in languages, front-end frameworks, and meta-architecture mere trends destined to fade away? Come hear a provocative stance that challenges the importance of these things, arguing that they are volatile, trendy, and often miss the mark when it comes to delivering true software excellence.

    We explore how many tech trends are built on the assumption that developers will inherently write unsafe code unless they are constrained by strong type systems, impenetrable boundaries (like microservices), and restrictive frameworks. But what if consistently following XP principles makes these safeguards superfluous? Can language, frameworks, tools, and even meta-architectures lose their high significance when XP is at the core of software development?

    Throughout the episode, we draw on personal experiences, asserting that our developer satisfaction remains consistently high when XP values and principles are the guiding force, regardless of the technology stack. Without good XP practices, even the most advanced tools can't solve the deeper, underlying problems that plague software projects.

    We delve into the ongoing debate of Majestic Monolith vs. Microservices, questioning whether the choice of meta-architecture matters as much if XP is practiced. How do these choices affect agility, and can agility be seen as a reward for technical excellence?

    Another key topic is the influence of societal factors on willpower and habits, and how these meta-problems impact developers' ability to consistently follow XP practices. Can a focus on XP help overcome the challenges posed by trendy tech choices and shifting industry standards?

    Chris poses a utopian question: If everyone adhered strictly to XP principles, would other factors like programming language, framework, or meta-architecture even matter? We explore this thought experiment, considering whether an XP-driven world could render other tech decisions less critical.

    But it’s not all theory. Austin reaches out to Chris for "Apathy Counseling" for developers facing burnout or disillusionment with tech trends, and offers community analogies linking dev health to "Tech Dishes"—a metaphor for the routine maintenance needed to keep your codebase clean and healthy.

    Finally, we tackle the nuances of infrastructure and database management, offering qualifications on the time and effort needed to support different setups. Whether you're grappling with microservices or maintaining a monolithic architecture, the focus remains on how XP can guide you through these challenges.

    Don't miss this thought-provoking episode that pushes the boundaries of conventional wisdom in tech.

    Video and Show Notes: https://youtu.be/MZUUemSJMjs

  • Come dive into the transformative world of Cross Discipline Causal Loop Diagramming on this episode of the Mob Mentality Show! Unveil the principles and practices behind generating organization-wide understanding and breaking down cross-functional misunderstandings that often lead to missed opportunities.

    **Key Highlights:**

    **1. The Cost of Misunderstanding:** Discover how cross-functional misunderstandings can lead to missed opportunities and inefficiencies. We explore real-world examples and offer practical solutions to bridge these gaps.

    **2. Insights from "The 5th Discipline":** Learn from the wisdom of Peter Senge's seminal book, "The 5th Discipline". Understand how systems thinking can revolutionize your organizational dynamics and foster a culture of continuous improvement.

    **3. Causal Loop Diagramming 101:** Get a clear definition of causal loop diagramming and its critical role in understanding complex adaptive systems within organizations. See how quantities in a system impact each other through balancing and reinforcing loops.

    **4. Breaking Down Knowledge Silos:** Address the dangers of over-reliance on specialists and knowledge silos. Learn how causal loop diagramming can facilitate better communication and collaboration across different functions and departments.

    **5. Visualizing Complex Systems:** Grasp the importance of visualizing exponential effects and cause-and-effect patterns that enhance the performance of typically separately managed systems.

    **6. Practical Examples and Tools:** Dive into examples from a Fifth Discipline book club and understand how to draw and use causal loop diagrams. Explore tools and techniques that make the process accessible and effective.

    **7. Real-World Applications:** Hear about a causal loop diagram example related to bad code quality and how pairing with each part of the system can build a comprehensive system diagram. Understand the impact of psychological safety on system self-awareness.

    **8. Interdepartmental Impact:** Discuss the importance of seeing the whole system to understand interdepartmental impacts. Compare the efficacy of having the whole system in the room with and without formal tools.

    **9. Addressing Second-Order Effects:** Identify and address second-order effects and human shortcomings in seeing side effects of side effects. Learn how diagramming can help deal with the chunking problem of a large system.

    **10. Feedback and Future Learning:** Hear feedback from Big Agile session participants and understand the learning path for drawing and using causal loop diagrams. Discover how mob/pair causal loop diagramming can enhance understanding and problem-solving.

    Join us as we uncover the power of causal loop diagramming to aid decision making, improve communication, and foster a culture of collaboration and continuous improvement. Don't miss out on this edifying episode!

    Ensure you stay engaged in the world of organizational development and systems thinking by tuning in to this episode. Your learning path for causal loop diagramming and breaking down knowledge silos starts here!

    Video and Show Notes: https://youtu.be/Oe75SzPeCSs

  • Join us in this thoughtful episode of the Mob Mentality Show as we explore the world of Lean Software Development with Dave Adsit. Titled "Crafting Lean Software: Dave Adsit on Small Batches and Short Lead Times," this episode provides valuable insights for those looking to enhance their software development values and practices. Dave Adsit shares his experiences on how to effectively implement lean principles to achieve small batches, short lead times, and frequent releases.

    ### Key Discussion Points:

    #### **Lean Software Development**- **Craft vs. Engineering**- **Principles of Flow**- **Waterfall vs. "Agile" vs. Lean**- **Timeboxes vs. Scope-Boxes**- **Resource vs. Flow Efficiency**- **Prioritization, Prototyping, and Lean Investment Bets**- **Single Piece Flow, Feature Flags, Continuous Delivery**- **Maximal Learning through Experimentation and a 50% Product Bet Success Rate**

    #### **Collaboration**- **Integration with Lean**- **"All Hands on Deck" Mindset**- **Relation to WIP Limits**- **Pair and Mob Programming**- **Failures and Lessons**- **Rules, Why, and Learning Paths**- **Utilization and Person vs. Team vs. System Value**

    #### **Continuous Improvement**- **Core Value**- **Innovative vs. Inert Practices**- **Deep vs. Shallow Learning**- **Leading Learning Opportunities**- **Knowing Enough to Make Informed Decisions**- **What If Some Do Not Want to Learn?**- **Rock Star vs. Super-Star**

    Video and Show Notes: https://youtu.be/LgAMUGtdXGA

  • Join us on the Mob Mentality Show as we sit down with the insightful Artie Gold to explore the pivotal role of scope and cognitive load in coding. In "Artie Gold on Scope is Your Friend: The Less You Need to Know at Any Given Moment, the Better," we delve into practical strategies for enhancing productivity and code quality through smart scope management.

    ### Scope and Cognitive Load

    Artie Gold sheds light on the false pride developers often take in handling complex code and high cognitive demands. We discuss the advantages of understanding as needed versus knowing everything at once. Are developers truly like acrobats, balancing multiple logic threads simultaneously? Artie highlights the human mind's limitations and the significant benefits of encapsulation in reducing cognitive load.

    Key topics include:- The detrimental effects of high scope and cognitive load on development- Encapsulation's role in making code easier to read, scan, and modify- Comparing agile, nimble, and shallow approaches to manage cognitive overload- Artie's amusing analogy of low-level code instructions to a simple task like buying milk- Strategies for helping developers adapt to a new paradigm of encapsulated code reading

    ### Clarity of Value on Stories

    We shift our focus to the critical importance of clarity in user stories and the benefits of direct client relationships. Artie discusses the drawbacks of indirect communication and the often humorous complications of serving as the middleman for another middleman.

    Discussion points include:- The irreplaceable value of direct conversations in understanding "the why" behind requests- Whether good story conversations can be replaced with a template or checklist- The impact of user feedback on delivered products versus theoretical future products- The risks of over-refinement, illustrated by the rock versus ruby MVP delivery example- Challenges in assuming everyone excels at written communication

    ### Code is Everything. Code is Nothing.

    In our final segment, we explore the dual nature of code. Code is vital—it produces value, is easier to change than other components, and serves as a repository of knowledge. Yet, code alone is meaningless without context and purpose.

    Artie elaborates on:- The necessity of keeping code in good shape for ease of future changes- Why "pretty" code isn't the goal—functional, adaptable code is- The inherent truthfulness of code as the ultimate source of software reality

    **Don't miss this insightful discussion with Artie Gold that can transform your approach to coding, user stories, and the fundamental nature of software development.**Video and Show Notes: https://youtu.be/0z2nQHT8Jvs

  • In this compelling episode of the Mob Mentality Show, we dive deep into the art of Sticky Mob Programming with Lennart FridĂ©n, who brings a wealth of knowledge from his decade-long journey coaching mob programming in Sweden. Whether you're a seasoned mob programmer or new to the concept, this episode is packed with actionable insights and real-world examples that can help you make mobbing a lasting fixture in your team's workflow.### Key Discussion Points:**Sticky Mob Programming:**- Lennart’s insights on mob stickiness- Beyond just trying mobbing- Persistent mob habits even without the nudging of a coach - Mob stickiness challenges and triumphs- Roles: outsider, insider, first follower (AKA eager first dance partner), - Lessons from "Power of Habit"- Mob as keystone habit leading to a cascade of other beneficial practices- Community and belonging- Dealing with stagnation- Vulnerability and growth

    **Technical Coaching and Redundancy:**- Embedding coaching and making the coach's role redundant (times two)- Teaching for sustainability- Gradual coach transition examples- Handling eager vs. apathetic first follower (potential future coach)**P.S.** Reach out to Lennart Fridén ( https://www.linkedin.com/in/lennartfriden/ ) for guidance on introducing mobbing and ensuring it sticks in your organization.Tune in to discover how to make mob programming a sticky and sustainable practice in your organization!Video and Show Notes: https://youtu.be/FSFyifwXbWo

  • Discover a transformative conversation on systems thinking with our special guest, Michele Sollecito, in this episode of the Mob Mentality Show. In "Michele Sollecito on Systems Thinking: Seeing the Interactions Beyond the Parts," Michele shares valuable insights and practical examples that will revolutionize your approach to system optimization and organizational management.### Topics Covered:

    **Systems Thinking:**- **Seeing Systems Everywhere**- **Focus on Interactions**- **Person Issue vs. System Issue**- **Animated Causal Loop Diagrams**- **Sub-System Optimization**- **System Fracturing from the Top**- **Trunk Based Development (TBD)**- **Benchmarking and "Copy-Paste" Pitfalls**- **Defensive Posture vs. Experimentation**- **Changing Core Beliefs**- **Leadership and Fake Experiments**- **Data vs. Emotion**- **Comfortable Inefficiency**- **Team Dynamics and Failure**- **Culture of Continuous Improvement**- **Managing Resistance to Improvement***Software Architecture:**- **Specialists vs. Generalists**- **Technology Obsession**- **Distributed Systems**- **Coordination Strategies**- **Paired Product Ownership**- **Autonomy vs. Consistency?****Ensemble Programming:**- **Resistance**- **Paradigm Shift to Fun**- **Early Adopters**- **Collaboration and Virtue**- **Sustainable Development**- **Avoid Echo Chambers**- **System Level Relationships with Mob**Don't miss this enlightening conversation that promises to transform your approach to systems thinking, software architecture, and ensemble programming. Listen and engage with Michele Sollecito's expert insights on the Mob Mentality Show!Video and show notes: https://youtu.be/Ga0f2jGnGxI