stc15 tutorial technical debt part 3 - usu€¦ · managing technical debt for ipdm projects the...

31
10/6/15 1 STC 2015 Tutorial Part 3 Managing Technical Debt for Software and Systems Development Projects IEEE Software Technology Conference Long Beach, CA October 12, 2015 STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015 Tutorial agenda Part 1: introductions and concepts of technical debt Part 2: Planning and organizing to manage technical debt Part 3: Managing technical debt 2

Upload: others

Post on 09-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

1

STC 2015 Tutorial Part 3 Managing Technical Debt for

Software and Systems Development Projects

IEEE Software Technology Conference Long Beach, CA October 12, 2015

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Tutorial agenda

Part 1: introductions and concepts of technical debt Part 2: Planning and organizing to manage technical debt Part 3: Managing technical debt

2

Page 2: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

2

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Part 3 topics

Part 3 topics include: •  The life cycle continuum of software

development models •  Risk of and opportunities for managing

technical debt within the continuum

3

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The continuum of software development process models

Highly Predictive: linear, one pass phases Incremental Predictive: incremental phases Iterative-Adaptive: iterative cycles Highly Adaptive: highly iterative cycles

Highly Predictive

Highly Adaptive

Incremental Predictive

Iterative Adaptive

see The Software Extension to the PMBOK® Guide Fifth Edition http://marketplace.pmi.org/Pages/ProductDetail.aspx?GMProduct=00101457501

4

Page 3: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

3

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Some factors in choosing a software development process

Factor to be considered include: Requirements clarity and volatility Level of stakeholder involvement Complexity and size of project and product Criticality of quality attributes Flexibility in allocation of schedule and budget Regulatory and policy constraints o e.g., safety certification or security

accreditation

5

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Selecting the development process

Each development process encounters risks of accumulating technical debt o And provides opportunities to manage

technical debt Selecting the wrong development process is a primary factor that contributes to accumulation of technical debt o and failure to mitigate technical debt

6

Page 4: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

4

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Risk and opportunity (1)

Risk is characterized by probability and cost Risk involves the probability that a negative event or situation will occur o For example, the probability of accumulating

technical debt And the cost to mitigate a risk if it becomes a problem o The cost of paying technical debt that has

been accumulated

7

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Risk and opportunity (2)

Opportunity is the probability that a positive event or situation will occur o The probability that technical debt will be

detected before significant debt is incurred o The reduced cost of mitigating the debt when

detected, as compared to letting it accumulate o Plus the opportunity to improve the

development processes to reduce the probability and cost of future technical debt

8

Page 5: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

5

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The Software Development Process Continuum

Highly Predictive: linear, one pass phases Incremental-Predictive: incremental phases Iterative-Adaptive: iterative cycles Highly Adaptive: highly iterative cycles

Highly Predictive

Highly Adaptive

Incremental Predictive

Iterative Adaptive

see The Software Extension to the PMBOK® Guide Fifth Edition http://marketplace.pmi.org/Pages/ProductDetail.aspx?GMProduct=00101457501

9

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A Highly Predictive Development Model (HPDM)

Analyze

Architect

Design

Construct

Integrate

time

Elicit

Test

Accept

10

Page 6: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

6

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

HPDM Goals

The goals for HPDMs are: 1.  To initially develop requirements that are

complete, correct, and stable And to develop a suitable software architecture

2.  To accurately predict (initially) effort, cost, resources, skills, and technology needed to successfully complete the project

3.  To complete each project phase, completely and correctly, before proceeding to the next phase

11

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Opportunities for managing HPDM technical debt

Opportunities for managing HPDM technical debt include:

1.  Establishing and maintaining traceability links

2.  Maintaining baselines 3.  Practicing version control 4.  Conducting milestone reviews 5.  Iteratively developing the software

during the construction phase

12

Page 7: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

7

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

http://www.engineering.com/portals/0/BlogFiles/Systems_Engineering_V_diagram.jpg

The Vee HPDM

System development

Discipline-specific component development

13

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The Vee model and technical debt

The Vee model includes development of test plans as the work products are being developed o Which can identify risk factors for

accumulation of technical debt o Because of issues that are incorrect,

incomplete, inconsistent, or vague

14

A shortcoming of HPDMs: problems created first are detected last

Page 8: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

8

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Risk factors for HPDM technical debt

Risk factors that increase the probability of incurring HPDM technical debt include: o  Infrequent milestones o  Ineffective milestone reviews o  Infrequent stakeholder interactions o Lack of initial traceability o Failure to maintain traceability o Failure to maintain a project balance o  Inadequate change control o End-of-project V&V

15

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Traceability links and technical debt Bi-directional traceability provides the following checklist of opportunities to detect and mitigate technical debt

Are all requirements present in the design? Are all design elements present in the code modules? Are integration and test plans traced to requirements and design? Other links?

16

Are there any missing elements? Are there any extraneous elements?

Page 9: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

9

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Risk factors

Risk factors for managing HPLC technical debt include: o  Infrequent milestones o  Infrequent stakeholder interactions o Lack of traceability o Failure to maintain a project balance o  Inadequate change control o End-of-project V&V

17

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Technical debt: maintaining a project balance

Impact analysis is concerned with assessing the impact of proposed changes o  In-scope changes versus out-of-scope changes

18

Product Scope & Quality attributes

•  Schedule •  Budget •  Resources •  Technology

Failure to maintain a balance is a primary source of technical debt for HPDM projects

Page 10: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

10

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Risks of HPDM change control

Insufficient impact analysis An ineffective CCB An un-empowered CCB Lagging CCB responses Failure to maintain a project balance Failure to verify and validate changes Failure to communicate changes to all affected parties Other risks?

19

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A Highly Predictive Life Cycle (HPDM)

Analyze

Architect

Design

Construct

Integrate

time

Elicit

Test

Accept

20

Page 11: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

11

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Reducing the risk of HPDM technical debt during software construction

Iterative software construction can reduce the risk of accumulated technical debt for HPDM projects Iterative software construction involves: o Constructing the software in incremental stages

§ With incremental V&V o And with frequent demonstrations of progress (or

lack thereof) §  Internal demonstrations for the software

developers § External demonstrations for the stakeholders

21

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The risk of external demonstrations during software construction

Stakeholders may request extensive changes based on demonstrations of the evolving software o This is a symptom of earlier accumulated

technical debt §  In the requirements and design phases

o And may indicate that a HPDM is the wrong approach for the project

22

Page 12: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

12

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Factors that can reduce the risk of accumulating HPDM technical debt

Stable, well-defined requirements Staged, cross-functional resources Familiar system Familiar customer Short duration project Adequate time, resources, skills, and technology Iterative software construction

23

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The Software Development Process Continuum

Highly Predictive: linear, one pass phases Incremental Predictive: incremental phases Iterative-Adaptive: iterative cycles Highly Adaptive: highly iterative cycles

Highly Predictive

Highly Adaptive

Incremental Predictive

Iterative Adaptive

see The Software Extension to the PMBOK® Guide Fifth Edition http://marketplace.pmi.org/Pages/ProductDetail.aspx?GMProduct=00101457501

24

Page 13: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

13

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

An Incremental-Predictive Development Model (IPDM)

Demo Working System

I1

Demo Working System I1+I2

Demo Working System

I1+I2+I3

V&V Design

Construct &

Integrate

V&V

V&V

Feature Set 1

Design Construct

& Integrate

Design Construct

& Integrate

time

Feature Set 2

Feature Set 3

Analyze

Architect

. . . .

25

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The IPDM

Periodic demonstrations of system increments involve stakeholders o  and may result in revisions to requirements

§ plus redesign and reallocation of feature sets o  and reallocation of resources and schedule

And can provide objective evidence of progress o Or lack thereof: accumulated technical debt

Early deliveries of subset capabilities for evaluation by users are possible, if desired

26

Page 14: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

14

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

IPLC Stakeholder Involvement

Stak

ehol

der I

nvol

vem

ent

Project Duration

Increment V&V & Demos

Initiation and Planning

System Acceptance

Increment demo intervals may be unequal

27

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Some IPDM Capability Prioritization Criteria

allocate the system requirements to increments of growing system subsets some of which are to be periodic delivered OR allocate the system requirements to architectural layers that incrementally result in a succession of layered virtual machines OR establish the architectural skeleton first and incrementally add capabilities OR establish interfaces to external components first OR incrementally incorporate components to be reused

28

Page 15: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

15

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

How many feature sets are needed?

•  The number of features per feature set and the duration of the incremental build phases for the feature sets may vary from feature set to feature set o But the durations of each incremental phase should

not exceed one month •  Limiting the duration of each incremental phase to one

month will determine the number of feature sets and incremental phases needed •  And may require modifying the overall schedule and

budget •  Or dropping some of the lower priority requirements

29

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Managing technical debt for IPDM projects

The opportunities and risk for managing IPDMs technical debt are similar to those for HPDMs

With the added benefit of o  Incremental verification and validation o Periodic stakeholder demonstrations of the

evolving product o And the opportunity to make some periodic

revisions to requirements and design o And to restructure the remaining feature sets o And delivery of subset capabilities to users

for evaluation, if desired

30

Page 16: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

16

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Managing IPDM technical debt

IPDM technical debt can be successful managed when:

Requirements can be mostly defined initially Some flexibility in managing prioritized requirements will be permitted o  plus dynamic allocation of resources and schedule

to increments Periodic V&V and stakeholder involvement provides feedback o  as a basis for adding, deleting, and revising features o  and to support management of technical debt

31

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The Software Development Process Continuum

Highly Predictive: linear, one pass phases Incremental-Predictive: incremental phases Iterative-Adaptive: iterative cycles Highly Adaptive: highly iterative cycles

Highly Predictive

Highly Adaptive

Incremental Predictive

Iterative Adaptive

see The Software Extension to the PMBOK® Guide Fifth Edition http://marketplace.pmi.org/Pages/ProductDetail.aspx?GMProduct=00101457501

32

Page 17: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

17

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

An  Itera)ve-­‐Adap)ve  Development  Model  (IADM)  

Product  Vision  

Product  Feature  Set  

Product  Planning  

Itera4on  Planning  

Itera4on  Feature  Set  

Product  Increment  

Demo  Working  So9ware  

Demonstra4on  and  Review  

Daily  standup  mee4ngs  &  frequent  demos  

frequent internal iteration

Demo          Test  

Design      Construct  

Ini4al  Product  Planning  

External  Itera4ons  

Internal  Itera4ons  

33

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Internal  Itera)ons  by  Adap)ve  Teams  

select next feature(s)

specify requirement(s)

prepare test cases

add code for new features, test, refactor

demonstrate capabilities

frequent iterations & daily

stand-ups

Team  members  

TDD  Internal  demonstra4ons  of  evolving  capabili4es  may  occur  on  a  daily  basis  

34

Page 18: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

18

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Test-driven development (TDD)

Internal demonstrations, test-driven development, and refactoring are three iterative approaches to controlling technical debt Internal demonstrations provide evidence of progress TDD involves writing test scenarios and test cases before writing code o May include both static and dynamic tests

Refactoring involves restructuring the software without altering existing behavior o Why not alter behavior?

35

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Adaptive Software Development

Technical debt can be successfully managed when pursuing an adaptive approach by: o  developing an initial understanding of the nature

of the desired product to be delivered, o  adopting an architectural style or establish a

shared design metaphor o  determining the constraints on schedule, budget,

resources, and technology that must be observed o  developing a continuous, ongoing relationship with

a knowledgeable user representative o  periodically demonstrating the evolving software o Concurrently evolving the requirements and the

software 36

Page 19: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

19

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

AND BY observing the 10 attributes of agility

37

The 10 attributes of agility are included at the end of these slides

Itera4ve-­‐Adap4ve  projects  are  “agile”  to  the  extent  that  they  observe  the  10  aOributes  of  agility  

   

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Controlling technical debt by tracking IADM progress

Burndown charts and velocity charts can be used to track progress and control technical debt for IADM projects

38

Page 20: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

20

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A Burndown Chart for an IALC Iteration Cycle

Iteration Cycle in Work-Days 963 12 15

Num

ber o

f Rem

aini

ng T

asks

0

5

10

15

20

25

30 Planned tasks remaining Actual tasks remaining

39

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Tracking Progress Using a Velocity Chart

Iteration #

Num

ber

of C

ompl

eted

Tas

ks p

er It

erat

ion

0

5

10

15

20

25

30

35

1 2 3 4 5 6 7 8 9 10

Series2

40

Page 21: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

21

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Carrying Tasks Forward

Retrospective meeting: o Why didn’t we complete everything?

Planning meeting: o How are we going to handle the carry-forward?

§ While controlling technical debt

•  The retrospective meeting and planning meeting can be combined

•  unless there is a time lag between iterations •  as in staged procurement or maintenance upgrades

41

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Handling carry-forward of IADM tasks

Persistent carry-forward of tasks accumulates technical debt Desirable options for paying IADM technical debt o Use occasional iteration cycles to clear accumulated

technical debt o Re-scope the number of tasks that can be completed

during each time-boxed iteration cycle o Deliver fewer prioritized requirements o Extend the schedule o Add an IADM mentor to the team o Spin off some of the work to another team

42

Page 22: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

22

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Handling carry-forward of IALC tasks

Undesirable options for paying IALC technical debt Add more team members Replace team members (except in extreme cases) Reduce TTD, refactoring, and verification testing Reduce external demos and interactions with the customer Require overtime

43

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The Software Development Process Continuum

Highly Predictive: linear, one pass phases Incremental-Predictive: incremental phases Iterative-Adaptive: iterative cycles Highly Adaptive: highly iterative cycles

Highly Predictive

Highly Adaptive

Incremental Predictive

Iterative Adaptive

see The Software Extension to the PMBOK® Guide Fifth Edition http://marketplace.pmi.org/Pages/ProductDetail.aspx?GMProduct=00101457501

44

Page 23: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

23

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A Highly Adaptive Life Cycle

potential system delivery

Backlog of

use cases or customer stories

team selects use case or

hears customer

story

team discusses

options with customer

team writes test cases

team refactors,

adds capability, and

verifies

team demonstrates capabilities

frequent iterations

Customer

TDD

45

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Attributes of HADM projects

Customer controls the backlog of use cases or stories o  and is continuously “in the loop” with the software

developers Demonstrations of progress occur on a daily basis o Or multiple times per day

The “development team” may be 1 or 2 persons

46

Page 24: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

24

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Controlling technical debt for HADM projects

There are no issues of technical debt because progress is continually demonstrated o And is under the control of the customer

47

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

The Software Development Process Continuum

Highly Predictive: linear, one pass phases Incremental Predictive: incremental phases Iterative-Adaptive: iterative cycles Highly Adaptive: highly iterative cycles

Highly Predictive

Highly Adaptive

Incremental Predictive

Iterative Adaptive

see The Software Extension to the PMBOK® Guide Fifth Edition http://marketplace.pmi.org/Pages/ProductDetail.aspx?GMProduct=00101457501

48

Page 25: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

25

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Tutorial Summary

49

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Goals for this tutorial

To present the nature of and consequences of technical debt and To present techniques for anticipating, detecting, and mitigating technical debt and to

Address your questions and concerns And hear your recommendations for improving the processes, methods, tools, and techniques for avoiding and managing technical debt

50

Page 26: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

26

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Tutorial agenda

Part 1: Concepts of technical debt Part 2: Planning and organizing to manage technical debt Part 3: Managing technical debt

51

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Part 1 topics

Concepts of debt Accumulation of technical debt for software development Interest rates for technical debt Reasons for knowingly and unknowingly accumulating technical debt Passing it on

52

Page 27: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

27

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Session 2 topics

•  Excuses for not planning •  Making a plan for the technical work (SwTMP)

53

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Part 3 topics

•  The life cycle continuum of software development models

•  Opportunities and risks for managing technical debt across the continuum

54

Page 28: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

28

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Questions? Comments?

55

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

10 Attributes of Agility for Iterative-Adaptive projects

56

Page 29: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

29

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A9ributes  of  Agility  for  Adap)ve  SDLCs  

1.  Increments  of  working  deliverable  so9ware  are  produced  on  a  periodic  basis  

2.  Adap4ve  itera4on  cycles  are  of  the  same  dura4on  (i.e.,  are  “4me  boxed”)  for  a  project  but  some  cycles  may  be  of  longer  or  shorter  dura4on  by  excep4on  o  dura4ons  of  the  4me-­‐boxed  itera4on  cycles  may  be  

weekly,  bi-­‐weekly,  or  monthly  but  not  more  than  monthly  3.  Increments  of  working  deliverable  so9ware  are  not  

necessarily  produced  by  each  itera4on      o  increments  and  itera4ons  are  dis4nct  

4.  Requirements,  design,  and  the  so9ware  product  emerge  as  the  project  evolves  

57

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A9ributes  of  Agility    (2)  

5.  A  representa4ve  customer,  customer’s  representa4ve,  and/or  knowledgeable  user  is  involved  on  a  con$nuing  basis  

o   involvement  includes  observing  periodic  demonstra4ons  of  working,  deliverable  so9ware  at  the  end  of  each  itera4ve  development  cycle    

o  In  addi4on,  a  representa4ve  customer  or  customer’s  representa4ve  accepts  shared  responsibility  for  further  product  development  based  on  demonstra4ons  of  working  deliverable  so9ware    

o and  accept  responsibility  for  managing  the  constraints  on  project  scope  (schedule,  budget,  and  resources)  

58

Page 30: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

30

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

Notes  The  customer  representa4ve  must  commit  to:  a.  Being  con4nuously  available  b.  Providing  updates  to  the  requirements  based  on  periodic  

demonstra4ons  of  the  incrementally  evolving  product  that  involve  the  customer  and  other  key  stakeholders  

c.  Discussing  proposed  changes  to  the  requirements  with  the  so9ware  developers  to  assess  technical  risk  and  the  impact  of  proposed  changes  on  the  product,  schedule,  and  needed  resources  

d.  Accep4ng  responsibility  for  maintain  a  balance  among  schedule,  budget,  and  requirements  to  be  implemented  

59

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A9ributes  of  Agility    (3)  

6.  Adap4ve  so9ware  development  teams  are  small  (i.e.,  10  or  fewer  members)  and  are  self-­‐organizing  

o  large  projects  include  mul4ple  small  teams  

7.  Short  daily  standup  mee4ng,  retrospec4ve  mee4ngs,  and  planning  mee4ngs  are  used  

8.  Each  so9ware  development  team  is  cross-­‐func4onal  o  includes  the  combina4on  of  skills  needed  to  accomplish  

the  work  ac4vi4es  

o   func4onal  experts  may  be  involved  occasionally  as  needed  

60

Page 31: STC15 Tutorial Technical Debt Part 3 - USU€¦ · Managing technical debt for IPDM projects The opportunities and risk for managing IPDMs technical debt are similar to those for

10/6/15

31

STC2015 Tutorial Managing Technical Debt Copyright © R.E. Fairley 2015

A9ributes  of  Agility    (4)  

9.  All  members  of  each  so9ware  development  team  are  assigned  to  one  project  at  a  4me  

10.  Over4me  is  not  required  

o  Except  on  rare  occasions  of  limited  dura4ons  

o  So9ware  developers  should  be  able  to  maintain  a  steady  pace  indefinitely  o  Without  burnout  

o  And  without  sacrificing  their  personal  lives  

61