Category Archives: Conferences

Recognizing Software Debt Talk at Beyond Agile Meeting

A couple days ago I spoke at the Beyond Agile group meeting on the topic of “Recognizing Software Debt”. Early in the presentation we ran an exercise to get a feel for the effects of software debt that was original created by my friend, Masa Maeda. Here is a link to the exercise:

http://www.agilistapm.com/understand-technical-debt-by-playing-a-game/

The exercise went great even though I was using the audience as guinea pigs to run the exercise for my first time. Below is the slide deck that I used as a backdrop for the presentation.

Manage Up with AgileEVM

As teams start to use Agile methods for delivering software, it is common for the business to ask for a summary of progress. This is not always easy to do for Agile teams. Teams may have an Agile project management tool, hand-drawn burn up charts, task boards on the wall with other information radiators or spreadsheets where the information about delivery thus far is kept. Teams might even duplicate data in multiple tools so that they are able to generate information for management without inhibiting the team’s progress by making them update more than 1 tool.

AgileEVM allows teams to take the outcomes of their iterations as evidence of delivery and then generates progress reports for the release. The most commonly used report element is the Release Forecast Chart as seen below. It has similar characteristics to a Release Burnup Chart but adds a risk window as Dave Thomas had described in his keynote at Agile 2010. Rather than only showing progress towards a target based on units of work and iterations, the Release Forecast Chart also shows forecasts based on optimistic, pessimistic, and when under volatile conditions. These provide a more holistic picture of the current release progress along with an understanding of the potential risk to plans.

AgileEVM Release Forecast Chart

The 5 data points that a teams needs for each iteration are:

  • Points committed to at beginning of iteration
  • Points delivered in the iteration
  • Scope change in the release (either positive or negative)
  • Did the team meet their Definition of Done
  • Actual cost of iteration (i.e. # of team members * cost per hour * # of hours in iteration)

Most of this information is already part of an Agile team’s iteration data. The addition of actual cost can usually be pulled from your finance department or wherever time tracking against the project is maintained.

Upcoming posts on AgileEVM will describe:

  • How an estimated Release Baseline can be developed using simple techniques with your team
  • Adding  your Definition of Done in AgileEVM
  • Managing impediments across your AgileEVM portfolios
  • What indicators and advice AgileEVM provides to users in the progress summary
  • and Understanding what “under volatile conditions” may mean to your release progress and response to the information

Slides from Managing Software Debt Talk at PNSQC 2009

Tomorrow at 1:30pm I will be discussing my paper published by the Pacific Northwest Software Quality Conference 2009 in Portland, OR on “Managing Software Debt: Continued Delivery of High Value as Systems Age”. I have uploaded the slides for this presentation and I hope that some of the new content will help those looking for ways to manage their software debt more effectively in 5 key areas:

  • Technical debt: tends to focused on the code and reveals itself in duplication and code smells
  • Quality debt: focuses on QA aspects of software development and shows up in growing bug databases and longer regression test runs
  • Configuration Management debt: focuses on integration and release management aspects and becomes apparent with extreme branching and inability to recreate environments from scratch
  • Design debt: focuses on design constructs of components within an application or enterprise infrastructure and is usually difficult to figure out until you are close to a deadline such handling production load
  • Platform Experience debt: focuses on the people in the software creation process and usually involves extreme specialization and waiting on people to finish their part

Without further ado, here are the slides:

Also, here is the picture I use to discuss Managing Software Debt from high level in terms of maintaining and enhancing value of software assets:

Effect of Managing Software Debt to Preserve Software Value

Pacific Northwest Software Quality Conference (PNSQC) Coming Up

It has been a while since I have blogged. I apologize and have plenty of good excuses (if there are such things) about why (book, traveling, family time, etc…). I am now back and will be blogging on a more frequent basis in the next few months.

My first blog entry back is about the upcoming Pacific Northwest Software Quality Conference (PNSQC) that is happening from October 26-28 in Portland, OR. This conference was highly recommended to me by many people. This year I am fortunate enough to attend, have a paper published for the event, and presenting the paper for 45 minutes during the conference. Here are the details for my paper and presentation:

P-30 Managing Software Debt

Chris Sterling, SolutionsIQ

Many software developers will have to deal with legacy code at some point during their careers. Seemingly simple changes are turned into frustrating endeavors with code that is hard to read and unnecessarily complex. Test scripts and requirements are lacking, and at the same time are out of sync with the existing system. The build is cryptic, minimally sufficient, and difficult to successfully configure and execute. It is almost impossible to find the proper place to make a requested change without breaking unexpected portions of the application. The people who originally worked on the application are long gone.

How did the software get like this? It is almost certain the people who developed this application did not intend to create such a mess. This paper presentation will highlight ways teams can work with stakeholders to manage software debt over the delivery life cycle of the product.

I hope that I am able to see others at this event. If you are interested in attending and would like to get a $50 off the normal conference attendance fee, enter the promotion code “FOA – Chris Sterling” when registering. You can register at the PNSQC web site (http://www.pnsqc.org/2009-conference/registration-information). See you there!