An Evolutionary Approach to Managing Software Entropy

As an industry, we’re not very good at managing tech debt. Yesterday's big balls of mud are likely to become tomorrow’s big buckets of glue. Wouldn’t it be nice if we had strategies that helped us to:

  • 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 by creating strategies and tactics that help visualize, prioritize, and manage digital product evolution.


Outline/Structure of the Talk

This is a refinement of a talk I delivered at DevNexus 2019 earlier this year with a positive reception. The talk was recorded (see video and/or slides below).

This iteration is about tuning and trimming which I think fits well with the slightly shorter time slot at AgileDC.

Learning Outcome

The main learning outcome is about giving attendees a start in developing strategies for managing change in systems which breaks down to a set of more discrete activities and challenges:

  • 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, Tech Leads, Architects, Managers & Leaders

Prerequisites for Attendees

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

schedule Submitted 6 months ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked Max Saperstone

    Max Saperstone - Building Confidence In Your Automated Tests

    45 Mins

    The growth of automation testing in today’s software development organizations is changing the the way we test applications. Software development practices have matured over the last 30 years, to include all forms of testing to verify software quality. In the last ten years, there has been a huge spike in the adoption of automated tests, effectively replacing some of these manual testing practices, and supplementing many traditional testing activities. Many parts of the software development industry, however, are wary of replacing manual testing with automated testing. Not only is there often a lack of confidence in the automation tests, many see automated testing as fragile, unmaintainable, and ultimately, something delivering a low return on investment. Max believes that by employing mature software development techniques, we can achieve robust, maintainable, tests, that deliver confidence of the application under test. In addition to discussing how to structure automated tests that are cleaner, more maintainable and efficient, developer testing, and deployment techniques can be used to programmatically verify test correctness. Drawing on his experiences building test automation, test frameworks and advising organizations to adopt test automation, Max will walk us through how to mature your test automation practices.

  • Liked Akash Garg

    Akash Garg / Peter Baverso - Joyagility

    45 Mins

    "Joyagility" is about Joy. Why joy ? How to create joy, fun, and engage people.

    During this interactive session, discover what the elite performers in sports, Silicon Valley, or in the boardrooms have in common. The ability to leverage positive emotions to help people be their very best. Driven by a new psychology, an understanding of neurobiology of the heart, neuroscience, and technology you’ll learn how to tap into a greater capacity to accelerate agility from the heart.

    This session is based on the new internationally developed program, "Activating the Heart of Teams" by the HeartMath® Institute. During the session you will also get the opportunity to experience new HeartMath® technology that measures the collective heart of teams.

  • Liked Joel Tosi

    Joel Tosi - Growing a Learning Organization

    Joel Tosi
    Joel Tosi
    Dojo & Co
    schedule 6 months ago
    Sold Out!
    45 Mins

    How do you grow a continuously learning organization? If certifications and wikis were enough, organizations would be crushing it. In this session we look at how we learn in complex domains - focusing on tacit vs explicit knowledge; context learning; and growing coaches and teachers.

  • Liked Robin Foster

    Robin Foster - Maximizing Agile Benefits Through Understanding Learning Styles

    Robin Foster
    Robin Foster
    schedule 7 months ago
    Sold Out!
    45 Mins

    The Agile Manifesto says we value people and interactions over processes and tools. Yet when we talk about the agile methods, we usually end up talking about processes. Agilists use timeboxing as a forcing function to draw out resolutions and decisions. What if we just needed a better way to describe our needs and issues? What if we could actually be more effective with our communication? Join Robin Foster as he explores the relationships between learning, memory, communication, teaching, and the agile framework. Discover the cognitive science behind the process of learning new information, strategies for using different learning styles to grow your brain and its mastery of concepts, and how to map these strategies to phases in the agile cycle to benefit the team's cohesion and ability to self-organize. Agile is not meant to be rigid, so why should we be rigid in the way we share information with our team members?