Het niet uitvoeren van deze initiële actie kan het moeilijk maken om de kosten correct te scheiden tussen de kosten die moeten worden gekapitaliseerd en de kosten die moeten worden uitgegeven. Dit kan leiden tot fouten in de toepassing van GAAP evenals fouten in het bedrag van de netto-inkomsten of verlies entiteiten rapporteren., Dit artikel is bedoeld om lezers te helpen deze vraag te beantwoorden: welke softwarekosten moeten worden gekapitaliseerd en welke kosten moeten worden geboekt wanneer een entiteit software voor extern gebruik bouwt met behulp van een agile ontwikkelomgeving?
de trend naar agile ontwikkeling
De softwareontwikkelingsmethode bekend als agile is de laatste jaren populair geworden in de software-industrie., Omdat de agile aanpak (zie de grafiek “Agile Approach”) algemeen wordt gezien als sneller en beter reageert op snel veranderende eisen, gebruiken veel bedrijven deze aanpak nu als een voorkeursalternatief voor de traditionele watervalontwikkelingsaanpak.
de conventionele aanpak voor de ontwikkeling van watervallen omvat het organiseren van een project in een reeks traditionele fasen, zoals conceptie, initiatie, analyse, ontwerp, constructie, testen, productie en implementatie, en onderhoud., Deze fasen worden gekenmerkt door activiteiten, die in de richtsnoeren als kader worden gebruikt om een conclusie te trekken over wanneer technologische haalbaarheid is bereikt en de kosten van softwareontwikkelingsprojecten kunnen worden gekapitaliseerd.
in een agile model daarentegen wordt een project georganiseerd in afzonderlijke modules, en het ontwikkelings-en testwerk op deze modules wordt gedaan in korte sprints., Het identificeren van wanneer de traditionele activiteiten van de waterval aanpak optreden vereist significante analyse en oordeel in agile ontwikkeling, die het moeilijker kan maken om gaap begeleiding toe te passen voor het kapitaliseren van uitgaven.
uiteindelijk kunnen zowel de agile-als waterfall-modellen een succesvol project opleveren; echter, het bepalen van het punt in het softwareontwikkelingsproces om de kapitalisatiekosten te beginnen en te beëindigen kan met het agile-model een grotere uitdaging zijn.,
2 sets software capitalization rules
als uitgangspunt om de kosten voor softwareontwikkeling op de juiste manier te kapitaliseren, is het belangrijk om de juiste leidraad te bepalen. Onder de Amerikaanse GAAP kunnen twee potentiële sets van belangrijke regels van toepassing zijn bij het bepalen of softwareontwikkelingskosten moeten worden gekapitaliseerd of uitgegeven.
Eén set regels (FASB Accounting Standards Codification (ASC) Topic 985, Software) is ontworpen voor softwarekosten die de entiteit voornemens is te verkopen of te leasen., Deze regels, meestal aangeduid als de software kapitalisatie regels voor extern gebruik software, zijn de primaire focus van dit artikel. De overige regels (ASC Topic 350, immateriële activa — Goodwill en overige) hebben betrekking op software die de entiteit niet van plan is te verkopen of te leasen. Deze regels worden vaak aangeduid als de software kapitalisatie regels voor intern gebruik software.
Het is belangrijk op te merken dat de drempel voor hoofdletters lager is voor intern gebruik., Onder de internal-use software rules kunnen ontwikkelingskosten over het algemeen worden gekapitaliseerd na het einde van de voorbereidende projectfase. De drempel voor softwareontwikkelingskosten voor externe verkoop of licenties-de focus van dit artikel — is strenger, wat betekent dat er meer analyse nodig is om te bepalen welke ontwikkelingskosten moeten worden gekapitaliseerd.
wanneer GAAP en agile
onder onderwerp 985 niet op elkaar aansluiten, draait de cruciale kwestie bij het bepalen of de kosten voor softwareontwikkeling voor extern gebruik moeten worden gekapitaliseerd om de term “technologische haalbaarheid”.,”Alle softwareontwikkelingskosten die zijn gemaakt vóór het punt waar het project technologische haalbaarheid heeft aangetoond, moeten worden besteed zoals ze zijn gemaakt.
zodra de technologische haalbaarheid is vastgesteld, kunnen de meeste (maar niet alle) ontwikkelingskosten worden gekapitaliseerd. Tot slot, zodra de ontwikkeling is voltooid en de software beschikbaar is gemaakt voor release aan klanten, is kapitalisatie niet langer geschikt omdat eventuele resterende kosten worden beschouwd als doorlopend onderhoud en ondersteuning. Deze kosten moeten altijd worden gedragen zoals ze zijn gemaakt.,
de definitie van” technologische haalbaarheid ” is daarom de cruciale factor om te bepalen wanneer een bedrijf moet beginnen met het kapitaliseren van zijn ontwikkelingskosten. Onderwerp 985 zegt: “de technologische haalbaarheid van een computer software product wordt vastgesteld wanneer de entiteit alle planning, ontwerpen, coderen en testen activiteiten die nodig zijn om vast te stellen dat het product kan worden geproduceerd om te voldoen aan de ontwerpspecificaties, waaronder Functies, Functies en technische prestatie-eisen heeft voltooid.,”Het is ook belangrijk op te merken dat software ontwikkeling kosten zijn onderworpen aan deze regels, ongeacht of de kosten werden gegenereerd intern (zoals werknemer tijd) of extern (zoals vendor fees).
bij conventionele softwareontwikkelingsprojecten met welomschreven opeenvolgende fasen wordt de technologische haalbaarheid in het algemeen aangetoond door een gedetailleerd programmaontwerp of, wanneer een gedetailleerd programmaontwerp ontbreekt, een werkend model dat klaar is voor testen door de klant. Dit zijn bekende mijlpalen voor projecten die gebruik maken van de watervalbenadering.,
in een agile projectomgeving worden individuele functies en functies echter afzonderlijk ontwikkeld in een reeks sprints. Elke sprint of module is voorzien, gepland, gefinancierd, ontwikkeld en getest individueel worden opgenomen in het totale project wanneer klaar.
in een dergelijke omgeving zijn uitgebreide programmaontwerpen of werkmodellen vaak onpraktisch of irrelevant., Bedrijven die een agile aanpak gebruiken om software te ontwikkelen, kunnen ten onrechte concluderen dat de technologische haalbaarheid niet significant is voldaan voordat de software-verbetering beschikbaar is voor klanten, wat resulteert in kosten die worden uitgegeven als gemaakt in plaats van te worden gekapitaliseerd. Als aanzienlijke kosten ontstaan tussen het moment waarop de technologische haalbaarheid daadwerkelijk werd bereikt en het moment waarop de software beschikbaar is voor klanten, kan de resulterende boekhouding inconsistent zijn met GAAP.,
GAAP toepassen in een agile omgeving
hoewel de huidige GAAP-richtlijnen voor software voor extern gebruik niet zijn afgestemd op de agile omgeving, betekent dit niet dat agile ontwikkelingskosten helemaal niet kunnen worden gekapitaliseerd. Er zijn immers verschillende niveaus van behendigheid. Terwijl een puur agile project zou kunnen beginnen met slechts een idee en relatief weinig ontwerpwerk, sommige agile projecten hebben gedetailleerde programma ontwerpen met diepgaande storyboarding, markt acceptatie studies, en andere ontwerp werkdocumenten samen voordat de werkelijke ontwikkeling begint., Dergelijke documenten kunnen worden gebruikt om de technologische haalbaarheid te helpen beoordelen.
het cruciale punt om te onthouden is dat om de kosten te kunnen beoordelen die moeten worden gekapitaliseerd, er voldoende projectplanning moet zijn om aan te tonen dat aan de criteria voor een “gedetailleerd programmaontwerp” is voldaan. Het risico bestaat dat projectteams niet voldoende front-end planning doen of voldoende documentatie bewaren om aan te tonen dat ze deze drempel hebben gehaald., Het aantonen van de technologische haalbaarheid zal waarschijnlijk vereisen dat het projectteam meer planning doet en meer documentatie samenstelt dan gebruikelijk is in de meeste agile projecten.
andere belangrijke overwegingen bij het bepalen van de technologische haalbaarheid hebben betrekking op ontwikkelingskenmerken met een hoog risico. Bijvoorbeeld, is het project een volledig nieuw softwareplatform, of is het een verbetering of re-creatie van iets dat eerder is gedaan? Ontwikkelt het bedrijf software van de grond af, of knutselt het verschillende softwarecomponenten samen die al bestaan?, Risicovolle ontwikkelingskenmerken kunnen aanvullende analyse vereisen van wanneer technologische haalbaarheid is bereikt en, in sommige gevallen, de uitgaven van eerder gekapitaliseerde kosten.
productverbeteringen die niet als onderhoudsactiviteiten worden beschouwd, kunnen soms gemakkelijker aan de technologische haalbaarheidsdrempel voldoen omdat de ontwikkelaars functies toevoegen aan een reeds succesvol product. Beslissende factoren in dergelijke gevallen zijn onder meer het type software, het vereiste niveau van aanpassing en het niveau van ontwerpwerk dat vóór de start van de ontwikkeling werd voltooid.,
zelfs wanneer technologische haalbaarheid is vastgesteld, kunnen niet alle agile ontwikkelingskosten worden gekapitaliseerd. In de meeste gevallen kan slechts een deel van de kosten in elke sprint worden gekapitaliseerd. De kosten die niet moeten worden gekapitaliseerd omvatten upfront analyse, kennisverwerving, initiële projectplanning, prototyping, en vergelijkbaar ontwerp werk dat moet worden gedaan om een begrip van de gewenste functies en haalbaarheid van het product te bereiken.
maar een groot deel van de kosten die worden gemaakt om dergelijke kenmerken te ontwikkelen en te testen, moet vaak worden gekapitaliseerd als technologische haalbaarheid wordt bereikt., Deze kosten omvatten de werkelijke codering, testen, en de bijbehorende arbeidskosten.
Houd er echter rekening mee dat alle onderhoudsgerelateerde of foutcorrectiekosten die tijdens de sprint worden gemaakt, mogelijk moeten worden uitgegeven in plaats van gekapitaliseerd, aangezien veel activiteiten tijdens de sprint niet coderen en testen zijn, maar activiteiten kunnen zijn zoals probleemoplossing en ontdekking. Bovendien eindigt de kapitalisatie zodra het project is voltooid en de software klaar is voor gebruik.,
een onderscheid maken tussen kosten die kunnen worden gekapitaliseerd en kosten die niet kunnen worden gekapitaliseerd kan de Project accounting, rapportage en documentatie stappen binnen elke sprint enigszins compliceren. Maar het extra administratieve werk hoeft niet omslachtig te zijn. In de meeste gevallen kunnen de verschillende taken en deliverables binnen elke sprint worden gesegmenteerd in brede categorieën, zodat alle kosten verbonden aan die taak kunnen worden uitgegeven of gekapitaliseerd.,
voorbereiding en communicatie: de kritische stappen
bepalen welke kosten voor de ontwikkeling van software voor extern gebruik kunnen worden gekapitaliseerd in een agile projectomgeving vereist een zekere mate van inschatting. In veel gevallen zullen de specifieke feiten en omstandigheden rond het soort software dat wordt ontwikkeld, de behandeling van de kosten bepalen. Zorgvuldige planning kan helpen bij de analyse van welke kosten te kapitaliseren versus kosten.,
om deze reden is het meestal raadzaam om de boekhoudkundige behandeling te bespreken met het projectmanagementteam en deskundigen op het gebied van onderwerpen voordat een groot ontwikkelingsproject wordt gestart. Het is ook belangrijk om vanaf het begin van een project het niveau van steun en documentatie te begrijpen dat nodig zal zijn om de juiste beslissingen over de kapitalisatie van kosten mogelijk te maken. Daarnaast is een duidelijk inzicht vereist van het niveau van documentatie dat moet worden gehandhaafd voor auditors om de kapitalisatie-en uitgavenbeslissingen te evalueren en te bevestigen.,
bijvoorbeeld, het projectteam moet de rol van elke persoon in het project grondig documenteren, zodat de boekhouding een onderscheid kan maken tussen personen wier tijd en activiteiten mogelijk onderhevig zouden kunnen zijn aan kapitalisatie en degenen wier activiteiten nooit in deze categorie zouden vallen. Het is ook belangrijk om extra interne controles te handhaven, zoals maandelijkse beoordelingen van activiteiten, geactiveerde en uitgeschreven bedragen, en communicatie templates die projectmanagers kunnen invullen om te controleren of de werknemer tijd correct is gecodeerd.,
hoewel de industrie enige discussie heeft gevoerd over het bijwerken van de relevante normen om ze beter toepasbaar te maken op het agile-kader, vergen dergelijke updates doorgaans verscheidene jaren van planning, discussie, voorstellen en feedback van de industrie. Dat betekent dat bedrijven die een agile model gebruiken om software te ontwikkelen voor externe verkoop of licenties, in de nabije toekomst nauw moeten blijven samenwerken met hun boekhoudteams om de bestaande GAAP-richtlijnen toe te passen en de ontwikkelingskosten adequaat te kapitaliseren.
Geef een reactie