Technical Debt

Issue: New software functionality needs to be added to your enterprise content management system

Option one: quick, “down and dirty” approach that will most certainly cause issues for all further down the line

Option two: a more thorough design approach that will take longer than option one (above)

Option one sets us up with a technical debt according to Ward Cunningham.  Technical debt is quite similar to a financial debt in that they both have interest payments in common.  What I mean is that there will be additional effort and time spent in the future because of the initial design choice.

Again, we are presented with two options.

Option one: continue to pay the interest

Option two: pay down principal by re-engineering the initial design into the improved design

Real-world example: customer timeline is short.  New functionality built.  Parties agree to deploy phase one deliverable into development environment.  Initial timeline met, code delivered to client.  Client deploys code directly to production environment.  Issues occur that increase stress for both parties.

Technical debt can be good or bad.

What makes this so interesting for those of us in the consulting field is that we must deal with technical debt while also reconciling it with the financial restrictions and timeline necessities of clients.  Meaning, we all need to be aware of this debt, and inform customers of this debt, but we will often need to live with it as a reality despite “knowing what’s best”.  This is written with complete humility.  Why?  Remember that we have been hired for our expertise.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.