Episodes
Episodes
Tuesday Oct 15, 2024
From Code to Culture: Chesterton’s Fence vs. Five Monkeys Experiment
Tuesday Oct 15, 2024
Tuesday Oct 15, 2024
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
Tuesday Oct 08, 2024
Is All CD/CD Pipeline Code Instant Legacy Code?
Tuesday Oct 08, 2024
Tuesday Oct 08, 2024
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
Tuesday Oct 01, 2024
Tuesday Oct 01, 2024
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
Tuesday Sep 24, 2024
Tuesday Sep 24, 2024
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
Tuesday Sep 17, 2024
The Nuances behind SRP, YAGNI, DRY, and #NoEstimates with Dave Copeland
Tuesday Sep 17, 2024
Tuesday Sep 17, 2024
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
Tuesday Sep 10, 2024
Impact of Teaming from a Management Perspective with Rickard Westman
Tuesday Sep 10, 2024
Tuesday Sep 10, 2024
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
Tuesday Sep 03, 2024
Tuesday Sep 03, 2024
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
Tuesday Aug 27, 2024
Automated Quality Gateways and Cross Discipline Firmware Mobs with Cyrus Metcalf
Tuesday Aug 27, 2024
Tuesday Aug 27, 2024
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
Wednesday Aug 21, 2024
The Behavior Framework with Doc Norton
Wednesday Aug 21, 2024
Wednesday Aug 21, 2024
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
Tuesday Aug 13, 2024
Nothing in Tech Matters Except XP? A Hot Take
Tuesday Aug 13, 2024
Tuesday Aug 13, 2024
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