TDD TDD & BDD Legacy Code mob programming Refactoring Pair Programming podcasting open source Continuous Integration
Hessisch Oldendorf, Lower Saxony, Germany
Amitai Schleier (@schmonz) is a software development coach, legacy code wrestler, non-award-winning musician, and award-winning bad poet. He publishes fixed-length micropodcasts at Agile in 3 Minutes, writes variable-length articles at schmonz.com, and contributes code and direction to notable open-source projects such as NetBSD, pkgsrc, ikiwiki, and qmail. Amitai’s ideas, prose, music, and puns have manifested at Agile Roots, Agile for Humans, CodeMash, Self.conference, pkgsrcCon, Pittsburgh Perl Workshop, NYCBUG, the International Rachmaninoff Conference, and the Alfred Joyce Kilmer Memorial Bad Poetry Contest.
Sure, it works on your machine. But how confident are you that your Linux servers provide the same runtime environment as your Mac laptop? And when there's a security hole somewhere in your app stack, how quickly and safely can you upgrade to fix it? How much happier would you be if you could generate identical software configurations for your dev and prod boxen, no matter what OS they run?
Stop crossing your fingers that brew-ing here and apt-get-ing there will produce matching results. You deserve DevOps happiness! Learn how to pronounce "pkgsrc" -- and how a practical, proven cross-platform package manager can save you from the kind of surprises that ruin your week.
When you're mired in an ancient codebase that makes refactoring risky and expensive, how do you clear a path to continued delivery? According to the old saw, the best time to plant a tree is 20 years ago, and the next best time is today. But if you already have a gnarled old source tree, an old saw is the wrong tool. Instead, plant a Strangler: a pattern for preserving your software investment by arranging for new functionality to grow in a new codebase.
As a mob, we'll test-drive a Strangler, then test-drive new features into it. Don't know what to try next? Take the keyboard. Got an idea? Step away and talk someone else through it. You'll leave with a powerful strategy for extending the useful life of working, valuable software -- _especially_ when it's hard to change. We'll also send you home with a free bonus development practice to accelerate your team's learning. For a limited time only!
Any sufficiently interesting software system will rely, in part, on code we don't control. In a world teeming combinatorically with APIs, how do we fulfill our responsibility for business outcomes? With techniques to cope more effectively with dependencies: to reduce their surface area and associated risks, to track small updates more often, to find breakage earlier, and to preserve simple, sensible options we can exercise when something -- inevitably -- breaks.
As a mob, in a small codebase with poorly controlled dependency risk, we'll quickly put the business in a bad spot. Then we'll test and refactor to control the risk, and compare. Don't know what to try next? Take the keyboard. Got an idea? Step away and talk someone else through it. You'll leave with a powerful strategy to keep your software valuable and working. We'll also send you home with a free bonus development practice to accelerate your team's learning. For a limited time only!