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
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
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
44
When the business is ready to move forward...
55
When the business is ready to move forward...
…Don’t forget to include Finance & Accounting…
66
…Or they could block you
7
PAUL ARGIRY, CPA
1987 1992 2000 2007 2016
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
S O F T W A R E D E V E L O P M E N T
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
C A P I T A L I Z A T I O N
1212
TYPES OF CAPITALIZATION
ASC 350-40 SOP 98-1
ASC 985-20FASB 86
SOFTWARE TO BE SOLD, LEASED OR MARKETED
INTERNAL-USE SOFTWARE
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
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
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
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
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
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
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
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
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
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
M E T H O D S T O T R A C K C O S T S
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
T A B L E G R O U PE X E R C I S E
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
2727
39%
Source: 2013 Electric Cloud Surveyof 1,146 respondents
Idle & Admin time
A M O R T I Z A T I O N
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
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
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
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
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
3434
EXPANDING CLOUD WORKLOADS
3535
DIGITAL TRANSFORMATION
Source: MIT Center for Digital Business
HIGHER MARKET VALUATIONMORE PROFITABLE
26% 12%
3636
One Third
“TRANSFORM OR PERISH”
Source: IDC’s “FutureScape: Worldwide CIO Agenda 2016 Predictions”
Top 20 Companies in Industry Segments
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…
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
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
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
Q U E S T I O N S ?