maintaining your software for the long haul - a nerdery webinar

37

Upload: the-nerdery

Post on 27-Jan-2015

106 views

Category:

Technology


2 download

DESCRIPTION

Dealing with Deferred Maintenance Everything worth investing in needs maintenance - from your car to your house, and also your software. Dan Eichholz, Technical Account Manager, Lisa Mason, Director of Resourcing and Pre-Production, and Alan Kremer, Director of Sales join Ryan Carlson as they discuss what long-term product support looks like, and what you can do if you’re dealing with a nasty deferred-maintenance headache. They’ll cover: • The symptoms of software on life support • How to tell if you should fix what you have or rewrite your software • What you can do now (making the best of a bad situation) • Real world examples of the cost of taking shortcuts • What a maintenance plan looks like and why it needs to be part of your growth strategy

TRANSCRIPT

Page 1: Maintaining Your Software for the Long Haul -  A Nerdery Webinar
Page 2: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

YOUR HOSTS

Ryan CarlsonTechnology Evangelist

@ryancarlson

Dan EichholzTechnical Account

Manager@deichholz

Lisa MasonDirector of Resourcing

and Pre-Production@Lisa_Mason

Alan KremerDirector of Sales

Page 3: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

OVERVIEW1

2

3

4

What Does the Long Haul Look Like?

How Technical Debt Impacts You

Case Studies You Can Relate To

Identifying Your Level of Technical Debt

Best Practices and Next Steps5

Page 4: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

DISCLAIMER

Page 5: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WHAT DOES THE LONG HAUL LOOK LIKE FOR SOFTWARE?

CHAPTER 1 OF 5

Page 6: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

YOUR SOFTWARE WILL NOT LAST FOREVER

Page 7: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

HOW TECHNICAL DEBT IMPACTS YOUR SOFTWARE

CHAPTER 2 OF 5

overdue bills - 1st notice, 2nd notice !

The money pit - Tom Hanks

Page 8: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

TECHNICAL DEBT BASICS

What is technical debt?

How does it relate to maintenance?

Who owns the technical debt?

Page 9: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

SOFTWARE MAINTENANCE, TECHNICAL DEBT, AND YOU.

DEBT INCURRED OVER TIME

INHERITED DEBTS

Page 10: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WHAT DOES TECHNICAL DEBT REPRESENT?

A future investment of internal effort

A deferred investment in capital

People taking on debt that they didn't’ understand Example: Reusing Old Website Content

Page 11: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WHAT DOES TECHNICAL DEBT REPRESENT?

A deferred investment in capital

People taking on debt that they didn't’ understand Example: Making Your Minimum Payment on

the card with the lowest interest rate.

A future investment of internal effort

Page 12: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WHAT DOES TECHNICAL DEBT REPRESENT?

People taking on debt that they didn't understand

A deferred investment in capital

Example: High Risk Mortgage with a balloon payment

A future investment of internal effort

Page 13: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

IT’S OK - EVERYBODY HAS TECHNICAL DEBT

¼ Quick ramp up time for HTML devs

¼ Use existing content and skills

¼ Use native libraries with WinJS

¼ Best for simple apps

¼ Security Updates / Patches

¼ Maintaining compliance in regulated industries

¼ Changes to 3rd Party APIs

¼ Supporting new devices and browsers

SOME DEBTS WE CHOOSE UNAVOIDABLE DEBT

¼ Updating Visual Branding

¼ Server Updates

¼ Development Shortcuts

¼ Framework Updates

¼ Supporting legacy browsers and devices

¼ Accessibility

Page 14: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WE DON’T ALWAYS HAVE A CHOICE

PURCHASED A COMPANY

CHANGE IN DEVELOPMENT PARTNER OR STAFF

CHANGE IN LEADERSHIP

Page 15: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

DID YOU EXPERIENCE A WAKE-UP CALL?

TIME SENSITIVE PROMOTION

COMPLIANCE OR REGULATIONS

NEED FOR SECURITY OR A CHANGE IN

TECHNOLOGY

Page 16: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY#NERDERYWEBINAR @THE_NERDERY

A simple 30 to 40 minute fix now takes 4 to 6 hours to complete.“- [redacted], client.

TECHNICAL DEBT IS A LEADING CAUSE IN LOSS OF PRODUCTIVITY

Page 17: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

UNMANAGED TECHNICAL DEBT TURNS SMALL FIXES INTO EXPENSIVE UPDATES

Create New Code

30MIN

Resolve bugs, look for similar bugs

45MIN

Back to QA

30MIN

QA Identifies Regression

Bugs

+15MIN

Refactor code so bug won’t happen again

2HRS

Developer Testing and

Documentation

+45MIN

Deploy

15MIN

Page 18: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

TYPICAL SOFTWARE UPDATES WITH MANAGED TECHNICAL DEBT

Create New Code

25MIN

Test and Publish

10MIN

Commit to Source

5MIN

Page 19: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

CASE STUDIES YOU CAN RELATE TO

CHAPTER 3 OF 5

Page 20: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

IGNORING THE MATH: ONLY MAKING MINIMUM DEBT PAYMENTS

Page 21: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

THE REAL COST OF LOW-COST OR “OFF THE SHELF”

Page 22: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

IDENTIFYING YOUR LEVEL OF TECHNICAL DEBT

SO YOU CAN MAKE INFORMED DECISIONS

CHAPTER 4 OF 5

Page 23: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

HOW TO IDENTIFY YOUR TECHNICAL DEBT

Document user issues (App Store comments, calllogs, FAQ’s, service analytics)

What do line-level employees spend the most time doing?

Identify time between updates or last major retrofit

INTERNAL “BIG PICTURE” DISCUSSIONS & DOCUMENTATION

Page 24: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

HOW TO IDENTIFY YOUR TECHNICAL DEBT

Performs an impartial code audit with a “fresh pair of eyes”

Provides a complete report of findings

Makes Technical Recommendations based on the data.

3RD PARTY CONSULTATION AND SERVICES

Educates parter on best practices for long term maintenance (version control, staging environments, documentation, unit testing)

Page 25: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

ENGAGEMENT TIMELINE AND ACTIVITIES

Intake Documented Findings

(Your Report Card)

Identifying User Problems:

Contextual Inquiry / User Research

Code Audit Scope of Work

Maintenance Plan

Decide to rebuild or make major updates?

Page 26: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

BEST PRACTICES AND NEXT STEPS

CHAPTER 5 OF 5

Page 27: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WHAT ACTUALLY NEEDS FIXING IS RARELY OBVIOUS

Insufficient usability testing or user research

Lack of analytics and proper QA unit testing

Many small fixes and a lack of architecture planning

Lack of a governance plan and content strategy

Usability IssuesBrowser and Device incompatibility

Poor Performance and Load Times

Confusion over site ownership leading to stale web content

TYPICAL OBSERVATIONS TYPICAL ROOT CAUSES

Page 28: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

FINANCIAL PLANNING FOR PROJECTS

Consider your technology growth in both planning and your business plan.

Budget for maintenance and changes using a separate slush fund.

Take care of the small issues as they come up to keep things manageable.

Build a solid foundation at the expense of features.

BEST PRACTICES FOR NEW PROJECTS

Page 29: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

NEXT ACTIONABLE STEPS

Understand your business goals before

making technology decisions

Plan for future growth and budget

for unavoidable technical debt

Be realistic and start funding a maintenance budget now

Page 30: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

MAKING THE RIGHT SMALL INVESTMENTS

Document the symptoms but stay focused on the root causes.

Identify the product owner and empower them to make decisions forthe long term.

First, do no harm - Embrace QA.

Use analytics to determine if you can drop support for legacy browsers and devices.

BEST PRACTICES FOR SOFTWARE OPERATING IN THE RED

Page 31: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

NEXT ACTIONABLE STEPS

GET A FULL UNDERSTANDING OF

YOUR CURRENT MAINTENANCE

COSTS

CONSIDER TECHNICAL DEBT

COUNSELING (FRESH EYES)

THE TECHNICAL DEBT SNOWBALL

Page 32: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WHEN REBUILDING IS THE ONLY OPTION

Don’t repeat the same mistakes. Address the root causes, not the symptoms. [Leverage User-Experience as “Success Insurance”]

Assign this project to somebody on staff that can be available during the transition to a new platform. [Governance]

Create a maintenance plan that includes a budget for both the old and the new.

Don’t throw good money after bad.

BEST PRACTICES FOR MAKING A PAINFUL TRANSITION

Page 33: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

SOFTWARE WILL NOT LAST FOREVER BUT YOU CAN EXTEND THE LIFE OF YOUR DIGITAL HOME BY MAKING SMALL INVESTMENTS OVER TIME.

Page 34: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

QUESTION BREAK

Page 35: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

WRAP UP1

2

3

4

What is the Long Haul?

How Technical Debt Impacts You

Case Studies You Can Relate To

Identifying Your Level of Technical Debt

Best Practices and Next Steps5

Page 36: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

Topic suggestions or questions? [email protected]

More answers online at http://nerdery.com

Questions & Answers will air on The Nerdery’s podcast

THANK YOU FOR ATTENDING

Page 37: Maintaining Your Software for the Long Haul -  A Nerdery Webinar

#NERDERYWEBINAR @THE_NERDERY

Tweet with the #nerderywebinar hashtag

Check your inbox for upcoming webinar news

THANK YOU FOR ATTENDING

Fill out the survey at the end of the webinar