DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

15
October, 2014 Project Labor Cost Accounting for Agile Projects Disclaimer: This document does not offer specific accounting advice, but represents a practical and viable Agile Accounting approach to capitalizing agile project labor costs that is in practice at a number of major US corporations. However, each project is unique and company policies may differ. Please consult with your technical accounting, financial reporting and internal audit staff to review relative to your internal capitalization policies.

description

Pat Reed, Principal Consultant, iHoriz, Inc. Accurate Accounting of Project Labor Cost (Capitalization vs. Expensing) on Agile projects and product development continues to be a source of confusion, waste and risk; and remains a blocker to Enterprise Agile Adoption. A myriad of associated risks (impacting Software Development and Dev Ops) include: Loss of material benefits of utilizing the an Agile methodology (increasing the cost and risk of software development) Blocking large scale and enterprise adoption of Agile and residual benefits Creating inconsistencies in interpretation of project cost accounting and defeating FASB’s original intent of generating an accounting standard to protect investor confidence Increasing the risk of over-expensing software development costs that should be capitalized Increasing the risk of false audit findings and possible mis-reporting of financial statements Limiting organizations and industry from fully adopting and leveraging the benefits of an Agile Software Development Methodology Possible taxation increases, higher volatility in Profit and Loss (P&L) statements and unnecessary manual tracking of programmer and Dev Op hours Inappropriately expensing Dev Ops and possibly causing unnecessary and inappropriate timetracking Missed opportunities for innovation and automation This workshop offers a practical solution that provides clear guidance to ensure that organizations understand Agile project cost accounting and consistently and appropriately account for corporate investment in software and automation. We’ll start with a quick review of the problem and define acceptance tests and success metrics consistent with accepted government accounting standards and collectively (or in small working groups) share ideas and design a framework; applying critical thinking tools – (Mental models and Ladders of Inference to increase our understanding of how we think; and challenge mental models to effectively solve problems. Learning Outcomes from the workshop have potential to be extensible to address related challenges of internal and external audits and remediation of findings; Sarbanes Oxley and General Computer Controls compliance; Regulatory Industry Compliance, etc.

Transcript of DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

Page 1: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

October, 2014

Project Labor Cost

Accounting for

Agile Projects

Disclaimer: This document does not offer specific accounting advice, but represents a practical

and viable Agile Accounting approach to capitalizing agile project labor costs that is in practice at

a number of major US corporations. However, each project is unique and company policies may

differ. Please consult with your technical accounting, financial reporting and internal audit staff to

review relative to your internal capitalization policies.

Page 2: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

Goals

Objective: to clarify and operationalize

capitalization rules for Agile projects through

defining agile project accounting stages, with an

interpretive focus on work and deliverables as

outlined in SOP 98-1 and ASC 350-40. A

measure of success will be understand Agile

Capitalization sufficient to implement a solution

that is accurate, simple, and easy to interpret,

control and audit; and increases reporting

accuracy and consistency across and reduces the

risk of expensing costs that should be capitalized.

http://www.agilealliance.org/programs/agile-accounting-standard-program/

Page 3: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

What Are the Guidelines?

Three stages of an IT project:

•Preliminary Stage – Costs must be

expensed

•Application Development Stage – Most

costs should be capitalized

•Post Implementation Stage – Costs

must be expensed

Page 4: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

Analysis

Design

Project Release Plan

Release N Release N+1

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Dev.QA

Release N+2

Dev.QA

Scheduled release

Iteration

Scheduled release

Scheduled release

Iteration

Scheduled milestone

Scheduled milestone

Agile Development LifeCycle

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Analysis

Design

Problem: analysis, design, development and testing is

continuously repeated and intertwined throughout each iteration

© ThoughtWorks, 2006

Page 5: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

When within the project do we capitalize?

Expense Only Capital and Expense

Quick StartTreatment & Pre-

project tasksDesign

StormingIt 0

It 1 Project

Stages

Cost

allocation

Preliminary Project Application Development

What How

• The Preliminary Project Stage: “What“ (Ends In Inception at the beginning of

Design Storming)

• The Development Stage: “How “ (Starts with Design Storming)

• The Post Implementation Stage: “When” (Begins 72 hours after the last

production implementation, when final user acceptance testing and OPs support or

maintenance handoff is complete)

Releases

Final set of

stories

deployed.

Expense

72 Hrs

Inception

Post

Implementation

Capitalization Begins Capitalization Ends

Release

It 2

ReleaseRelease Release Release Release

It nIt 3 It 4

Page 6: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

When can project labor be capitalized?

• Expectation that the project will be completed and the

software will be used to perform the function intended.

• New or upgraded software functionality is being

developed.

• There is a high probability that the project can be

accomplished

• The Preliminary project stage is completed.

• Management, with the relevant authority, authorizes

and commits to funding.

Page 7: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

Here’s What I’d Like Help On

Confidential - Do Not Distribute or Copy

Hearing from you:

1. If you have a success story to share about Agile

Accounting, Compliance or Controls

2. If you need help or have questions in any of

these areas

Page 9: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

FAQ’s

8

Confidential - Do Not Distribute or Copy

Page 10: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

Simple Rules

1. The nature of work performed in the Preliminary and Post Implementation phases

is primarily Expense

2. The nature of work in the Development Phase determines whether it will be

Capitalized or Expensed: Expense vs. CapitalizationWhat How

People or Process-Centric Asset-Centric

Administrative Technical

Support Decision-Authority

Discretionary/Supplemental Asset-Critical

3. Decision tree:IF

Minimum expected life of 3 years beneficial use

New software functionality

AND

Completion of preliminary (expense) phase with e-mail from management authorized with appropriate spending

authority to fund project as evidence of readiness for design storming (triggering the development/capitalization

phase)

AND

High probability that the product will be completed as planned

Work effort is directly related to asset /product design, development, testing or implementation/integration (except for

administration, overhead, training and data conversion costs)

CAPITALIZE

ELSE

Expense

Page 11: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

10

Preliminary Project Stage

Costs incurred during the preliminary project stage should be expensed as incurred.

Examples of activities that are completed in the Preliminary Project Stage:• Strategic decisions are made to allocated resources to initiate the project• High level performance and systems requirements have been determined• Vendors have demonstrated how their software will fulfill requirements (if a vendor

or package solution is being considered)• Alternative means of achieving specified performance requirements have been

explored (i.e. buy vs. build)• A vendor or consultant has been selected (if appropriate)

For Agile Projects: When the project team has completed feasibility analysis and developed high level “epic stories” and is ready to move on to explore “How” the project will be iteratively designed and developed, the preliminary project stage is complete (previously labeled design storming). This clear bright line marks the project funding, initiation and beginning of capital work.

The preliminary project stage is any time on the project conducting feasibility

and preliminary requirements analysis (“What”) before the project funding is

approved by management with appropriate spending authority

Page 12: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

11

Development Stage

Tasks that can be capitalized are:

Designing the chosen path, including software configuration and software interfaces

Coding – Development and testing

Purchase and Installation of hardware or packaged software

Testing, including parallel processing

Examples of costs that do not qualify for capital treatment during this stage include:

Training costs

Data conversion. However, the building of data conversion programs can be

capitalized. The time needed to do the actual data conversion is expensed.

General and administrative costs and overhead costs.

The application development stage is completed after final user acceptance testing in

production. At this stage, monitoring and support is typically transitioned to site ops,

(usually 72 hours after deployment to production).

This is when the project has been deemed “substantially complete and ready for use”.

Project costs incurred to develop internal use computer software during the

application development stage should be capitalized or expensed, depending

on the nature of the tasks.

Page 13: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

12

Development Stage

Additional details of capitalizable costs include:

Fees paid to third parties for services provided to develop the software

during the application development stage.

Short-term leases and service agreements for the provision of third-party

owned infrastructure such as hardware, system software and middleware

software which are necessary to support the application software

development.

The cost of internal and external labor which is directly associated with

development (design, build, test)

Third-party infrastructure costs incurred to obtain computer software from

third parties.

Refinement of requirements that is performed as part of the

development/creation of detailed use cases or stories. (Use cases have a

lifecycle and they evolve as they transform and mature from initial discovery

in the preliminary project stage (which should be expensed) to more detailed

definition and eventually to user acceptance in the application development

stage (which should be capitalized).

Costs to develop or obtain software that allows for access or conversion of

old data by new systems.

Page 14: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

13

Post Implementation Stage

The post-implementation stage includes deployment

support, training and evaluation. Internal and external

project costs incurred during this stage should be

expensed as incurred.

The post-implementation stage includes:

· Completing documentation on procedures.

· Conducting formal training.

· Certifying the operational system.

· Preparing for post-implementation review.

· Collecting project data and analyzing process data.

· Conducting facilitated process review.

· Routine “maintenance” activities, including fixing

regression bugs, routine security reviews, refactoring code

Page 15: DOES14 - Pat Reed - Project Labor Cost Accounting for Agile Projects

What is a Capital Asset?

"Capital Assets“ are tangible or intangible assets having significant

value that are used in operations and that have initial useful lives

extending beyond a fiscal year.”

By capitalizing in the year of purchase/development and depreciating

over an asset’s useful life, revenues earned from the investment are

matched to the expenses (depreciation) generating them. For IT

projects, 3 years is typically used.

High level guidelines are found in Statement of Position 98-1:

Accounting for the Costs of Computer Software Developed or

Obtained for Internal Use, which is part of the GAAP (Generally

Accepted Accounting Principals) standards.