• Naresh Jain
    Naresh Jain
    schedule 1 year ago
    Sold Out!
    45 mins
    Demonstration
    Intermediate

    Over the past decade, eXtreme Programming practices like Test-Driven Development (TDD) & Behaviour Driven Developer (BDD), Refactoring, Continuous Integration and Automation have fundamentally changed software development processes and inherently how engineers work. While TDD has seen a great adoption on server side, developers still find it hard to apply TDD for developing UI components.

    In code walk-thru where Naresh will build a web commenting and discussion feature (like Disqus) in React.js, 100% test driven. He will also demonstrate how TDD will help us drive an object-functional design to strike a pragmatic balance between the Object-Oriented and Functional Programming paradigms.

  • Liked Justin Searls
    keyboard_arrow_down

    How to Stop Hating your Tests

    Justin Searls
    Justin Searls
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Your app is a unique snowflake. Your tests are too… but they shouldn't be!

    You know the person on every project team who cares just a little bit more about testing than everyone else? This talk is a distillation of the lessons learned I've learned from being that guy on dozens of projects.

    This is a rapid-fire session that covers 15 systemic problems that plague most teams' test suites, presented form an angle you probably haven't considered before. Best of all, it'll equip you with preventative measures to avoid or mitigate each of them.

  • Gerard Meszaros
    Gerard Meszaros
    schedule 9 months ago
    Sold Out!
    45 mins
    Demonstration
    Intermediate

    Automated unit testing is commonly considered an essential part of writing reliable, bug-free software. But writing automated tests introduces a number of challenges of its own. Naively-written tests are complex, brittle and hard to understand. This increases their cost-of-ownership and reduces the value they provide.

    In this talk, Gerard Meszaros examines some of the key pitfalls and shows us how to improve the quality of our automated tests. He shows us how we can make our tests shorter, clearer and cheaper to prepare by refactoring a long, complex test into a short easy-to-understand test. Then he goes on to show how we can apply the same concepts to writing new tests quickly and cheaply.

  • Mary Poppendieck
    Mary Poppendieck
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    You have great software engineers. They work on autonomous product teams that deliver frequently. The products are doing well. But -- there is always a But. Things could be better. Something is frustrating team members or disappointing customers or slowing things down. What is it?

    Friction. No matter how well things are going, there will always be friction. Consumers experience friction when using your product. Friction delays a team's response to a product request. Friction makes the code difficult to change. Differing expectations create friction among team members. Competing goals create friction between teams.

    This talk looks at the most common sources of friction in software systems, and present patterns for reducing friction that can be used again -- and again -- to identify and address points of friction on an on-going basis.

  • Liked Fred George
    keyboard_arrow_down

    Challenges in Implementing MicroServices

    Fred George
    Fred George
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    MicroService Architectures has debuted on the ThoughtWorks Technology Radar as the first technology they address, and with strong recommendations to immediately experiment. In this talk, we discuss the challenges we have faced at three different companies in implementing MicroServices (successfully!), and the different ways we addressed the challenges.

  • Arlo Belshee
    Arlo Belshee
    schedule 10 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 1 year 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.

     

  • Michael Feathers
    Michael Feathers
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    In most systems, code lives forever. Occasionally, we can delete it if we are sure it is not used; however, static path analysis and production monitoring of code usage are often expensive and present inconclusive results. In this talk, Michael Feathers will describe techniques that allow us to generate more certainty around our assessments of feature liveness, and strategies that can be used to remove code that does not have high value.

Sorry, no proposals found under this section.