agile accounting

Post on 08-Apr-2015

658 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Toward Enterprise Agile Scalability

Pat Reed August, 2008

A New Way to Look At Accounting for Agile Software Development Costs

Agenda   Welcome & Session Objectives   Background and SOP 98-1 Guidelines   Problem Statement   Refresher on Agile and Waterfall Comparison   Brainstorm

  Success Metrics   Idea Generation Activity and Discussion

  Testing our Ideas   Ladder of Inference

  Walkthrough Recommended Solution   Detailed Walkthrough by Stage   Review of Key Learnings & Retrospective   Discussion and Q & A   Frequently Asked Questions & Appendices

Session Objectives

  Increase our understanding of how we solve problems

  Increase our understanding of the FASB accounting standards

  Solve a problem on how to apply SOP 98-1 guidelines to Agile projects

  Recommend an Agile Accounting Standard

Background   Historical absence of standard accounting methodologies   Explosive and strategic growth of technology in the 90’s   Recognition that internal software investments have significant

future benefits and should be capitalized accordingly   Mandatory accounting guidelines require all organizations to

better define, standardize and report internal IT development costs

  Guidelines were designed around a phased, waterfall based IT investment model where IT projects are delivered in discrete, time boxed phases

  As organizations adopt Agile development and delivery models, they may encounter inherent constraints and points of friction with legacy accounting practices and policies

  Before Agile can scale as the primary mode of developing software, this accounting issue needs more clarification and an Agile software and project accounting practice needs to be developed.

What Are the Key SOP 98-1 Guidelines?   Mandatory guidelines published in 1998 prescribing how all organizations must capitalize or expense internal IT projects based on project stage and type of work.

  Identifies three stages of an IT project and whether the costs incurred in each should be classified as expense or capital. In general:   Preliminary Stage – Costs must be expensed   Application Development Stage – Most costs should be capitalized   Post Implementation Stage – Costs must be expensed

  Capitalization begins when (a) the preliminary project stage is completed and (b) management, with the relevant authority, implicitly or explicitly authorized and commits to funding a computer software project and it is probable that the project will be completed and the software will be used to perform the function intended.

  Capitalization ends no later than the point at which a computer software project is substantially complete and ready for its intended use.

What’s The Problem?   To ensure compliance, IT managers must now estimate, allocate, track and

report labor costs to internal IT projects based on project work done in three specific phases: Preliminary, Development and Post Implementation

  Organizations utilizing a traditional waterfall model can readily adapt their labor and project costing to the guidelines using the following framework:

Preliminary - - - - - - - - Development - - - - - - - - - - - - - Post Implementation - -

Effort

Time3months

Waterfall Methodology

Effort

Time

Iteration123456

Agile Methodology

3 months

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 Roadmap

Analysis Design

Analysis Design

Analysis Design

Analysis Design

Analysis Design

Analysis Design

Analysis Design

Analysis Design

Analysis Design

Analysis Design

Analysis Design

How can organizations who have adopted an Agile or iterative development model ensure compliance and accurately estimate, allocate and track labor costs to IT projects based on project work done in three specific phases when analysis, design, development and QA work is continuously repeated and intertwined throughout each iteration?

© ThoughtWorks, 2006

Brainstorm

Success Metrics   Define a Standard Accounting Practice for Agile Project

Costing that is:   Defensible (effectively addresses the guidelines)   Auditable   Scalable (all projects, programs, portfolio, enterprise)   Agile in nature:

  Easy to implement (light touch)   Easy to interpret (clear bright lines and simple rules)   Easy to administer (open informaiton)   Reduces waste (people above processes)   Efficient (value focus)

  Reduce the risk of over-expensing project costs   Reduce the risk of audit findings

Ideas . . .

Activity

Discussion

Activity

Possible Solutions…. Most organizations fall into the trap of over-engineering a solution and ask every team member to meticulously track every hour spent on analysis vs. design vs. development work throughout each day and iteration

This approach adds significant waste and provides neither an auditable or sustainable solution.

Other Ideas? Source: http://www.systems-thinking.org/loi/loi.htm

  Reflection   Inquiry   Learn to work the

ladder vs. leaping up the ladder

  Know when to climb down vs. up

Ladder of Inference

Metaphor for our Thinking Process

http://www.actiondesign.com/resources/concepts/ladder_intro.htm Source:

Observable “Data” & experiences

select “data”

add meanings

make assumptions

draw conclusions

adopt beliefs

take actions based on beliefs

“Working” the Ladder

  We are so skilled at thinking that we jump up the ladder without knowing it   Selective Perception   Unaware of our Paradigms   Bottomline: our conclusions feel so obvious to us that

we see no need to retrace the steps we took from the data we selected to the conclusions we reached

  The contexts we are in, our assumptions, and our values channel how we jump up the ladder   Mental models reinforce patterns of selective

perception   So let’s step back one or two rungs on our

ladders of inference and explore another approach

Recommended Approach . . . Step 1: Paradigm shift: let’s suspend our knowledge of the

differences between Agile and Waterfall…..and take a new look at the “waterfall centric” project stage framework through an Agile lens

Step 2: Adopt an Agile Project Stage Framework

Step 3: Standardize on a lightweight process to capture evidence of management authorization and commitment to project funding

Step 4: Apply and adapt this framework to your organization

Agile Project Stages   The Preliminary Project Stage is analogous to research and

development activities, primarily expense and covers the conceptual formulation and evaluation of alternatives, determination of existence of needed technology and final selection of alternatives (The What).

  The Development Stage covers all work related to The How: design of software, configuration and interfaces, coding, retrospectives, installation to hardware, testing (including parallel processing) and all work preparing the software for its intended use.

  Standardize on a clear bright line between the preliminary (what) and the development (how) phases, and capture evidence of management approval (which marks the start of capitalizable work): Design Storming

  Standardize on an equally clear bright line that marks the end of development which concludes when all iterations of the project are complete and the asset is ready for its intended use and placed in service (which includes all deployment work necessary to get the software into production as well as production testing, acceptance and stabilization): 72 hours after production implementation and final user acceptance testing.

Expense vs. Capital

Release

•  Feature 1 •  Feature 2 •  Feature 3

Release N: Theme

Iteration 1 Iteration 2 Iteration 3 Iteration … •  Story 1 •  Story 2

•  Story 3 •  Story 4

•  Story 5 •  Story 6 •  Story 7

•  Story 8 •  Story 9 •  Story 10

R

Backlog Backlog •  Story 1 •  Story 2 •  Story 3 •  Story …

•  Story 11 •  Story 12 •  Story …

Customer Evaluations Quickstart

Inception Deck Treatment

Inception:

Design Storming

Expense

Capital

Walkthrough by Stage

Preliminary Project Costs…   Strategic decisions to allocate resources

between alternative projects   Determining performance requirements (what do

we need the software to do) and high level systems requirements

  Vendor product demonstrations   Exploring alternatives (Buy vs. Build)   Feasibility Analysis   Vendor selection

Stage 1: Project Inception

High Level

Estimated Backlog

Customer Evaluation

Customer Evaluation

Customer Evaluation

Customer Evaluation

© ThoughtWorks, 2006

Clear Bright Line   Critical Success Factor: It’s important to

capture evidence of management authorization (with time and date stamps) to document transition from expense (preliminary phase) to capital (development phase) of the project

  This clearly marks the transition from the “What” to the “How”

  Memorializing and documenting this authorization is critical for future auditability

Stage 2: Development   Most costs should be capitalized:

  Designing the chosen path, including software configuration and software interfaces

  Refinement of requirements (i.e. creation of detailed Use Cases or Stories, which have a lifecycle and evolve as they transform and mature)

  Internal and external labor costs and fees associated with development (design, build, test, implement)

  Costs to develop or obtain software that allows for access or conversion of old data by new systems

  Costs that Should be Expensed Include:   Training and Data Conversion (except as noted above)

Stage 3: Post Implementation

  Another clear bright line: 72 hours after implementation and production acceptance

  Post Implementation (Expense) examples include:   Support turnover and training   Certifying operational system   Post implementation review   Collecting and analyze process data   Ongoing Maintenance   Transformation / process reengineering / workforce restructuring

Key Learnings   Applied some Systems Thinking Concepts to

our mental models, defined our success metrics (and used them to test ideas); explored some ideas on how to solve a sticky accounting problem, gained a better understanding of SOP 98-1 guidelines and proposed a standard accounting practice consistent with Agile principles

  How to “work” the ladder of inference to slow down our thinking processes enough to reflect, look, listen and explore alternatives

Retrospective 1.  What are your observations and thoughts about

today’s session? 2.  What new information was the most impactful for you 3.  What puzzles you about the information presented

today? 4.  What obstacles do you see that could impact your

use of the materials we covered today? 5.  What ideas and recommendations do you have to

share?

Discussion

Q & A

Appendices

FAQ’s And

Reference

Frequently Asked Questions

  What does Capitalization mean?   When costs are capitalized they are recognized as

assets on the balance sheet instead of expenses on the income statement. These costs are depreciated or expensed periodically over the useful life of the asset which helps short term profit.

  What is Useful Life?   Entities will decide useful lives for amortization purposes.

The SOP cautions that internal-use software often has a relatively short useful life, typically 3 to 5 years.

  What are the Accounting Regulations?   All Corporations (private and public) are required to

follow US Generally Accepted Accounting Principles (GAAP)

  Statement of Position 98-1 (SOP 98-1) is the GAAP pronouncement that governs accounting for software developed for internal use (not marketed to others)

  Why is GAAP Important?   GAAP provides for standardized financial reporting

which helps investors make informed decisions about each company (and eliminates inconsistencies in practice across organizations)

FAQ’s

FAQ’s

  What Happens if Corporations Don’t Follow GAAP?   IT management is required to disclose the irregularity to

investors   The outside auditors could determine that financial

statements are not fairly stated which would adversely impact financial statement rating

  Organizations could be required to reclassify capital expenditures as expense

  Who is responsible for compliance with SOP 98-1 and related Software Capitalization Policies?   IT Finance and Portfolio Management are responsible for

monitoring compliance   PM’s are responsible for understanding and adhering to

SOP 98-1   IT management is responsible for ensuring compliance

with SOP 98-1

Expense vs. Capitalize   Development Concept   Business Process Reengineering   Feasibility Analysis   Evaluation of System   Selection of System   High level requirements   Project Management   Overhead Costs   Administrative Support   User Training   Data Conversion   Maintenance   Bug Fixes

  Detailed Analysis (post Design Storming)

  Design Requirements   Physical & Logical Design   Make, Buy or Reuse Decisions   Purchased Software   Coding / Development   Iteration Management   Retrospectives   Integration & Installation   Conversion Software   Testing   Stabilization   Major Functional Enhancements &

Upgrades   Hardware

FAQ’s

  What about PM’s and Management? Can we capitalize those costs?   General and administrative costs and overhead

costs should not be capitalized. They must be expensed as incurred regardless of the project stage to which they belong.

  If a PM or manager is developing the software (e.g. creating code, making development decisions) those costs can be capitalized. If they are providing general oversight, guidance and planning, their costs must be expensed.

FAQ’s

FAQ’s

  What about Business Process Reengineering and IT Transformation?   Costs should be expensed as incurred

  Preparation of RFPs   Current state assessment: The process of

documenting the entity’s current business process, except as it relates to current software structure.

  Process reengineering: The effort to reengineer the entity’s business process to increase efficiency and effectiveness

  Restructuring the workforce: The effort to determine what employee makeup is necessary to operate the reengineered business process

FAQ’s

  What about Upgrades and Enhancements?   Can be capitalized if they meet the following requirements:

  Modification results in additional functionality   The costs are a minimum of $25,000 per project, or the costs

are a minimum of $2,500 per individual item   Generally, IT Finance and Portfolio Management are

responsible for determining whether all or part of the upgrades/enhancements can be capitalized. Often, one part can be capitalized and another must be expensed.

  Labor associated with control enhancements and bug fixes are not considered as upgrades/enhancements and should be expensed as incurred

Useful References   Link to SOP 98-1 document: http://

efile.mpsc.cis.state.mi.us/efile/docs/14201/0031.pdf

  MindTools: http://www.mindtools.com/pages/article/newTMC_91.htm

  FASB - Financial Accounting Standards Board: http://www.fasb.org/st/

Accounting Glossary

  AcSEC – AICPA’s Accounting Standards Executive Committee   SEC – Security and Exchange Committee   EITF – SEC’s Emerging Issues Task Force   GAAP – Generally Accepted Accounting Principles from the

American Institute of Certified Public Accountants (AICPA)   SOP 98-1 – American Institute of Certified Public Accountant’s

Statement of Position Accounting for the cost of Computer Software Developed or Obtained for Internal Use – issued on 2/27/1998 which all non governmental public or private organizations must follow and which are now part of GAAP. SOP 98-1 standardizes how organizations measure and report their investments

Agile Glossary   Quickstart – High level Analysis and Requirements Capture

  Customer Evaluations   Identify customer preferences

  Eliminate bad ideas

  Inception Deck   Charter: Organizational and Departmental Objectives   Business & Technical Outcome Vision (“What” & “How”)   In Scope / Out of Scope and Context Diagram   High Level Risks and Project Approach and Estimates   Stakeholder Agreements   Release Plan and Staffing Plan   Project Organization and Management Structure   Trade Off Sliders

  Treatment   Solution Description and Metrics of Success   High level functionality matrix and impact analysis   Assumptions and Questions   Estimated durations / costs / budget / contingency   High level resource plan

Agile Task Codes

{ Assets

Iteration Project

Lifecycle

01 – Hardware 02 – System Software 03 – Application Software

04 – Analysis in Preliminary Project Phase

05 – Design Storming & Application Software Design 06 – Application Software Construction 07 – Testing through Production / user acceptance

08 – Change Mgmt/Process Reengineering 09 – Data Conversion 10 – Training 12 – Post Implementation 13 – Application Software Maintenance 15 – Leased Equipment 16 – Other Expense 17 – Hardware & System Software Maintenance

CAPITAL

CAPITAL

EXPENSE

EXPENSE

Quickstart

Related Project

Expense

Overcoming An Accounting Obstacle to

Enterprise Agility

Pat_reed@gap.com 415 427-5431

top related