+ All Categories
Home > Documents > Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent...

Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent...

Date post: 19-Jul-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
23
Technical Debt and Requirements Neil Ernst University of British Columbia @neilernst [email protected] • neilernst.net Wednesday, 6 June, 12
Transcript
Page 1: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Technical Debt and Requirements

Neil ErnstUniversity of British Columbia

@neilernst • [email protected] • neilernst.net

Wednesday, 6 June, 12

Page 2: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Overview• Requirements represent product’s business

value and quality goals.• “Technical debt is acquired when engineers

take shortcuts that fall short of best practices.” -- Eric Allman, CACM 55(5)

Short-cuts in requirements phase(s) a source of Technical Debt.

Wednesday, 6 June, 12

Page 3: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

2008

Firefox

Wednesday, 6 June, 12

Page 4: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

2008

2012

Firefox

Wednesday, 6 June, 12

Page 5: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Characteristics

Wednesday, 6 June, 12

Page 6: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Characteristics• Benefit = Time saved not doing

requirements work.

Wednesday, 6 June, 12

Page 7: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Characteristics• Benefit = Time saved not doing

requirements work.• Risk = Possibility that we miss intent,

leading to “rework”.

Wednesday, 6 June, 12

Page 8: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Characteristics• Benefit = Time saved not doing

requirements work.• Risk = Possibility that we miss intent,

leading to “rework”.• Interest = Misunderstood req in V1

might lead to further misses in V2, if requirements build on top of one another.

Wednesday, 6 June, 12

Page 9: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Characteristics• Benefit = Time saved not doing

requirements work.• Risk = Possibility that we miss intent,

leading to “rework”.• Interest = Misunderstood req in V1

might lead to further misses in V2, if requirements build on top of one another.

• Repayment = Reprioritize, re-analyse, process improvements.

Wednesday, 6 June, 12

Page 10: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Requirements Debt

Design Debt

Code Debt

Wednesday, 6 June, 12

Page 11: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Requirements Debt

Design Debt

Code Debt

Should have compiled ALL Javascript to begin with

Wednesday, 6 June, 12

Page 12: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Requirements Debt

Design Debt

Code Debt

Should have compiled ALL Javascript to begin with

Rearchitect to support base compilation

Wednesday, 6 June, 12

Page 13: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Requirements Debt

Design Debt

Code Debt

Should have compiled ALL Javascript to begin with

Rearchitect to support base compilation

Implement new code; test; deliver

Wednesday, 6 June, 12

Page 14: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Requirements Debt

Design Debt

Code Debt

Interest

Should have compiled ALL Javascript to begin with

Rearchitect to support base compilation

Implement new code; test; deliver

Wednesday, 6 June, 12

Page 15: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

TD in Requirements• Technical debt incurred when we do not

conduct “sufficient” requirements analysis:• we gamble that more elicitation or analysis will not

help,• because that issue may not even be relevant!• If it is relevant, than we go back and fix it.

• Key business decision: what is sufficient?• Can tools help.

Wednesday, 6 June, 12

Page 16: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Other Examples

• “TBDs and maintenance” (MTD 10)• Risk analysis and mitigation (JPL)• Evolving user stories (SAP)

Wednesday, 6 June, 12

Page 17: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Optimizing decisions• At start of iteration question is “what is

the best trajectory to pick”?• What is best set of ‘work items’ to

prioritize?• RE-KOMBINE automatically calculates

the optimal strategy for satisfying the given set of requirements.

• Relations between requirements matter.

Wednesday, 6 June, 12

Page 18: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Surfacing requirements debt

• Mine repositories for requirements data• Track usage data

Wednesday, 6 June, 12

Page 19: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Wednesday, 6 June, 12

Page 20: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Command Executions

edit.Delete 5.4 Mfile.Save 4.3 M

edit.Paste 3.8 M

edit.Copy 2.4 M

ContentAssist.proposals 1.4 M

Wednesday, 6 June, 12

Page 21: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Command Executions

edit.Delete 5.4 Mfile.Save 4.3 M

edit.Paste 3.8 M

edit.Copy 2.4 M

ContentAssist.proposals 1.4 M

Data: Eclipse UPP, 200908, eclipse.ui, 3.5.0

Command Executions

window.previousView 9navigate.Back 69

window.showViewMenu 89

window.previousPerspective 155

window.previousEditor 166

Wednesday, 6 June, 12

Page 22: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Summary• Debt is incurred when we do not do

sufficient requirements work.• Requirements capture value, and should be

first-class citizens in software development.• Support dev in understanding how software

is meeting business and quality goals.• Tracking historical tendency, we can

improve our understanding of the problem space(s).

Wednesday, 6 June, 12

Page 23: Technical Debt and Requirements - Carnegie Mellon …...Overview • Requirements represent product’s business value and quality goals. • “Technical debt is acquired when engineers

Research Directions1.What is the relationship between

process debt and requirements debt?2.Analysis-paralysis vs. wearing

blinders3.Transitioning from ‘agile’

requirements to up-front design.4.How do we track requirements debt?

Neil Ernst: @neilernst • neilernst.netWednesday, 6 June, 12


Recommended