Lasting success is not measured by past achievements but by the ability to change and adapt to new developments and new demands. Nowhere does the change face more suspicion and distrust than in large enterprises with their established policies, practices and procedures, large bureaucracies, compartmentalized silos and, above all, undeniable past successes. Today we talk with Christine Chrys Sills, the Organization, Change, and Program Manager at Liatrio about DevOps transformations and how to bring change to large enterprises confident in their established ways.
The mere fact that any particular legacy code is still in use is a testament of its sustainability. Today we talk with Dr. Carola Lilienthal, the CEO of the Workplace Solutions and the author of Sustainable Software Architecture about the importance of a good structure for the durability of a software. Building upon her experience dissecting more than 300 software systems of various sizes, Carola shares with us her philosophy, methodology, tools and criteria for assessing the sustainability of a system and explains how to structure any software around its fundamental building blocks in order to achieve its durability.
The idea of a “lone genius” unleashing software marvels on the world is mostly a myth. Almost all good software is a product of the exchange of ideas, continuous discussions, and collaborations. Today we talk with Coraline Ada Ehmke - the creator of the Contributor Covenant and the laureate of the Ruby Hero Award - about the importance of kindness and empathy in coding. From creating safe spaces for discussions and exchange of ideas, through introducing empathy into understanding user needs and collaborators’ concerns, to creating a kinder programming language and the code itself - Coraline shares her thoughts with us on the whys and hows of kindness in software industry. When you are done with the episode, make sure to visit Coraline’s web-site.
The key to understanding real (rather than perceived) goals of any technological project is to understand the people served by that technology. Today, we talk with Alok Sharma, a founding partner of the technology project management consultancy firm Sharma Analytics. Alok gives us a deep insight into his tripartite approach to rationalizing, selecting, planning, and managing technology in small to mid-sized organizations. After discussing the three key elements of his analytical approach -- people, processes, and data -- he explains why understanding people takes precedence over the two other components if a project is to succeed. When you finish listening to this episode, check out Alok’s video blog which gives many insights to managers on how they should think about technology in their organizations.
We take mental shortcuts every day in order to save our energy while achieving satisfactory results. These shortcuts, or heuristics, are in fact so mentally economical, that we are mostly not even aware of them! Yet, we use them all the time. In this episode, we talk with Rebecca Wirfs-Brock about heuristics we use in software design and why is it important to be aware of them. Rebecca is an object oriented design pioneer and an inventor of responsibility driven object design. She currently serves as a director of the Agile Alliance Experience Report Initiative and as a president of the Wirfs-Brock Associates consulting firm. When you are done with this episode, make sure to visit Rebecca’s blog where you will learn much more about design heuristics.
Edaqa Mortoray grew up programming. From interface design to scientific simulations, including video games and development products, he has coded a bit of everything. He is the author of the book “What is Programming?” and he runs a successful programming blog and a podcast. We talk with Edaqa about why every member of software development team should know who their user is and what their needs are. He then shares with us some good practices for defensive coding in this age of global users. When you are done with the episode, and if you want to hear more about the user-focused software design, make sure to watch Edaqa’s class on Skillshare.
According to Evgeny Demchenko, technical debt and financial debt have many things in common - if used strategically, they accelerate growth, if not repaid diligently, they hinder it. Evgeny is a CTO of an O2O talent sourcing platform Top Twenty Talent and one of the organizers of the Beijing Python Meetup. He is specialized in building startups, managing complex systems and refactoring code. We talk with Evgeny about his passion for refactoring and he shares with us his technical debt philosophy, his workflow and his favorite tools of the trade.
Marcus Blankenship is a technical leadership author, coach and speaker, helping great programmers and coders to become great tech leaders of the future. He is the author of the book “Habits That Ruin Your Technical Team: Pitfalls and Solutions for Technical Managers”. Marcus tells us what technical leadership is and how technical-experts-turn-leaders can fight their impulses to resolve problems themselves and start empowering their teams to resolve them instead. After you finish with the episode, check out Marcus’s web site at https://marcusblankenship.com/ where you will find plethora of resources and workshops.
Johanna Rothman is a “pragmatic manager” and longtime leader in the software development community. She has written over a dozen books on various aspects of shipping successful software applications. On this episode, Johanna shares with us how she got into working with legacy code, how long does it take for a greenfield project to become a legacy project, do the resource limitations constrain or boost creativity and what is the role of management in a creative process. When you finish listening to the episode, you can check out Johanna’s website at www.jrothman.com where you will find an amazing collection of her workshops and training tools and materials.
Esther Derby started her career as a developer who loved machines and struggled with people. Now, she’s one of the world’s top experts in organizational dynamics and a leading thinker on bringing agility to organizations, management and teams. Esther playfully shares with us her intimate story of personal growth from being a satisfied solo coder to a team builder and gives us all some practical tips for learning skills that might be just outside our comfort zone.
In today’s episode, we chat with Lisa Crispin, Testing Advocate at Mabl, the co-author of the Agile Testing: A Practical Guide for Testers and Agile Teams and one of the most influential testing professionals in the industry. Join us to hear about the significance of the whole team approach, collaboration and feedback in testing, and how the cues of success through teamwork can come from even the most unexpected sources – including from the miniature donkeys!
In 2016, Taylor Jones was in a car crash that impacted his vision severely. After recovery, he has continued to code and design for the web even though he's blind. In this moving conversation, we talk with him about accessibility and how his development practices have changed.
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.