DiscoverThe Mob Mentality Show
The Mob Mentality Show
Claim Ownership

The Mob Mentality Show

Author: The Mob Mentality Show

Subscribed: 33Played: 1,930
Share

Description

Chris Lucian and Austin Chadwick discuss all things agile and product development from a mob programming perspective.
https://www.youtube.com/channel/UCgt1lVMrdwlZKBaerxxp2iQ
282 Episodes
Reverse
Have you ever wondered why Extreme Programming (XP) isn’t commonly taught in schools? In this engaging episode of the Mob Mentality Show, we dive into this intriguing question brought to us by the mob programming community. 🎓 What We Cover: 1️⃣ A Junior Developer's Dilemma: If schools don’t teach XP, does it mean it’s not critical for your career? 2️⃣ Academia’s Pushback: What are professors saying about XP and unit testing? Is XP seen as incompatible with academic goals? 3️⃣ Systems Thinking in Action: Unpacking how a systems-thinking approach (holistic problem-solving) provides clarity on this issue. 4️⃣ The Runner Analogy: How comparing sprinters and cross-country runners sheds light on coding strategies. 5️⃣ Universities vs. Industry Needs: Are schools preparing students for industry or academic research? What should their goals be? 6️⃣ Degree Confusion: Why students struggle to navigate differences between computer science and software engineering programs. 7️⃣ Niche or Necessity? Why XP, a small sector of the software industry, may not get the spotlight it deserves in schools. 8️⃣ Unit Testing's Lone Survival: Is unit testing finding its way into classrooms, but XP is not? 9️⃣ The “Unknown Unknowns” Problem: What happens when students don’t even realize the value XP could bring to their careers. 🔟 Solutions That Work: Experiments and strategies we’ve used to promote XP in university curricula. 💡 Why This Episode Matters: Maintainability in Code: Discover why maintainability is crucial—not just in industry, but even for academic projects. Handling Resistance: Learn how educators can introduce XP despite opposition from traditional academic mindsets. Spotlighting Success: Shout-outs to universities doing XP right and what others can learn from them. Academia-Industry Collaboration: Insights from years spent on professional committees advocating for XP. 📌 Who Should Watch This Episode? Students: Discover why your curriculum may overlook XP and how to build the skills yourself. Educators: Get inspired to bring XP into your classrooms and navigate institutional challenges. Industry Professionals: Understand the gap between academia and industry, and what it means for hiring new grads. Join us as we explore the challenges and opportunities of integrating XP into education. With actionable insights, engaging analogies, and practical advice, this episode is packed with ideas to spark change. Video and Show Notes: https://youtu.be/CidbB_SBGl0  
In this thought-provoking episode of the Mob Mentality Show, we are joined by Ariel Pérez to explore the fascinating intersection of Complex Adaptive Organizations, Organizational Topologies, and the FAST Agile Framework. Together, we dive into the challenges and opportunities of modern software development and organizational dynamics, offering actionable insights for leaders, teams, and anyone navigating complexity in their work. Highlights from the Episode... Complex Adaptive Organizations and FAST Agile: Manufacturing vs. Software Development: Why building the same product repeatedly differs from creating custom software . Complexity Theory in Software Development: How unpredictable side effects shape outcomes and the pursuit of predictability in organizations. Fixed Scope and Fixed Date: Are they real business needs, or just external motivators? What are their long-term impacts on quality and delivery? Theory X vs. Theory Y (management theories): How a leaders' management principles and practices influence autonomy, trust, and collaboration. Dynamic Teams in FAST Agile: The pros and cons of adapting teams dynamically to match work needs versus forcing work into rigid team structures. Story of Transitioning to FAST: A tale of initial resistance to the FAST Agile approach and the eventual embrace of its benefits. Building a Culture of Experimentation and Learning: Experimentation as a Foundation for Innovation: How to test hypotheses in product development and team practices without compromising quality. From Fear to Trust: Encouraging experimentation in new teams or under new leadership while creating safety for bold ideas. Practical Experiments: Implementing small feature flags, A/B testing (comparing two versions in production), and time-limited trial runs to foster innovation. Respect and Radical Candor: Building trust through open communication, mutual respect, and the occasional dose of healthy banter 😅. Risks and Controls: A Never-Ending Game of Whack-a-Mole: Balancing Risk and Control: How risk-heavy environments lead to more controls (e.g., CAB—Change Advisory Board, PR—Pull Request) and the ripple effects of other risks these controls create. Holistic Thinking: Why addressing one risk often introduces others and how to manage risk without stifling agility. Mob Programming as a Solution: Handling emergency changes safely and collaboratively without falling into the trap of excessive gatekeeping. Key Takeaways: Embrace complexity and adapt dynamically to navigate unpredictable challenges. Optimize for learning through experimentation and apply these insights to real-world problems. Avoid control-heavy environments that stifle innovation and agility by thinking holistically about risks. Join us as we unpack these ideas and share strategies to foster a responsive, trust-based culture in your teams and organizations. 🎧 Don’t miss this episode! Subscribe to the Mob Mentality Show on your favorite platform: https://www.mobmentalityshow.com/ FYI: Video and more show notes: https://youtu.be/ghzOSV4waIo  
Is some refactored code truly better—or is it just a matter of taste? In this episode of the Mob Mentality Show, we explore the debate: Is some refactoring a subjective preference or an objective improvement? Join us as we dive into the fascinating world of refactoring, where code quality, team dynamics, and even artificial intelligence (AI) come into play. Here’s what we discussed: The Ice Cream Debate: The story of a team/mob navigating a series of refactorings and asking, Are these changes about style, like preferring chocolate over vanilla? Or is there an objective improvement in the code? Cognitive Load, Cyclomatic Complexity, and More: How refactored code impacts key factors like cognitive load (mental effort required to understand code), cyclomatic complexity (a measure of the number of independent paths through a program), readability, and maintainability. Copilot AI's Take: Results of analyzing “before and after” versions of refactored code using Copilot AI (a large language model or LLM trained for coding). Does the AI agree with human developers? Gray Areas vs. Black-and-White Decisions: How much of refactoring is clear-cut improvement versus a matter of debate? Coaching Through Disagreements: Strategies to coach a team through potentially heated refactoring disagreements. Should you stick to principles or let the team run experiments in production against the principles? Decision-Making Tactics: How to align on contentious refactoring decisions. Should you flip a coin, follow a guiding principle, or defer to team consensus? Principles and North Stars: Identifying which coding principles matter most to your team and using them as a decision-making anchor. Dealing with Apathy: How to engage team members who are indifferent to coding principles and quality debates. 7 Habits of Highly Effective People: Applying Stephen Covey’s timeless principles to facilitate productive refactoring discussions and team collaboration. Diversity of Opinion as a Strength: Embracing different perspectives to make your team or mob/team stronger and more innovative. Radical Candor vs. Safe Experiments: Balancing direct feedback with the freedom to experiment—even if it means running tests in production. “Stop the Line” Moments: Deciding when a refactoring disagreement is serious enough to halt progress versus letting safe experiments play out. Whether you’re a developer, team lead, or software architect, this episode is packed with insights to improve your approach to refactoring and team dynamics. 👉 Don’t miss this thought-provoking discussion!  Video and Show Notes: https://youtu.be/s2bl7dFAIV0  
What happens when teams, codebases, or systems scale beyond their limits? In this thought-provoking episode of the Mob Mentality Show, we tackle this hyperbole: “Is scaling the root of all evil?” We explore how the challenges of scale—in team size, code complexity, and even societal structures—might be the culprit. 💡 Key Discussion Points: Defining Scale Across Contexts: How does scale impact teams, classrooms, codebases, and more? Innovation vs. Scale: Does scaling stifle the spread of good ideas, principles, and practices (e.g., in law, culture, or workplace norms)? Interpersonal Challenges: Why do interpersonal problems grow exponentially in larger groups? Code Quality and Scale: Does a larger codebase inherently lead to lower quality? Focus and Attention: How does scale dilute individual and team focus? What happens to attention in scaled systems? Second-Order Effects: Are rigid systems designed to handle scale unintentionally creating harmful side effects—and even side effects of those side effects? Experimentation and Innovation: How do rigid systems inhibit experimentation, and why does this matter for growth and innovation? Descaling as a Solution: Are the best solutions to scaling problems simply about reducing scale? Inverse Conway Maneuver: Exploring this organizational design concept and its relevance to scaling. Lessons from Coaching: How scaling challenges in youth baseball practices compare to leading software development teams. 🎯 Why You Should Watch/Listen This episode touches on the consequences of uncontrolled growth, from technical issues in software engineering to cultural and organizational challenges. Learn why "descaling" could be the key to improving focus, quality, and innovation in your team or organization. Plus, discover how mobbing (collaborative software development) naturally counters the pitfalls of scaling. 📢 Don’t miss out! Subscribe now on your favorite platform: https://www.mobmentalityshow.com/ Video and Show Notes: https://youtu.be/YLeyRHcI-eI  
Join us in this exciting episode of the Mob Mentality Show as we dive deep into the fascinating intersection of mob programming, neuroscience, and team dynamics with the insightful Mike Bowler! Mike brings over a decade of experience facilitating mob programming sessions across hundreds of teams and countless experiments. Whether you're a software developer, team coach, or collaboration enthusiast, this conversation will leave you with actionable insights and inspiring takeaways. 🔍 What We Discuss: - A Different Approach to Facilitating Mob Programming Sessions - The Neuroscience of Psychological Safety and Mobbing - Team Flow States and Brainwave Activity - About Mike Bowler 📢 Don’t Miss Out! Subscribe to the Mob Mentality Show on your favorite platform to learn more about innovative collaboration techniques and team success. 🔗 Find us here: https://www.mobmentalityshow.com Video and show notes: https://youtu.be/okeAxvRggVc 
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 
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 Recommendations Is 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 Environments We 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 Uncertainty The 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 Roles Finally, 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  
loading