Size Does Matter: A New Metric to Keep Your Architecture Agile.

Large codebases have structural problems that do not occur in smaller codebases. These problems are emergent in nature and typically not noticed until some indirect symptoms rear their ugly heads. (“What do you mean it will take six weeks to change that!?”) Even then, the root causes are often not identified and, regardless, are costly to correct. Left untreated, these structural problems eventually make changes to code so costly that the software becomes brittle and unchangeable within the cost and time constraints of the business. This is the software equivalent of hardened arteries, and, like the medical condition, it is a silent killer.

The traditional metrics of architecture complexity are insensitive to, or worse, favor structural changes that increase codebase complexity. Our recent research has identified and characterized this phenomenon and we offer a new metric, the Layer Respect Metric, which sheds light on this problem and helps us balance our uses of the traditional measures of architectural complexity to ensure our codebases are as agile as our teams.

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

Outline/structure of the Session

Size does matter: Using an analogy of readers in a library, we’ll explain how some phenomenon do not exist in small projects yet can become blocking issues in large projects due only to the numbers of the things involved.

Background: Quick overview of Lakosian and Martian Metrics because, let’s face it, we haven’t thought about those concepts since we first read them. Just need to level-set everyone with a few terms and concepts for understanding what these metrics do and do not measure and how our new metric fits in.

Metrics and what they measure: We'll show some simple example architectures and their attendant metrics and the effects that perturbations on the architectures have on the resulting metrics. Then we’ll show well-meaning changes may, in fact, be doing more harm than good.

The Layer Respect Metric: how it is calculated, how it is sensitive to phenomenon which other measures are not and how the Layer Respect Metric and the traditional metrics together are a better way to manage architectural complexity.

Real world: We’ll explore some anonymized real-world examples and their metrics and the effects on testing and the business’ diminished ability to deliver code. Then we’ll discuss plans for some upcoming software funerals.

A word about technical debt: Some things you need to measure even when they don’t seem important because once they do become important, it will be too late. And you may never be able to pay off the resulting mortgage.

Learning Outcome

Attendees will understand how some phenomenon emerge and possibly dominate development activities in large projects. They will also learn how to use a new layering measure along with some of the classic measures to prevent hardening of the software arteries.

Target Audience

Program managers, release train engineers, architects, senior developers, business managers

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked David W Kane
    keyboard_arrow_down

    David W Kane - FeatureBan - A simulation to introduce Kanban basics

    45 mins
    Workshop
    Beginner

    FeatureBan is a simple and quick simulation that introduces several of the key concepts of Kanban, including visualization, feedback loops and limiting work in process and that lets participants learn by doing.  The simulation is also useful because it lets organizations who are curious about Kanban quickly learn about it before investing further.  Mike Burrows invented the simulation, but in this session we will present a modified version that we have used with both technical and non-technical audiences.

  • 45 mins
    Talk
    Intermediate

    You probably started your Agile journey with Scrum, which helped. But regression testing still takes forever. New feature tests aren't what they could be and are hard to complete within the Sprint.

    If you have active product owners, the POs helped to improve your product, but there is still a disconnect, between the user story and the tests.  And how do you test "as a, I want, so that"?

    Now you hear you need Agile technical practices to keep improving and you find you need to automate. What are you going to do with your testers?  They really, really know your business, but they don't code.

    If you are a manager, a tester or a product owner, come hear Camille as she shares her experience successfully teaching manual testers Automated Test Driven Development and showing product owners how to write great Acceptance Criteria that are easy to automate.

    In this session you will learn:

    • How to get your product owners, testers and developers to understand each other
    • How to make your business scenarios unambiguous and testable
    • How to avoid brittle tests that need frequent rewriting
    • Which tools and languages are better for testers to learn and why
    • Strategies and techniques for testers to learn test automation
    • Where to find inexpensive and free resources to get started
  • Liked Thad Scheer
    keyboard_arrow_down

    Thad Scheer - Un-beach the whale and turbocharge productivity in your post-Agile organization

    45 mins
    Talk
    Intermediate

    When you transitioned to Agile you solicited the best advice, updated your development tools, hired coaches, installed furniture, and embraced painful cultural changes. Now, a few years later, you wonder whether Agile is working. Are you realizing the productivity you are paying for, or did Agile flop? With so many people developing software every day you expect more to get done. Your advisors tell you not to worry about productivity, this is how it’s supposed to be. Questioning themselves, many executives are awakening to these gut feelings of disillusionment in their post-transition organizations. How much productivity should they expect from Agile teams? How do you know if Agile is working? Can Agile organizations be slow and unwieldy despite their Agileness? This session offers a strategic business management perspective about the honest reality of Agile in a post-transition organization. Attendees will learn to recognize the signals of poor Agile productivity and how to fix development so it stays fixed.

  • Liked Theresa Smith
    keyboard_arrow_down

    Theresa Smith - Product Design with Intent: How to Drive Product Design in an Agile Project

    45 mins
    Talk
    Beginner

    When design is based on random choices, the end product is an assembly of random elements that have little or nothing in common. But when design forces all elements to work together then it makes a single, powerful, and meaningful impression to the user. While agile can get the job done faster, it doesn’t help guide design choices for a software product.    

    This session presents a design driven approach called Strong Center Design that incorporates design into an agile workflow.

    If you have an interest in improving design of your software products, then this is the session for you.

  • Liked Ken Furlong
    keyboard_arrow_down

    Ken Furlong - How to Organize Multi-Team Programs

    45 mins
    Talk
    Intermediate

    Why does the Agile community encourage cross-functional teams?  So many large organizations have naturally organized into system-specific teams.  This is a very common and logical approach.  At scale, though, it creates serious impediments to organizational agility and getting things done.  We'll discuss the roots of that phenomenon, one of our key interests in cross-functional teams, patterns for enabling such a team structure, some failure modes, and how to prevent them.  Please join us!

  • Liked Christy Hermansen
    keyboard_arrow_down

    Christy Hermansen - Inside the GSA – a Case Study of user-centered Agile in a high-profile government agency

    45 mins
    Case Study
    Intermediate

    This unique journey will transport you deep inside the world of the General Services Administration (GSA) Integrated Award Environment (IAE).  You will see how user-centered Agile is transforming the way software applications are engineered, how users' voices have been integrated with large-scale Agile development, and what issues we encountered along the way.

    When Eric Schmidt, former CEO of Google, predicted, "Everything in the future online is going to look like a multiplayer game," perhaps he was envisioning a user community such as ours.  The IAE family of software applications have more than a million users representing federal, state, local, and tribal government organizations; congressional staff; large and small businesses; universities, schools, and hospitals; non-profit organizations; foreign entities; private citizens and others.  Our greatest challenge is the diversity of our user base, resembling a massive multiplayer game in many ways. 

    This case study looks inside a major reengineering effort to migrate 10 legacy applications into an integrated environment while at the same time transitioning from Waterfall to Agile development.  It tells the story of how IAE users have shaped our transformation thus far.  

     

     

  • Liked Scott Pringle
    keyboard_arrow_down

    Scott Pringle - Horseshoes, Hand Grenades, and Agile

    45 mins
    Talk
    Intermediate

     

    "My end date is fixed."
    "My customer gave me 1000 traditional requirements."
    “I have a lot of algorithms.”
    “The user interface is limited – most of the work is on the back end.”
    “My customer has a mission to execute, they cannot be here every day.”

    Like in Horseshoes and Hand Grenades, being close in Agile has great value.  We need not abandon our brethren in the trenches just because some of the most recognizable practices are out of play.  The great principles of Agile help in even the most difficult environments.  Shipping great software while under some traditional constraints is a true test of the movement – and we have a track record of doing just that.  We have employed Stealth Agile, Green Box Agile, Cafeteria Agile, Agile Pathfinding, and even Agile Treason in order to deliver in less than ideal circumstances.

    A series of actual scenarios will reveal the adaptations to Agile practices that kept us close to principles.  A small set of practices are present in so many of our projects that we consider them to be part of our Agile core.  Sometimes we rename them, sometimes we feather them, sometimes we disguise them, but they are always present and are pivotal to success.  Chief among these are the various practices that enable and encourage rapid feedback at multiple levels including Customer, Product, System, and Development.

  • Liked David W Kane
    keyboard_arrow_down

    David W Kane - "Hitting the Target" - Business Value in Mission-Focused Organizations

    45 mins
    Workshop
    Beginner

    In the simplest terms, software development decisions for commercial organizations can be reduced to a calculation of whether the cost of developing the software will be outweighed by the revenue generated or costs saved by the software.

    However, what does this mean for government and other non-commercial organizations for whom the impact of software isn’t primarily measured in terms of revenue?  How should organizations prioritize work in the face of conflicting goals and metrics?  Help more people?  Minimize delays?  Prosecute more crimes? Lower costs? In this session participants will experience a dice-based simulation that has been created to explore these questions by examining the impact of these decisions on the performance of organizations in changing environments.

  • Liked Brian Sjoberg
    keyboard_arrow_down

    Brian Sjoberg - Moving at the Speed of Molasses ... This Might Have Something to do with It!

    Brian Sjoberg
    Brian Sjoberg
    Agile Coach
    Excella Consulting
    schedule 2 years ago
    Sold Out!
    45 mins
    Demonstration
    Beginner

    Are you struggling with delivering a potentially releasable working product every iteration? Ever wonder what one of biggest reasons we have difficulty getting things done at the individual, team and organizational level are? Do you keep doing something even though you know it reduces your productivity and lowers quality? We are going to run an exercise that highlights one of the major culprits that you have all experienced and continue to experience. The exercise will likely ignite a fire that will help you, your team and your organization to become more productive and improve product quality. We will discuss ways to improve this at the individual, team and organization levels.

    Knowing this will help anyone to understand the consequences of not prioritizing and increase their desire to. This will lead to producing faster, higher quality products that should lead to delighted customers.

  • Liked Mathias Eifert
    keyboard_arrow_down

    Mathias Eifert - Using Lean Thinking to Increase the Value of Agile

    45 mins
    Talk
    Beginner

    “Agile doesn’t have a brain.” This quote from Bill Scott, ‎VP, Business Engineering and Product Development at PayPal, is provocative for sure, but it highlights the perception that in most organizations Agile is primarily applied as a downstream engineering approach. As such, it isn’t inherently concerned with optimizing product design and user experience, the biggest drivers of customer satisfaction. The feedback cycles that form the basis of Scrum provide verification and validation of stakeholder needs only as they are expressed in the backlog’s user stories. Even if a sufficiently empowered and accessible Product Owner is available, agile methods offer little guidance on how to translate organizational goals and customer needs into the backlog’s content and relative priorities in the first place. As a result, the danger persists that agile teams end up very efficiently building products that implement an incomplete and subjective perception of the wants and needs of both the organization and its customers.

    In this session, we will explore how Lean thinking expands the “inspect and adapt” loops of agile development and helps systematically determine which features and design choices really provide the greatest organizational value. After a brief introduction to Lean concepts, we will discuss how Lean approaches product development as a series of hypotheses about customers’ behavior and value perception and builds on Agile’s rapid iterative delivery of working software to test these assumptions. Finally, we will examine ways to derive testable assumptions from organizational goals, such as the Lean UX Hypothesis Statement template and Gojko Adzic’s Impact Mapping.

  • Liked Paul Boos
    keyboard_arrow_down

    Paul Boos - Understanding How Collaboration Improves Productivity

    90 mins
    Workshop
    Intermediate

    We've all heard how we need to collaborate better, but what does this really mean?  What results can I expect to see with better collaboration?  

    This workshop will demonstrate how productivity increases with greater collaboration and how to create better a more collaborative environment.  In the session you will not only have an opportunity to experience this relationship with a relatively simple learning game, but we'll look behind the curtain at the science and how some various behavioral models explain why this relationship exists.  We'll then explore some tactics you can use to help teams collaborate better and close with an exploration of what either helps or hinders collaboration and how you can use this information as well as the game with your teams.

    If you have an interest in improving productivity of your team or the teams you serve, then this is the session for you.

  • Liked Andy Bacon
    keyboard_arrow_down

    Andy Bacon - A Leaner PMO in The Federal Government

    45 mins
    Talk
    Beginner

    Can a federal agency’s PMO support Agile teams that are focused on delivering working software frequently? What about all the needed documentation, reviews, and sign-offs from a myriad of groups including systems engineering, privacy, PRA and cyber security? In this session we’ll look at a federal agency’s PMO processes and the concept of minimum viable bureaucracy. We’ll explore the roles and relationship between the PMO, PM, Product Owner, ScrumMaster, and team. We’ll see how projects get initiated and the decision criteria needed to start or defer a project. We’ll walk through a lightweight gate review process and the activities and deliverables of each phase. We’ll also see how gate reviews can co-exists with a continuous delivery pipeline. We’ll share lessons learned and take a look at the challenges ahead. Come to this session to see how a lean PMO is operating in a Federal Agency.

  • Liked Paul Boos
    keyboard_arrow_down

    Paul Boos - Agile Transformation: Using the Krismap and Appreciative Inquiry

    Paul Boos
    Paul Boos
    IT Executive Coach
    Excella
    schedule 2 years ago
    Sold Out!
    45 mins
    Workshop
    Intermediate

    So you want to transform your organization? How should you get started? Am I throwing everything away?

    Understanding how to co-create your organization's aspirational characteristics creates a great start to your Agile journey.  This allows the people to internalize what agile means to them in their context; doing this will allow greater alignment and commitment during the transformation. We'll explore a technique that allows you to do this invented by some coaching colleagues (Michael Sahota and Olaf Lewitz) and that I've utilized in Federal and commercial clients.  

    After performing this short exercise, we'll discuss next steps of selecting strategies using Appreciative Inquiry to help find and build upon your organization's strengths. Along the way, we'll learn a bit about what Appreciative Inquiry is and how it complements other change management approaches one can take. Don't throw out everything, build on your strengths!

  • Liked Max Saperstone
    keyboard_arrow_down

    Max Saperstone - Test Automation Strategies and Frameworks: What Should Your Team Do?

    45 mins
    Talk
    Beginner

    Agile practices have done a magnificent job of speeding up the software development process. Unfortunately, simply applying agile practices to testing isn't enough to keep testers at the same pace. Test automation is necessary to support agile delivery. Max Saperstone explores popular test automation frameworks and shares the benefits of applying these frameworks, their implementation strategies, and best usage practices. Focusing on the pros and cons of each framework, Max discusses data-driven, keyword-driven, and action-driven approaches. Find out which framework and automation strategy are most beneficial for specific situations. Although this presentation is tool agnostic, Max demonstrates automation with examples from current tooling options. If you are new to test automation or trying to optimize your current automation strategy, this session is for you.

     

  • Liked Brian Sjoberg
    keyboard_arrow_down

    Brian Sjoberg - Pump Life Back into Your Local User Group

    Brian Sjoberg
    Brian Sjoberg
    Agile Coach
    Excella Consulting
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Do you want to help your local community connect, learn and share from each other as they journey towards agility (or any endeavor)? Do you have a local user group that is struggling and needs a resuscitation? This talk will help you pump life back into your local user group. I have taken the local DC Scrum User Group that was starting to fade and brought it back to life with a fast growing membership base that regularly connects, learns and shares with each other multiple times per month. How did I do this? Come find out as I walk you through the various steps I took to reestablish the user group and engage thought leaders and luminaries to come speak at the user group.

    When I took over, last year, our local DC Scrum User Group was just over 500 members and growing at a pace of about 20 members per month. Since then, we have grown to almost 1300 members and growing at 50-60 new members per month. We typically have multiple meetings a month that are a mix of presentations, workshops and webinars.