Avoiding the Pitfalls of Capitalizing Software in an Agile World

41
AVOIDING THE PITFALLS OF CAPITALIZING SOFTWARE IN AN AGILE WORLD

Transcript of Avoiding the Pitfalls of Capitalizing Software in an Agile World

Page 1: Avoiding the Pitfalls of Capitalizing Software in an Agile World

A V O I D I N G T H E P I T F A L L S O F C A P I T A L I Z I N G S O F T W A R E

I N A N A G I L E W O R L D

Page 2: Avoiding the Pitfalls of Capitalizing Software in an Agile World

22

68%Improved Business Agility

68%Lower Overall Cost

67%Speed of Implementation

66%Easier Information Sharing

63%Allows us to Focus Resources

Elsewhere

59%Delivers Unique Functionality

Source: Forrester’s Global Business Technographics Software Survey, 2016

WHY THE CLOUD?Benefits of cloud apps that firms most often rate very important or important

Page 3: Avoiding the Pitfalls of Capitalizing Software in an Agile World

33

53%47%

IT Non-IT Business

Source: IDC’s Worldwide Semiannual IT Spending Guide: Line of Business, 2016

BY 2019 ALMOST HALF OF GLOBAL TECHNOLOGY PURCHASES VIA

NON-IT BUYERS

Page 4: Avoiding the Pitfalls of Capitalizing Software in an Agile World

44

When the business is ready to move forward...

Page 5: Avoiding the Pitfalls of Capitalizing Software in an Agile World

55

When the business is ready to move forward...

…Don’t forget to include Finance & Accounting…

Page 6: Avoiding the Pitfalls of Capitalizing Software in an Agile World

66

…Or they could block you

Page 7: Avoiding the Pitfalls of Capitalizing Software in an Agile World

7

PAUL ARGIRY, CPA

1987 1992 2000 2007 2016

Page 8: Avoiding the Pitfalls of Capitalizing Software in an Agile World

88

• Accounting for Software Development Costs

• Methods to Track Costs

• Table Exercise – Time vs. Story Points

• Amortization

• Impact of the Cloud

• “20% Limit”

• Capitalization Opportunity

WHAT WE’LL COVER TODAY

Page 9: Avoiding the Pitfalls of Capitalizing Software in an Agile World

S O F T W A R E D E V E L O P M E N T

Page 10: Avoiding the Pitfalls of Capitalizing Software in an Agile World

1010

1. We’ve done capitalization under waterfall for decades – what happens under agile?

2. With the constant deployment of software and continual changes everything is expensed, right?

3. How would we track these costs within an agile environment -must be different?

COMMON QUESTIONS

Page 11: Avoiding the Pitfalls of Capitalizing Software in an Agile World

C A P I T A L I Z A T I O N

Page 12: Avoiding the Pitfalls of Capitalizing Software in an Agile World

1212

TYPES OF CAPITALIZATION

ASC 350-40 SOP 98-1

ASC 985-20FASB 86

SOFTWARE TO BE SOLD, LEASED OR MARKETED

INTERNAL-USE SOFTWARE

Page 13: Avoiding the Pitfalls of Capitalizing Software in an Agile World

13

PRELIMINARYPROJECT STAGE

APPLICATIONDEVELOPMENT STAGE

POST-IMPLEMENTATION OPERATION STAGE

Costs expensed as incurredMost costs capitalized as

incurredCosts expensed as incurred

Conceptual formulation of alternatives & requirements

Design of chosen path, including software configuration and interfaces

Deployment

Evaluation of alternatives Coding Training

Determination of existence of needed technology

Installation of hardware Application maintenance

Final selection of alternativesTesting - including parallel processing phase

Support

DEVELOPMENT STAGES

Page 14: Avoiding the Pitfalls of Capitalizing Software in an Agile World

14

• Preliminary Stage completed

• Management authorizes & commits to funding

• Probable project will be completed & software used as intended

CAPITALIZATION PERIOD

BEGIN END

• Computer software substantially complete

• Ready for intended use

• After all substantial testing completed

Page 15: Avoiding the Pitfalls of Capitalizing Software in an Agile World

15

• Preliminary Stage completed

• Management authorizes & commits to funding

• Probable project will be completed & software used as intended

CAPITALIZATION PERIOD

BEGIN END

• Computer software substantially complete

• Ready for intended use

• After all substantial testing completed

Page 16: Avoiding the Pitfalls of Capitalizing Software in an Agile World

16W A T E R F A L L A L I G N S N I C E L Y W I T H

A C C O U N T I N G G U I D A N C E

PRELIMIN ARY PROJECT

APPLICATION DEVELOPMEN T

POST-IMPLEMENTATION OPE RATION

REQUIREMENTS

ANALYSIS

CODING

VERIFICATION

DEPLOYMENT

MAINTENANCE

Page 17: Avoiding the Pitfalls of Capitalizing Software in an Agile World

17

Transitioning to agile is not problematic because:

• It is the nature of the cost, not entirely timing of their occurrence, that matters

• These do not change under either software development model – waterfall or agile

• Tracking of activities is key for capitalization

• Preliminary Project Stage must be completed

NATURE OF COST IS KEY

Page 18: Avoiding the Pitfalls of Capitalizing Software in an Agile World

18N A T U R E O F C O S T S , N O T T I M I N G ,

I S M O S T I M P O R T A N T W I T H I N A G I L E

PRELIMIN ARY PROJECT

APPLICATION DEVELOPMEN T

POST-IMPLEMENTATION

OPE RATION

CONCEPTUAL FORMATION & EVALUATION DEPLOYMENT & MAINTENANCE

2-week sprint

2-week sprint

2-week sprint

DESIGN AND CODING

Expense as incurred Expense as incurredMost costs capitalized as incurred

Page 19: Avoiding the Pitfalls of Capitalizing Software in an Agile World

1919

EXPENSE STAGE

Overhead & administrative support All Stages

Determine business, performance & systemrequirements

Preliminary

Create business process & IT solution proposal Preliminary

Business process re-engineering Preliminary

Create project proposal Preliminary

Complete business case Preliminary

Establish project team & management Preliminary

Strategic decisions allocating resources Preliminary

Develop project schedule Preliminary

Host project kick off meeting Preliminary

Create & deliver user training Dev & Post-Implement

Perform data conversion Development

Deploy solution Post-Implementation

Activate & transition Go-Live support team Post-Implementation

Monitor solution performance & metrics Post-Implementation

Maintenance Post-Implementation

Bug fixes Post-Implementation

Determine final project costs Post-Implementation

E X P E N S E D I T E M SInternal-Use Software

Page 20: Avoiding the Pitfalls of Capitalizing Software in an Agile World

2020

CAPITALIZE STAGE

Software licenses including conversion software Any stage

Design requirements and document processes Development

Define interfaces, conversions & enhancements Development

Install technical development environment Development

Test performance Development

Conduct readiness review Development

Finalize end-to-end test plan Development

Coding & Development Development

Install hardware Development

Sprint Planning Development

Retrospectives Development

Complete user-acceptance testing Development

Perform stress testing Development

Complete final deployment plan Development

Travel for consultants & internal employees Development

C A P I T A L I Z E D I T E M SInternal-Use Software

Page 21: Avoiding the Pitfalls of Capitalizing Software in an Agile World

21

Expense as R&D

• Planning

• Designing

• Coding

• Testing

CAPITALIZATION PERIOD

BEGINDEVELOPMENT

TECHNOLOGICALFEASIBILITY

GENERAL RELEASE

Capitalize: Costs must be recoverable

• Overhead is Capitalizable

• G&A still expensed

Expense all subsequent costs

• Maintenance

• Customer Support

Page 22: Avoiding the Pitfalls of Capitalizing Software in an Agile World

2222

Ensure High-Risk development issues:

- Novel- Unique- Unproven functions/features

Have been resolved via coding and testing before capitalizing costs

AVOID THIS PITFALL WITHIN TECHNOLOGICAL FEASIBILITY

Page 23: Avoiding the Pitfalls of Capitalizing Software in an Agile World

M E T H O D S T O T R A C K C O S T S

Page 24: Avoiding the Pitfalls of Capitalizing Software in an Agile World

2424

METHODS TO TRACK COSTS FOR CAPITALIZATION

Each team member submits time into a time tracking

system

TIME

Scrum story points are used to capitalize costs incurred by

the entire team

STORY POINTS

Page 25: Avoiding the Pitfalls of Capitalizing Software in an Agile World

T A B L E G R O U PE X E R C I S E

Page 26: Avoiding the Pitfalls of Capitalizing Software in an Agile World

2626

TRACKING COSTS PROS & CONS

TIME STORY POINTS

PRO

SC

ON

S

Align with current practices

Should be intuitive for employees to understand

Potentially higher correlation with team’s effort à so more stories/features completed = higher capitalization

Data naturally captured within scrum

Impacts productivity if done accurately à counter to agile & scrum

Inaccurate if done fast to avoid impacting productivity

Story points are subjective for each team so aligning consistency may prove challenging

Overall use of story points based on estimation which auditors may frown upon

Page 27: Avoiding the Pitfalls of Capitalizing Software in an Agile World

2727

39%

Source: 2013 Electric Cloud Surveyof 1,146 respondents

Idle & Admin time

Page 28: Avoiding the Pitfalls of Capitalizing Software in an Agile World

A M O R T I Z A T I O N

Page 29: Avoiding the Pitfalls of Capitalizing Software in an Agile World

29

AMORTIZATION

Preliminary Stage completed

Management authorizes & commits to funding

Probable project will be completed & software used as intended

CAPITALIZATION BEGINS

CAPITALIZATION ENDS

• Computer software substantially complete

• Ready for intended use

• After all substantial testing completed

Amortization begins when:

• Software is ready for intended use

• All substantial testing completed

• Amortization begins regardless software placed in service in planned stages

• For dependent modules needed to function, amortization begins when both that module and dependent modules are ready for their intended use

• Amortized over estimated useful life (e.g. 4 years)

AMORTIZATION PERIOD

Page 30: Avoiding the Pitfalls of Capitalizing Software in an Agile World

30

AMORTIZATION PERIOD OPTIONS

• Capitalize software at each specific sprint and amortize immediately

• Given overall project has one defined useful life, subsequent capitalization and amortization over remaininguseful life

• Assume 4-year useful life:• 1st sprint amortized over 48

months• 2nd release over 47 months• 3rd release over 46 months, etc.

EACH SPRINT

• Software deployed in larger Epics (i.e. every 4-6 months)

• Capitalized and amortized based on that specific Epic and its related useful life of 4 years

• Subsequent Epic would start anew with its own useful life - could be 3, 4 or 5 years

EACH EPIC

Page 31: Avoiding the Pitfalls of Capitalizing Software in an Agile World

3131

AMORTIZATION

PRELIMIN ARY PROJECT

APPLICATION DEVELOPMEN T

POST-IMPLEMENTATION

OPE RATION

CONCEPTUAL FORMATION & EVALUATION DEPLOYMENT & MAINTENANCE

2-week sprint

2-week sprint

2-week sprint

DESIGN AND CODING

Amortization PeriodCapitalization

Page 32: Avoiding the Pitfalls of Capitalizing Software in an Agile World

32

• Amortized on a product by product basis

• Starts when product available for General Release

• Based on ratio of current software revenue compared to total expected revenue over software life

• Regular impairment tests à Write down to Net Realizable Value

AMORTIZATION

Page 33: Avoiding the Pitfalls of Capitalizing Software in an Agile World

3333

SOFTWARE DEVELOPMENT COSTS

INTERNAL USE(ASC 350-40)

TO BE SOLD(ASC 985-20)

Begin Capitalization

• Preliminary project stage complete

• Management authorizes and commits funding; and

• Probable project will be complete

• Technological feasibility reached; and

• Costs are recoverable

End Capitalization

• Testing substantially completed and software ready for intended use; or

• Unlikely project will be completed

• Available for General Release

Amortization • Systematic over useful life

• Proportion of software generated revenue compared to total revenue expected over software life

Page 34: Avoiding the Pitfalls of Capitalizing Software in an Agile World

3434

EXPANDING CLOUD WORKLOADS

Page 35: Avoiding the Pitfalls of Capitalizing Software in an Agile World

3535

DIGITAL TRANSFORMATION

Source: MIT Center for Digital Business

HIGHER MARKET VALUATIONMORE PROFITABLE

26% 12%

Page 36: Avoiding the Pitfalls of Capitalizing Software in an Agile World

3636

One Third

“TRANSFORM OR PERISH”

Source: IDC’s “FutureScape: Worldwide CIO Agenda 2016 Predictions”

Top 20 Companies in Industry Segments

Page 37: Avoiding the Pitfalls of Capitalizing Software in an Agile World

3737

Within the Cloud - Software Capitalization:

• “Software To Be Sold” accounting if:

1. Take possession of software, and

2. Run in another hosted environment - without incurring a significant penalty

• If not both = “Internal-Use Software”

Plan Ahead - “Trial & Error” of developing solution expensed if both conditions met under “Software To Be Sold” à otherwise capitalize costs under “Internal-Use”

THINK BEFORE YOU LEAP…

Page 38: Avoiding the Pitfalls of Capitalizing Software in an Agile World

3838

Source: Gartner’s “Opex vs. Capex: CIOs Should Partner with CFOs” May 21, 2015

IT Budgets should limit depreciation and amortization to 20% of total IT spend

Page 39: Avoiding the Pitfalls of Capitalizing Software in an Agile World

C A P I T A L I Z A T I O N O P P O R T U N I T Y

Page 40: Avoiding the Pitfalls of Capitalizing Software in an Agile World

4040

• Business Transformation

• Balance Mode 1 and Mode 2

• Change From Project Based to Product Based

• Reduce / Remove Impediments & Admin Burden

Desired Result =

Increased Cap Rate & Lower Overall Dev Costs

KEY CONSIDERATIONS

Page 41: Avoiding the Pitfalls of Capitalizing Software in an Agile World

Q U E S T I O N S ?