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.

 
1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

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 1 month ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked Max Saperstone
    keyboard_arrow_down

    Max Saperstone - Building Confidence In Your Automated Tests

    45 Mins
    Keynote
    Beginner

    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 Joel Tosi
    keyboard_arrow_down

    Joel Tosi - Growing a Learning Organization

    Joel Tosi
    Joel Tosi
    Dojo & Co
    schedule 1 month ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    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
    keyboard_arrow_down

    Robin Foster - Maximizing Agile Benefits Through Understanding Learning Styles

    Robin Foster
    Robin Foster
    Consultant
    Coveros
    schedule 2 months ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    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?