In this episode, we chat with Adam Tornhill. Adam is the author of Your Code as a Crime Scene as well as Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis. He’s also the founder of Empear, whose flagship product, CodeScene, helps companies prioritize technical debt by identifying “hotspots” within their codebases.
During the show we talk about:
We hope you enjoy! Be sure to check out https://legacycode.rocks for even more great conversations about modernizing software.
There's no "one right way" to implement Agile. Diana Larsen believes that software is built in the context of a "more diverse and beautiful world" that meets teams where they are and helps them achieve goals that are best for them. Together, with James Shore, she developed the Agile Fluency Model; a framework that helps chart a course for the team, create alignment with management, and secure organizational support for improvement. You can learn more about the model at https://www.agilefluency.org.
Metaphors may seem like a literary device that has no relevance in software, but nothing could be further from the truth. On today's episode, we dive deep into the world of explaining the abstract with Nat Pryce. We touch on George Lakoff, Conway's Law, Lehman's Laws, the difference between cognitive and figurative metaphors, and much, much more. If you've ever wanted to learn how to explain your work better, especially to people who don't code very much, this is one episode you won't want to miss!
On this episode, Seb Rose, co-owner at Cucumber Limited and author of several books on Cucumber, gives us a look at how Behavior-Driven Development works alongside Test-Driven Development to tame legacy code. We walk through his personal version of Dante's rings of corporate hell and discuss why we should start thinking of the relationship between Acceptance, Integration, and Unit tests as an iceberg rather than a pyramid.
In this episode, we chat with David Kane, a noted Agilist, to explore how legacy code systems mimic biology. By the end, you may just join Andrea by proudly identifying as fungus — the invisible system that holds other systems together. Enjoy!
In the open source world, there are a ton of legacy projects. In this episode, we chat with Jerod Santo, host of The Changelog, about legacy code in the open source ecosystem. How do you maintain projects? When do you let projects die? And how can you add value quickly when you want to contribute?
Developers spend an average of 50-80% of their day reading code. So why don't we ever work on actively honing this skill? That's the question that Zach Shaw, the Director of Engineering at Brightgrove decided to ask. On today's episode, we geek out about reading code and discover new strategies and tactics to help us do it even better.
Ever heard of a little app called Mint.com? Poornima Vijayashanker was the founding engineer and convinced her boss that the name he picked wouldn't get the market share he was looking for. After she successfully grew Mint, she exited after it was acquired by Intuit. Poornima is the Founder of Femgineer and now mentors other developers and founders on how to build better software. In this episode, we chat with her about the importance of selling your ideas so that they can grow. You can find her on Twitter at @poornima and on Femgineer.com.
When should you replace your software and when does it make sense to transform it? Scott Hanselman joins us to share his thoughts from several projects throughout his career, including Das Blog (the engine that runs Hanselminutes), Windows Live Writer, Tiny OS and .NET Core.
To document or not to document? That is the question that we chat about today with Lauri Apple, who works as an Agile Coach and Open Source Evangelist with Zalando. Lauri is also an Ambassador for OpenSource.com and the creator of FeedMeReadMes. We chat about what finding documentation balance, where to find the best README templates, and the difference between corporate and open-source documentation.
Emily Gorcenski is an expert on aerospace software based in Charlottesville, Virginia. When we first reached out to her, we wanted to discuss estimating and budgeting for government projects. Then, tragedy struck. In this episode, we dive into a deep discussion about the intersection of technology, activism and identity politics in the context of Emily's on-the-ground account of the tragic violence that happened in her hometown.
David Bernstein, author of Beyond Legacy Code, chats with Scott and Andrea about nine development practices that can help us make it easier to work with (and even prevent) legacy code.
What does Britain leaving the European Union mean for the software industry? On a recent trip to London, Andrea found out through an insightful conversation with Krishna Thakur (http://www.capriconsulting.co.uk/). In this episode, we'll explore how Brexit is likely to impact developers on both sides of the pond.
Bryan Beecham (https://www.industriallogic.com/people/bryan) is an Agile consultant with over 20 years of comprehensive IT experience as well as a Human Refactoring Guide. In this episode, we discuss becoming a minimalist developer, intentionally taking time off to increase your productivity and how passion doesn’t have to lead to burnout.
Edafe Onerhime (https://ekoner.com/) is a consultant on Data Science and Data Analysis who has over 20 years of experience answering difficult questions about open data. She has helped governments, charities and businesses make better decisions and build stronger relationships by understanding, using and sharing their data. In this episode, we discuss the history of open data, its importance in building communities and its similarities to open source and open science.
In this special episode recorded at the AATC 2017, Andrea Goulet speaks with Martin D. Lund, a scrum-certified software engineer who helps run an engineering team and a parent to three children on the autism spectrum. Founder of Agile for Autism (http://www.agile4autism.com/), a nonprofit initiative to help parents build educational and therapeutic programs for children with Autism Spectrum Disorders, Marty shares tips for working with someone on the autism spectrum and how he successfully implemented agile practices in his parenting.
In this special episode, returning guest, speaker and Agile technical coach Llewellyn Falco co-hosts with Corgibytes’ Chief Code Whisperer M. Scott Ford. They recap the talks they attended and cover topics such as pitching talks, the value of meetups and practice, adapting talks on-the-fly, pair programming, how technical “debt” is like credit card debt and weight gain, and more.
Returning guest Woody Zuill is a veteran programmer, sought-after consultant and international speaker, as well as credited with both the “no estimates” and the “mob programming” movements. In this episode, we discuss estimates, working on a problem versus working on a symptom, paradigm shifts, and much more!
Dean of Arts & Sciences at SUNY Polytechnic Institute, Andrew Russell is a trained historian and researcher covering topics such as the history of technology and the history and societal aspects of computing. He is also the co-author, with Lee Vinsel, of Hail the Maintainers, and, together, they are behind The Maintainers, a global, interdisciplinary research network, which holds an annual conference in April. In this episode, we discuss the love of maintaining vs creating, why maintenance is overlooked compared to innovation, creative destruction, lifecycles, and so much more.
Scott Nimrod is a thriving entrepreneur, software consultant, and blogger who founded Bizmonger, a business that focuses on native application development for mobile and desktop environments, test automation, and the art of engineering reliable software. In this episode, we discuss being a software craftsman, taming code with empathy, functional programming, and taking charge of your professional life.
Robert Sösemann is an Agile and lean-code enthusiast, Lead Product Developer at Up2Go International, and inventor of ApexMetrics, a Code Climate engine. Lorenzo Frattini is a Salesforce-certified Technical Architect and creator of Clayton.io, a code-review robot. In this episode, we discuss code quality, how to measure it, when code is “done,” its business value, and more!
Michael Feathers (R7K Research & Conveyance) is a luminary, expert in software and organization design, and author of Working Effectively with Legacy Code. Over the past 20 years, he has spoken at conferences around the world, and some even call him the “godfather of legacy code.” In this episode, we discuss software best practices, Conway’s Law – or as Michael sometimes calls it, The Fundamental Theorem of Software Engineering –, the impact of code that could be deleted, and feature selection.
From early employee at AppFolio and Citrix to international consultant and speaker on team dynamics, Heidi Helfand is also the author of Dynamic Reteaming: The Art and Wisdom of Changing Teams. In this episode, we cover team stagnation, its causes, elements and best practices of dynamic reteaming and when reteaming should be an option.
Rebecca Dovi, who has over 20 years of experience teaching computer sciences, is the Director of Education at CodeVA, an organization that wrote legislation and worked with policymakers to make Virginia the first state where every child will receive access to essential Computer Science literacy – including coding – from kindergarten through graduation. In this episode, we discuss what that law entails, gender-bias triggers, how to attract more women to the field, and much more!
Pavneet Singh Saund is a web developer, a team lead at Komplett Group (a leading Scandinavian player in e-commerce) and founder of a blog called Coding with Empathy (http://codingwithempathy.com/). In this episode, we explore the various aspects of empathy, how sympathy and empathy are different, and the application of empathy for developers.