As an industry, we’re not very good at managing tech debt. Yesterday's big balls of mud will likely become tomorrow’s big buckets of glue. Wouldn’t it be great if we could:

  • Balance and evolve quality while delivering features?
  • Pinpoint hotspots in code? At multiple levels of detail?
  • Heighten situational awareness of system health and hygiene?
  • Conduct data-driven, constructive critiques within our team?
  • Automate (useful) measurement, putting quality gates in place to self-govern as a team?

In this talk, I’ll share my lightweight approach and toolchain for realizing these aspirations. Expect lots of tips and tricks for combating entropy in long-lived, software-intensive products shared by teams and large organizations. Some of these tools can be a little daunting for beginners, so I’ll take a demo-driven approach sharing the cheat codes I use to get to value as quickly as possible.

Ultimately, I'll show you how to start building a system for visualizing, prioritizing, and managing your software product's evolution and technical debt side by side with new feature development.

 
 

Outline/Structure of the Talk

There are roughly three, main parts to this talk:

Techniques for identifying and communicating debt at multiple levels - from system to class/function - and to multiple parties - from leadership to engineering communities.

Techniques for deciding which debt his most important to tackle alongside of normal delivery commitments.

A technique I call "refactoring with telemetry" for leveling up the technical skill of your team.

Learning Outcome

  • Create transparency into technical debt at management and developer level.
  • Visualize quality at an aggregate, whole product level.
  • Use visualizations to drill into hotspots in a codebase.
  • Align debt payback with product roadmap - high-interest vs. low-interest debt.
  • Techniques for balancing quality with delivery: managing debt while delivering.
  • Level up team skills on refactoring, quality metrics, and debt payback.

Target Audience

Developers, Lead Developers, Managers & Leaders

Prerequisites for Attendees

Attendees should have a basic understanding of software quality metrics, refactoring, and technical debt.

This session will use examples in C# and Java. It's not necessary for attendees to be expert in these languages, but they should have a sense of basic language constructs and the ability to formulate a judgment about code quality.

schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker
  • Anand Bagmar
    By Anand Bagmar  ~  11 months ago
    reply Reply

    Hi David,

    This seems interesting to me. 2 quick points:

    1. The link to the slides seems broken. Can you please update the same?

    2. In the techniques that you will share / discuss, will you be also sharing in which situations will those techniques be applicable, or not?

    Thanks!


  • Liked Ant Boobier
    keyboard_arrow_down

    Ant Boobier - All track development - (or how we dropped the collective ego and created a product playbook!)

    45 Mins
    Talk
    Intermediate

    When we moved to a dual-track delivery approach for our Bank of New Zealand Digital product teams, it felt more like Dueling tracks. People knew why we were doing it but were confused about how to link discovery and delivery. Who should do what, when and how? It became a clash of collective egos, stepping on each other’s areas of expertise. This is about how we brought clarity, alignment and direction to those teams by creating a Product Management playbook and how it had a profound effect on how we work and communicate with one other.

  • Naresh Jain
    Naresh Jain
    Founder
    XNSIO
    schedule 11 months ago
    Sold Out!
    45 Mins
    Case Study
    Intermediate

    Looking to move to Continuous Delivery? Worried about the quality of your the code? Helping your developers understand clean-code practices and getting the right testing strategy in place can take a while. What should you do to control the quality of the incoming code till then? This talk shares our experience of using PRRiskAdvisor to gradually educate and influence developers to write better code and also help the code reviewer to be more effective at their reviews.

    Every time a developer raises a pull-request, PRRiskAdvisor analyzes the files that were changed and publishes a report on the pull request itself with the overall risk associated with this pull request and also risk associated with each file. It also runs static code analysis using SonarQube and publishes the configured violations as comments on the pull request. This way the reviewer just has to look at the pull request to get a decent idea of what it means to review this pull request. If there are too many violations, then PRRiskAdvisor can also automatically reject the pull request.

    By doing this, we saw our developers starting paying more attention to clean code practices and hence the overall quality of the incoming code improved, while we worked on putting the right engineering practices and testing strategy in place.

  • Alexandra West
    Alexandra West
    Creative Director
    Nerd/Noir
    schedule 1 year ago
    Sold Out!
    240 Mins
    Workshop
    Beginner

    What defines a high performing team? Why do some succeed while others fail? This workshop will introduce you to both the VTS method and the findings of Google's "Project Aristotle". A multi-year rigorous research study, Project Aristotle found the critical success factor to be Psychological Safety - a team climate characterized by interpersonal trust, risk-taking, and mutual respect. To succeed, each and every team member must feel confident speaking up and making mistakes. This session is an extension of my talk "Art For Agilists: VTS & High Performing Teams". During this session, you'll learn how VTS increases both critical thinking skills and psychological safety - leading to happier, more productive, and more innovative teams. We take a deeper dive into the method and also cover the basics of facilitating sessions in your own environment. In addition to in-person sessions, you'll learn how to conduct online sessions for remote teams.

    Visual Thinking Strategies, or VTS, is a cross-disciplinary technique applicable to anyone working in a collaborative setting. VTS develops observation, reasoning, and collaboration skills by viewing and discussing works of art in a group. It is backed by over 30 years of field research showing its effectiveness and accessibility. By allowing individuals to talk about art - without needing a background in the field - VTS advances skills you can use to create more relevant products and stronger teams: Observing, Brainstorming, Cultivating a Point of View, and Revision & Elaboration. As you participate you'll also learn how VTS can help to create an environment of psychological safety. Because there are no right answers , VTS creates a safe space, one that encourages participation from all viewers. Empathy, Communication and Collaboration skills are enhanced along with Comfort with Ambiguity, Openness to the Unfamiliar, Civil Debate, and Willingness to Participate in Group Thinking.

    During our fun interactive exercise, we’ll discuss selected works of art as a group. We’ll create an environment and process for looking, thinking, reasoning and revision - skills that are mission-critical to anyone working in a software design or development role. You'll discover new ways to engage teammates and highlight the value of diverse points of view.

    After our group discussion, participants will learn the basics of image selection and facilitating VTS sessions within their own organizations. You'll discover how creating psychological safety within your teams leads to innovation and a more inclusive environment.

  • Liked David Laribee
    keyboard_arrow_down

    David Laribee - Welcome to the DevOps Dojo

    David Laribee
    David Laribee
    CEO
    Nerd/Noir
    schedule 1 year ago
    Sold Out!
    45 Mins
    Case Study
    Beginner

    In 2016 I had the good fortune to join a massive DevOps initiative as a head coach. The goal was to, in a 7000+ person technology organization, get product development teams fluent in topics such as CI/CD, automated testing, and product management. Over the course of six months our team tuned an initiative a successful, impactful program.

    In this talk, I’ll share the experiences and learnings from my 6-month journey. We’ll start with the concept of a DevOps Dojo and explore it from four perspectives: product, place, process, and, most importantly, people.

    Product: Elaborating on the classic “coder’s dojo” - where the focus is on building technical skills - to a “DevOps Dojo” where we perfect technical skills while delivering on product learning goals.

    Place: We’ll go on a virtual tour through of a massive engineering space designed to promote collaboration, learning, and rapid product feedback.

    Process: How we managed to scale the program to 12 concurrent dojo teams of 4-16 people with a custom pull system (kanban) featuring unusual-but-realistic WIP limits.

    People: What skills (some quite surprising) does it take to make a program like this succeed? I’ll share the framing tool we developed for rapid team alignment during onboarding.

  • Alexandra West
    Alexandra West
    Creative Director
    Nerd/Noir
    schedule 1 year ago
    Sold Out!
    90 Mins
    Workshop
    Beginner

    What defines a high performing team? Why do some succeed while others fail? This talk will introduce you to both the VTS method and the findings of Google's "Project Aristotle". A multi-year rigorous research study, Project Aristotle found the critical success factor to be Psychological Safety - a team climate characterized by interpersonal trust, risk-taking, and mutual respect. To succeed, each and every team member must feel confident speaking up and making mistakes. During this session, you'll learn how to use VTS to increase both critical thinking skills and psychological safety - leading to happier, more productive, and more innovative teams.

    Visual Thinking Strategies, or VTS, is a cross-disciplinary technique applicable to anyone working in a collaborative setting. VTS develops observation, reasoning, and collaboration skills by viewing and discussing works of art in a group. It is backed by over 30 years of field research showing its effectiveness and accessibility. By allowing individuals to talk about art - without needing a background in the field - VTS advances skills you can use to create more relevant products and stronger teams: Observing, Brainstorming, Cultivating a Point of View, and Revision & Elaboration. As you participate you'll also learn how VTS can help to create an environment of psychological safety. Because there are no right answers , VTS creates a safe space, one that encourages participation from all viewers. Empathy, Communication and Collaboration skills are enhanced along with Comfort with Ambiguity, Openness to the Unfamiliar, Civil Debate, and Willingness to Participate in Group Thinking.

    During this fun interactive exercise, we’ll discuss selected works of art as a group. We’ll create an environment and process for looking, thinking, reasoning and revision - skills that are mission-critical to anyone working in a software design or development role. You'll discover new ways to engage teammates and highlight the value of diverse points of view.

  • Liked Jen Krieger
    keyboard_arrow_down

    Jen Krieger - A Culture of Openness

    Jen Krieger
    Jen Krieger
    Chief Agile Architect
    Red Hat
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    The “Agile mindset” was introduced to the software development community in 2001 in an attempt to foster freedom in the way that we work together. Its intent was to encourage organizational change that focused on people, collaboration and culture.

    But words on a screen don’t mean much in practice, especially if the people using them don’t - or won’t- understand their intent. How can individuals, teams and companies learn to correct these mistakes and break free from the challenges associated with change?

    Jen will share practical advice on effective Project Management, Agile Transformation, and getting things done– all told through the stories of her own journey towards something better at Red Hat.