• Arlo Belshee
    Arlo Belshee
    schedule 9 months ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Most people see bugs as a fact of life in software development. Just like city-wide fires used to be taken as a fact of life in urban living. The key to no longer burning cities to the ground was fire prevention, not improved fire fighting. I've applied similar thinking with dozens of teams and shifted to a world in which bugs occur at the same frequency as city-wide fires.
    Let's imagine this world for a moment. These teams don't have:

    • a bug database. They just use a section of the whiteboard.
    • lots of testers.
    • large suites of automated tests. Lots of their code is untested and known bug-free (yes, that is possible).
    • bug triage meetings.
    • large customer support teams or devs handling escalations.
    • problems in operations or large ops teams.
    • story "done-done" criteria or delays in shipping.
    • complex trade-offs in prioritizing stories against each other.
    • lost revenue due to market embarrassment.

    It turns out that most software development activities arise from one source: bugs. They are failure demand, and thus 100% waste. Teams that stop writing bugs get to stop doing these rituals. They spend a lot more time on value delivery and reduce costs across the organization.
    In this talk, I'll show how these teams have stopped writing bugs. We'll discuss the source of bugs and I'll show you how to code differently so that bugs just...don't happen.

  • Joshua Kerievsky
    Joshua Kerievsky
    schedule 11 months ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Code that is difficult to understand, hard to modify and challenging to extend is hazardous to developers, users and organizations. Refactoring, or improving the design of existing code, is one of our greatest defenses against such code. In this talk, I’ll discuss the value of refactoring, how we practice it safely, when and why we refactor, the power of refactoring tools and when we avoid refactoring.  I’ll be using several real-world examples of refactoring and sharing what I’ve learned about this important practice of the last 20 years.

     

  • Nayan Hajratwala
    Nayan Hajratwala
    schedule 10 months ago
    Sold Out!
    45 mins
    Demonstration
    Beginner

    Are you frustrated by the many trivial examples that show up when you google "refactor legacy code"? How do you translate these examples to your real-world code base? Sometimes it's just easier to give up on the refactoring and increased test coverage, reserving these techniques for the ever elusive greenfield project. To help you with this dilemma, Nayan will walk through a real legacy Java code base, and perform some safe refactorings required to bring the code under test. All of this will be done under the guidance of the Four Rules of Simple Design (Pass the tests, DRY, Reveal intent, Minimize moving parts).

Sorry, no proposals found under this section.