Is your team constantly missing delivery dates? Is the velocity decreasing from sprint to sprint while the development costs are rising? Are customers complaining about the increasing number of bugs and the long time it takes to add new features? These are all signs that you are mired in technical debt and probably on your way to bankruptcy or a complete system rewrite. Technical debt is inevitable, whether intentional or unintentional. However, not managing technical debt can paralyze your organization. Fadi Stephan expands on the technical debt metaphor and introduces a technical debt management plan that enables executives and teams to make prudent decisions on code quality and technical debt. Come learn how to measure the quality of your code base and determine the amount of your debt.

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

Outline/structure of the Session

 

The talk is based on my research and consulting experience in making development teams and managers care about technical debt. It is based on the tools that I setup to help them be aware of the debt, measure it, quantify it and manage it.

 

I recently presented this talk at Agile 2014

I’ll present this talk using my preferred presentation style of using a slide deck of mostly pictures representing the topic at hand. This will be a 60 minute presentation and it includes a 10 minute table discussions.

 

Group discussion:

Each group will be given scenarios and the group needs to decide if the scenario given are examples of good debt or bad debt.

 

General Presentation Outline:

* Introduction

* Symptoms of Bad Code

* Attributes of Bad Code

* Reasons for Writing Bad Code

* Technical Debt

* The Metaphor

* Impact of Trading on Quality

* Design Stamina Hypothesis

* Technical Debt Quadrant

* Managing Technical Debt

  * Register the Debt

  * Evaluate the Code Base

  * Monitize the Debt

  * The Technical Debt Triangle

  * Pay Down The Debt

* Tools

  * Sonar

  * Technical Debt Plugin

  * SQALE Metric

* Summary

Learning Outcome

* Reasons behind technical debt.

 

* Differences between good debt and bad debt.

 

* Tools and techniques to assess, categorize, quantify, and prioritize technical debt.

 

* Strategies for engaging executives and getting buy-in to reduce technical debt.

 

* Tools and techniques to reduce and monitor debt and prevent debt accumulation.

Target Audience

ScrumMasters, Developers, Managers

schedule Submitted 3 years ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Richard Cheng
    keyboard_arrow_down

    Richard Cheng - Agile at the Office of Personnel Management: The USAJOBS Product Owner's Perspective

    Richard Cheng
    Richard Cheng
    Principal
    Excella Consulting
    schedule 3 years ago
    Sold Out!
    60 mins
    Talk
    Beginner

    The USAJOBS program was a highly visible, time sensitive program, with potentially high government dollar value. To effectively execute the project, the USAJOBS program decided on an Agile approach and in this approach, government program managers were identified to be Agile Product Owners. This session features the experiences, thoughts, and challenges facing the Agile Product Owners on USAJOBS. Key thoughts from this session include:

     

    1. The differences between Project Management and Product Management 

    2. Shifting from big up front planning to responsible up front planning combined with just in time planning 

    3. Managing Product Owner bandwidth expectations 

    4. The impact of Agile from a Product Owners view

     

    The session is hosted by the former USAJOBS Product Owner along with an Agile Coach.  The session will explore Product Ownership and Agility on Federal Programs.

    Bios:

    Alesia Booth grew up in Federal human resources - her first job was with the National Institutes of Health payroll office at 16 years old. Since then, she's managed websites, document libraries, corporate recruitment programs, staffing systems and hiring reform process change management activities. Which is she ended up at USAJOBS. Since then, Alesia moved to Department of the Treasury to be the program manager of the HR Line of Business CareerConnector product for classification and staffing. At Treasury, she continues concentrate on solving multiple agency recruitment challenges to bring the best and brightest talent into the Federal workforce. Additionally, she worked with Treasury Enterprise Business Solutions as a champion of Agile development and recruitment data standardization Government-wide. Alesia is now back at OPM leading OPM's USAStaffing efforts.

     

    Richard Cheng, Principal Consultant at Excella Consulting, provides consulting services to commercial and federal clients in the Washington, DC area. Richard coaches, mentors, and trains clients on understanding and implementing Agile and Scrum. He also leads Excella’s Agile Center of Excellence.  A graduate of Virginia Tech, Richard has authored several publications on project management, presented at Agile and PMI sponsored industry events, is a member of Mensa, and holds certifications including Certified Scrum Training (CST), Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), Certified Scrum Professional (CSP), PMI Agile Certified Practitioner (PMI-ACP) and Project Management Professional (PMP).  Richard is a founder and on the executive committee of the Agile Defense Adoption Proponents Team (ADAPT).

  • Liked Wyn Van Devanter
    keyboard_arrow_down

    Wyn Van Devanter - A Thin Automation Framework for Managable Automated Acceptance Testing

    60 mins
    Demonstration
    Intermediate
    Automated Acceptance Tests (AAT) can provide huge value, and can automate time-consuming tasks like regression testing, but aren't easy to scale.  Have you tried implementing them only to abandon them later?  Are they fragile?  Do they give a lot of false positives?  Do they take more time to write than the value you're getting out of them?  These are common problems with automated acceptance testing, but there are ways to mitigate these issues.  One great way is to create a very thin automation framework that helps you write the tests faster while reducing the fragility.  Wyn will walk through writing a thin automation framework, illustrating a test-driven approach that yields a framework appropriate for the software being tested.  The resulting tests are very clean and readable, and they become faster and faster to write as the framework evolves.  He will use C# and Selenium but the concepts are applicable to other languages and browser automation frameworks.  He will also illustrate simple approaches that reduce the fragility and maintenance costs of the tests.  Participants will come away knowing how to get started on an automation framework that will be easy to understand and maintain, and that should scale as much as needed.  
  • Paul Boos
    Paul Boos
    IT Executive Coach
    Excella
    schedule 3 years ago
    Sold Out!
    60 mins
    Workshop
    Beginner

    So what does Collaboration really mean?  It's just ensuring people understand what each other is doing right?

    The Power of 13 Collaboration Game illustrates what true collaboration means.  We'll do work by rolling dice over a 3 week Sprint. We'll then explore the results and start our next Sprint. In each Sprint, we're going to increase the participation across players and see what the effect is on productivity.  Prepare to be surprised!

    Should there be enough time remaining in the hour; we'll then specifically apply true collaboration to better understand the effects of pair programming by playing Pair Poetry.  This simulates the power of pair programming and demonstrates why the one screen, one keyboard concept works.

  • Liked Katy Saulpaugh
    keyboard_arrow_down

    Katy Saulpaugh - Agile Pushback: Change is hard. Changing to Agile is Harder.

    30 mins
    Talk
    Beginner

    Adopting Agile enables an organization or team to fundamentally change their operating ethos, empower team members and improve project outcomes - and yet those advocating that organization change to Agile are repeatedly confronted with “Agile pushback,” because it “will be too hard,” or say, because “it has always been done this way.”

    How can you use Change Management to help organizations embrace change and make successful Agile adoption?  The key to overcoming the Agile pushback and successfully adopting Agile is the intentional engagement of the 4Cs of Change management – Coaching, Commitment Culture and Communication.

    • COACHING: Using change management as a tool to deepen relationships that help you and the organization leads understand the steeped organizational concerns. This will simultaneously address the core concerns and pushback and while formulating Agile champions.
    • COMMITMENT: Engaging the team will increase commitment to the shift to Agile through a clearly defined mutual understanding of the opportunity of Agile.
    • CULTURE: Aversion to organization change of any size is often rooted in individual concern -- using change management to provide the organization that the change will not be easy but the outcomes will benefit reduce the self-concern and helping the culture understand the4 Agile will empower the culture
    • COMMUNICATION: Agile implementation, like Change Management, is based on intentional communication that clearly articulates roles and expectations – eliminating waste and inefficiency.

     

    Katy Saulpaugh shares her experience, successes and challenges when helping government and nongovernment organizations eliminate Agile pushback and increase Agile adoption. Katy will share case studies from both the public and private sector providing attendees with concepts, methods and change management tools that defeat Agile pushback and easily transfer to a current project or a future Agile adoption.

  • 30 mins
    Talk
    Beginner

    Agile methodologies originated with and gained recognition from software development projects. With an enviable track record of success, more and more organizations are adopting Agile as the standard approach to managing all types of projects.

    You rarely hear about the enviable track record of success managing Business Intelligence projects so you may find yourself thinking about using Agile on your next BI project. Once you decide to try Agile, it can be tough to know where to start. In this presentation, we will focus on the first major step in getting started: Assess the Current State.

    Before you embark on implementing Agile, a crucial path to success starts with knowing where you are today and where you want Agile to take you. The group will identify what we think are the biggest BI challenges. We will go through a provisional maturity model to determine what questions to ask and will discuss how those challenges may or may not be addressed by taking steps to increase your organization's Agile BI maturity.

  • Liked Fadi Stephan
    keyboard_arrow_down

    Fadi Stephan - Techniques for Keeping Distributed Retrospectives Effective and Fun

    30 mins
    Talk
    Intermediate

    Are you working in a distributed team and feel like your retrospectives are failing to deliver meaningful results? Are you spending less and less time on them? Are your retrospectives becoming boring dull and uninspiring? Retrospectives are a key mechanism for continuous improvement. This is especially true with non-collocated teams that deal with additional impediments and barriers due to communication difficulties. Come to this session to reverse this trend and learn new tools and techniques to conduct distributed team wide retrospectives that keep everyone engaged and result in effective discussion and follow-up action items and continuous improvement.

  • Liked Joshua Seckel
    keyboard_arrow_down

    Joshua Seckel - No defects in a government setting? What does that really mean?

    60 mins
    Talk
    Intermediate

    We have heard a lot about no defects or zero defects, but is that reasonable or achievable in the government context?  How else can each sprint be deployable? Or how can you get to true flow with each story deployed to production?

     This session will explore how to get to a no defects posture across all of the tests required in a government setting. 

    We will look at the various types of testing:

    Unit, Functional, Integration, Security, 508, System, User Acceptance, etc 

    We will look at what defects mean and how (or if) they should be tracked

    We will look at what potential impediments from government organziations may exist in reaching a no defect state of software delivery

    We will look at what tools and techniques can be used successfully in the government setting to address the impediments and achieve no defects in released software

  • Liked Dave Chesebrough
    keyboard_arrow_down

    Dave Chesebrough - Considerations for Agile Adoption at the Team, Project, and Organizational Levels

    60 mins
    Panel
    Advanced

    Change is hard. For any organization, team, or individual, the ability to change is difficult even when the desire for the change exists. Some studies have revealed that even when people know they need to change, even at the risk of their lives, it is still difficult to adopt new practices and behaviors.  Knowing this, what are organizations and project teams doing to make agile adoption easier and how are they supporting the teams and the individual new to this way of developing software products and systems?

    Through a roundtable discussion with representatives from industry and government, we will share with you our experiences with Agile on Federal government projects and programs, the challenges we faced, lessons learned, and different activities we performed as we went through an agile transition. The intent is that our experiences will provide you with ideas that you can take back to your organization and teams to support your agile journey.

    The panelists will share their experiences in bringing agile to their own organizations as well to their government clients.  Topics to be addressed include:

    • What makes adoption easier?
    • Challenges faced and tactics to overcome them.
    • Lessons learned from a broad spectrum of successful, and unsuccessful, adoptions of agile methods in acquisition.

    Moderator:

    Dave Chesebrough, President, Association for Enterprise Information

    Panelists:

    Dr. Suzette Johnson, PMP, CSP, CSC, Certified (Agile) Scrum Coach, NGIS Technical Fellow and Chair of the Northrop Grumman Agile CoP.  Suzzette leads development of agile practices across programs serving government customers, including DoD and Federal Health IT. 

    Robin Yeman, Agile Transition Lead / SME, at Lockheed Martin where she defines Agile Strategy across capability areas at IS&GS; identifies and implements metrics to ensure results of strategy and enable course correction; develops Agile SMEs to support strategic consulting for program start-up, transition for waterfall, release planning, and execution; teaches and educates all levels at LM to allow LMCO to better meet customer needs; certifies large teams in the Scaled Agile Framework; and provides support in developing Performance Measurement Baseline and Agile EVM.

    Jerome (Jerry) Frese, Program Management Analyst at the Internal Revenue Service, is the organizer of an Inter-Agency Seminar whose purpose is to bring federal SDLC practitioners together so they can establish a network, learn about and share best practices and collaborate on new and innovative ways to support projects. Through the series of nine seminars he has worked with 33 other Government agencies fostering the implementation of agile in Federal IT. In his own agency, he brings 40 years of software development experience to his job the Senior Methodologist at the IRS.    

    James Barclay, Senior Systems Engineer, NGA Architecture & Engineering Group National Geospatial-Intelligence Agency.

  • Liked Richard Cheng
    keyboard_arrow_down

    Richard Cheng - A Roadmap for (Agile) Engineering Best Practices – What Every Non-Technical Person Needs to Know

    Richard Cheng
    Richard Cheng
    Principal
    Excella Consulting
    schedule 3 years ago
    Sold Out!
    60 mins
    Talk
    Beginner

    Summary: Presenting a roadmap explaining engineering best practices, why it’s needed, supporting tools, level of effort to implement, and sequence for implementing.

    21st Century IT development requires building quality into our development practices yet many software teams fail to implement technical practices that are necessary for long term success. Practices like automated builds, automated tests, automated deployments, continuous integration, and continuous delivery are now considered essential for the success of any software development project. Without these practices, the quality of software goes downhill and teams can no longer sustain their initial high levels of productivity.

     

    However, understanding and implementing the practices can seem daunting.  This session presents an easy to understand roadmap for implementing engineering best practices.  The roadmap explains what the practices are, the tools that support the practices, a recommended sequence to implement, and effort to implement.

     

    Though this topic is about engineering best practices, attendees do not have to be technical to get value from this session.  The session gives a non-technical look at a technical concept and is great for any person in the organization managing, working with, or working on IT teams/programs.

     

     

  • Liked Doguhan Uluca
    keyboard_arrow_down

    Doguhan Uluca - Agile done right: Streamlined JavaScript and Node.JS

    60 mins
    Talk
    Intermediate

    Agile development is difficult. Teams can often miss their delivery goals; the unsustainable pace of development can result in fatigue; and technological bottlenecks can make it impossible to deliver a high quality end product. When done right Agile can enable your team to deliver a sustainable and consistent forward flow of features. To achieve this goal you must use technologies that discourages skill silos, are easy to work with and allow for the straightforward application of Agile Engineering Best Practices. JavaScript and Node.JS are the perfect set of technologies that can organically grow within your organization and existing code base utilizing a RESTful architecture. The web is the OS of this decade, and JavaScript is its native language. Creating a technology strategy that effectively utilizes JavaScript is essential to unlocking the full potential of your team and allowing for greater flexibility and reduced risk.

  • Liked shentonfreude
    keyboard_arrow_down

    shentonfreude / Paul Boos - Making a Better Salad: Behavior-Driven Development with Lettuce

    30 mins
    Tutorial
    Intermediate

    Is your organization still using brittle GUI driven-tools to ensure applications can be tested? Do you find these difficult to map to the user stories that describe product owner/business needs? One of the current Agile practices to doing this is Behavior-Driven Development (aka Acceptance Test-Driven Development) and writing user stories and acceptance criteria in a Specifications by Example format.  This has real power in that business people can understand the tests and the delivery team can ensure the code meets the tests, thus they serve as an example.

     

    This tutorial will give a short background on Specs by Example/BDD and the show you how to write such tests in Lettuce.  You will gain a deeper understanding of how you can apply this to writing your applications.

     

  • Liked Daniel Gullo
    keyboard_arrow_down

    Daniel Gullo - WANTED: Agile Coach, Scrum Master, CEO, whatever... (How to make your Agile transformation successful.)

    60 mins
    Talk
    Intermediate

    The term “coach” has become an overloaded and almost meaningless term in much the same way that “agile” has.  Many individuals are calling themselves coaches who have little or no practical experience with Agile in large enterprise organizations.  Organizations are similarly confused about who they really need to bring success to their Agile transformation, and thus, are advertising for the wrong skills.

  • Paul Boos
    Paul Boos
    IT Executive Coach
    Excella
    schedule 3 years ago
    Sold Out!
    3 mins
    Talk
    Intermediate

    Creating an approach for change is difficult. There is a fine line between imposing an Agile adoption and creating a Transformation where people are collaboratively working together for the change. Based on my experience and in large US Federal Government organizations where imposed adoptions seem the norm, I’ve been working on combining many concepts into a transformation model that can work for large organizations that have ingrained cultures. This starts by helping the organization’s people take ownership and personalize what Agile means to them. Believe it or not, this can work.

    Intended for senior executives and their immediate staff (and the coaches that help them), the Taking Flight approach presents the importance of culture and how creating an organizational aspiration will help guide people. For large organizations, culture has been built up over decades and changing this is of the utmost importance to have an Agile Adoption stick. There are 3 main points I’ll address:
    - how to get people ‘onboard’ with a cohesive direction that they accept by collaboratively building their aspiration
    - how to develop and select strategies for incremental improvement towards the aspiration
    - how to realize changing from old routines into new ones aligned with the aspiration

    To help establish cohesive direction, I use an Aspirational model (your Guiding Star) to help organizations develop the direction they want to go. I show how the differences between an Aspirational model and an End-State. I explain that aspirations are inspiring and allow for a mindset change by not expressing the final state in terms of structure our expected metrics. From there, I discuss different techniques for assessing the current state of the organization and its people and developing strategies and actions for the necessary change management to move towards the organizational Aspiration; this is where the concrete steps come into play. Throughout this portion, I have the group try out various techniques for building an aspirational model and how to build the backlog of work to undertake the transformation. I introduce the Power of Habit as a means to help the organization undergo the necessary behavior changes. I close with a discussion to help the audience think around limiting change-in-progress and how to grow capacity to become more responsive to change.

    In this, you’ll get exposed to a few of many hands-on techniques that can be used to develop your Aspiration and execute on it. These are:

    • KrisMap
    • Business Model Canvas
    • Habit Loops
  • Liked Simon Storm
    keyboard_arrow_down

    Simon Storm - Positioning Agile and Continuous Delivery for Auditors and Examiners

    60 mins
    Talk
    Advanced

    Agile emphasizes self managing teams that regularly change how they work to improve productivity. Auditors and examiners want to ensure that management is actively providing oversight and that the team is following a consistent and repeatable development process. Continuous Delivery and Infrastructure as Code requires operations engineers to commit code into source code control systems and it encourages developers to have sufficient access to help troubleshoot production problems. Meanwhile, auditors and examiners are strong believers in separation of duties. These are just a few examples of how new development processes are creating serious challenges for audited and regulated companies. Given the conflicting priorities, how is a highly regulated or audited company supposed to implement either Agile or Continuous delivery without violating the core principles of these development approaches?

    In this talk we will review 25 actionable items to help position Agile and Continuous Delivery so that your next audit is a success. Come with your own challenges as well as items that you are implementing so that the discussion period at the end of the presentation can include a meaningful session on additional tips and tricks you are employing or find solutions to your particular challenges.

  • Liked Jeremy Kolonay
    keyboard_arrow_down

    Jeremy Kolonay - How to Agile When You Can't Scrum - Delivering Value for the Federal Government

    60 mins
    Talk
    Beginner

    One of the most interesting aspect of working with Federal Government clients can also be one of the most challenging - no two agencies (or even groups within agencies) do things the same way.  In today's landscape, nearly everyone has heard of "Agile" but the level of understanding, adoption, and sophistication is wildly varied.  As eager and indoctrinated Agile practioners, we must learn to strike a functional balance between mandating traditional Agile dogma and the realities of Federal environments.  In this discussion, I will share five Agile principles whose applications can be tailored to drive the delivery of value even when governance seemingly does not support Agile methods.  I will also share lessons learned from implementing and using Scrum-based agile processes in various Federal enviornments to deliver value.  This session is meant to be interactive and I will actively take questions from the audience at the end.

  • Liked Paul Boos
    keyboard_arrow_down

    Paul Boos / Dante Vilardi - Understanding the Relationship of Optimization, Prioritization, Throughput, Impediments, Métier, Utilization, and Sizing

    90 mins
    Workshop
    Intermediate

    Some of the key aspects of successful Agility are slicing our work into small chunks, prioritizing this work, and having our people pull the work at a rate they can sustain.  How do we do that? What does limiting work in progress mean? Is it more beneficial to have people working across stories individually or swarming on stories? What is the effect when specialists have to work on specific stories due to their unique skill sets? Why do we slice stories? When we choose to not have people remove impediments, what impact can that have?

    This session will immerse you in a simulation of what a team goes through when pulling work in an iterative approach such as XP or Scrum.  It was created in response to seeing teams make poor choices in what they optimizing; often choosing to optimize the utilization of resources as opposed to maximizing the effectiveness of the people.  This team also had chosen an architecture where specialized talent was hard to come by, limiting the overall effectiveness.  

    We'll explore what prioritization does for us; how limiting work in progress and slicing stories helps in getting us to done. We'll introduce impediments and make choices whether to work on something else or work to remove them.  We'll introduce a specialist and see what the impact of that is. 

  • Liked Stephen Ritchie
    keyboard_arrow_down

    Stephen Ritchie / Fadi Stephan - The Mystery behind Self-organizing Teams

    30 mins
    Talk
    Intermediate

    One of the 12 principles of the Agile manifesto states that “The best architecture, requirements, and designs emerge from self-organizing teams.” What does this mean? And how do we get there?

    Self-organizing teams do not form overnight. Simply coming in after training and telling the team that we are now Agile so self-organize results in chaos. Come to this session to learn how to overcome the challenges of building a self-organizing team. Learn the ingredients of a self-organizing team and how to gradually evolve a team into a self-organizing team. Leave with a 5 step guide to fostering self-organization.

  • Liked Stephen Ritchie
    keyboard_arrow_down

    Stephen Ritchie - Lightweight Documentation: An Agile Approach

    60 mins
    Workshop
    Intermediate

    One of the values of the Agile manifesto is working software over comprehensive documentation. However many agile teams think that now we are Agile we don’t need to document. Come to this session to learn about lightweight documentation and how to strike a sensible balance between working software and documentation. Learn which documents are necessary and which documents you can do without as well. Learn about JIT lightweight alternatives to our tradition documentation set. Leave with specific techniques to evaluate the value of each document along with recommended alternatives.

  • Liked Stephanie Vineyard
    keyboard_arrow_down

    Stephanie Vineyard - Making Testable Requirements a Reality: Challenges Faced by an Agile Team and How we Overcame Them

    60 mins
    Case Study
    Beginner

    For a team new to Agile practices, writing clear, concise requirements and acceptance criteria can be daunting. Add to that the additional challenge of automatically testing those criteria. Does your team struggle to manage bugs? As a business analyst or product owner, do you find yourself clarifying user stories and acceptance criteria for the team?

     

    Working software is only as good as the requirements are at identifying the end customer’s needs and having code that executes against those requirements.

     

    This talk will be a case study of the challenges faced by a team new to Agile writing testable requirements and how we overcame them. Attendees will leave with strategies to improve their requirements and acceptance criteria for automated testing.

  • Liked Andy Bacon
    keyboard_arrow_down

    Andy Bacon - Agile Project Managers - Oxymoron?

    60 mins
    Talk
    Beginner

    The role of project manager is viewed by many Agilists as an oxymoron, and students fresh out of a CSM course will certainly tell you that there is no project manager on a Scrum team.  Why then do organizations that claim to "do Agile" or even "be Agile" continue to have roles for these old school command and control relics?  Why are companies hiring and government RFPs asking for "Agile Project Managers?"  Do project managers have a place in an Agile environment?  This session will explore this topic through interactive discussions on defining what an Agile project manager is, project managers as Scrum Masters or Product Owners, and common pitfalls of adding a PM into the mix.