Das Versäumnis, diese anfängliche Maßnahme zu ergreifen, könnte es schwierig machen, die Kosten korrekt zwischen denen zu trennen, die aktiviert werden sollten und denen, die aufgewendet werden sollten. Dies kann zu Fehlern bei der Anwendung von GAAP sowie zu Fehlern in der Höhe des Berichts über Nettoerträge oder Verluste führen., Dieser Artikel soll den Lesern helfen, diese Frage zu beantworten: Welche Softwarekosten sollten aktiviert und welche Kosten sollten aufgewendet werden, wenn ein Unternehmen Software mit externer Nutzung in einer agilen Entwicklungsumgebung erstellt?
Der Trend zur agilen Entwicklung
Die als agile bekannte Softwareentwicklungsmethode ist in der Softwareindustrie in den letzten Jahren populär geworden., Da der agile Ansatz (siehe Diagramm „Agiler Ansatz“) allgemein als schneller und reaktionsfähiger auf sich schnell ändernde Anforderungen angesehen wird, verwenden viele Unternehmen ihn jetzt als bevorzugte Alternative zum traditionellen Wasserfall-Entwicklungsansatz.
Der konventionelle Wasserfall-Entwicklungsansatz beinhaltet die Organisation eines Projekts in einer Reihe traditioneller Phasen wie Konzeption, Initiierung, Analyse, Design, Konstruktion, Test, Produktion und Implementierung sowie Wartung., Diese Phasen sind durch Aktivitäten gekennzeichnet, die der Leitfaden als Rahmen verwendet, um eine Schlussfolgerung darüber zu ziehen, wann die technologische Machbarkeit erreicht und die Projektkosten für die Softwareentwicklung aktiviert werden können.
Unter einem agilen Modell hingegen ist ein Projekt in separate Module gegliedert, und die Entwicklungs-und Testarbeit an diesen Modulen erfolgt in kurzen Sprints., Die Ermittlung, wann die traditionellen Aktivitäten des Wasserfall-Ansatzes auftreten, erfordert eine signifikante Analyse und Beurteilung der agilen Entwicklung, was die Anwendung von GAAP-Leitlinien für die Kapitalisierung von Ausgaben erschweren kann.
Letztendlich können sowohl das agile als auch das Wasserfall-Modell ein erfolgreiches Projekt hervorbringen; Es kann jedoch schwieriger sein, mit dem agilen Modell den Punkt im Softwareentwicklungsprozess zu bestimmen, an dem die Kapitalisierung der Kosten beginnen und enden soll.,
2 Sätze von Software-Kapitalisierungsregeln
Als Ausgangspunkt, um die Softwareentwicklungskosten angemessen zu nutzen, ist es wichtig, die richtige Anleitung zu bestimmen. Unter US GAAP können zwei mögliche Sätze von Hauptregeln gelten, wenn Sie bestimmen, ob Softwareentwicklungskosten aktiviert oder aufgewendet werden sollten.
Ein Regelwerk (FASB Accounting Standards Codification (ASC) Topic 985, Software) ist für Softwarekosten konzipiert, die das Unternehmen verkaufen oder leasen möchte., Diese Regeln, die allgemein als Software-Kapitalisierungsregeln für Software zur externen Verwendung bezeichnet werden, stehen im Mittelpunkt dieses Artikels. Die anderen Regeln (ASC — 350, Immaterielle Vermögenswerte-Goodwill und andere) regeln Software, die das Unternehmen nicht verkaufen oder leasen möchte. Diese Regeln werden üblicherweise als Software-Kapitalisierungsregeln für Software mit interner Verwendung bezeichnet.
Es ist wichtig zu beachten, dass der Schwellenwert für die Großschreibung für Software mit internem Gebrauch niedriger ist., Nach den Internal-Use-Software-Regeln können die Entwicklungskosten in der Regel nach dem Ende der vorläufigen Projektphase aktiviert werden. Die Schwelle für Softwareentwicklungskosten für externen Verkauf oder Lizenzierung-der Schwerpunkt dieses Artikels-ist strenger, was bedeutet, dass mehr Analyse erforderlich ist, um zu bestimmen, welche Entwicklungskosten aktiviert werden sollen.
Wo GAAP und Agile nicht übereinstimmen
Unter Thema 985 dreht sich die kritische Frage, ob externe Softwareentwicklungskosten aktiviert werden sollten, um den Begriff „technologische Machbarkeit“.,“Alle Softwareentwicklungskosten, die vor dem Zeitpunkt anfallen, an dem das Projekt die technologische Machbarkeit nachgewiesen hat, sollten so hoch sein, wie sie anfallen.
Sobald die technologische Machbarkeit festgestellt ist, können die meisten (aber nicht alle) Entwicklungskosten aktiviert werden. Sobald die Entwicklung abgeschlossen ist und die Software den Kunden zur Freigabe zur Verfügung gestellt wird, ist die Kapitalisierung nicht mehr angemessen, da alle verbleibenden Kosten als laufende Wartung und Support angesehen werden. Diese Kosten müssen immer so aufgewendet werden, wie sie anfallen.,
Die Definition der „technologischen Machbarkeit“ ist daher der entscheidende Faktor bei der Bestimmung, wann ein Unternehmen mit der Aktivierung seiner Entwicklungskosten beginnen sollte. Thema 985 sagt: „Die technologische Machbarkeit eines Computersoftwareprodukts wird festgestellt, wenn das Unternehmen alle Planungs -, Entwurfs -, Codierungs-und Testaktivitäten abgeschlossen hat, die erforderlich sind, um festzustellen, dass das Produkt hergestellt werden kann, um seine Konstruktionsspezifikationen einschließlich Funktionen, Funktionen und technischen Leistungsanforderungen zu erfüllen.,“Es ist auch wichtig zu beachten, dass Softwareentwicklungskosten diesen Regeln unterliegen, unabhängig davon, ob die Kosten intern (z. B. Mitarbeiterzeit) oder extern (z. B. Lieferantengebühren) generiert wurden.
In konventionellen Softwareentwicklungsprojekten mit genau definierten, aufeinander folgenden Phasen wird die technologische Machbarkeit im Allgemeinen entweder durch ein detailliertes Programmdesign oder, wenn ein detailliertes Programmdesign fehlt, durch ein Arbeitsmodell demonstriert, das für Kundentests bereit ist. Dies sind bekannte Meilensteine für Projekte, die den Wasserfall-Ansatz verwenden.,
In einer agilen Projektumgebung werden jedoch einzelne Funktionen und Features separat in einer Reihe von Sprints entwickelt. Jeder Sprint oder jedes Modul wird individuell geplant, geplant, finanziert, entwickelt und getestet, um bei Fertigstellung in das Gesamtprojekt integriert zu werden.
In einer solchen Umgebung sind umfassende Programmdesigns oder Arbeitsmodelle oft unpraktisch oder irrelevant., Unternehmen, die einen agilen Ansatz zur Entwicklung von Software verwenden, könnten unangemessen zu dem Schluss kommen, dass die technologische Machbarkeit nicht wesentlich erfüllt wurde, bevor die Softwareverbesserung den Kunden zur Verfügung steht, was dazu führt, dass Kosten als anfallen und nicht aktiviert werden. Wenn erhebliche Kosten zwischen dem Zeitpunkt, zu dem die technologische Machbarkeit tatsächlich erreicht wurde, und dem Zeitpunkt, zu dem die Software den Kunden zur Verfügung steht, anfallen, kann die resultierende Buchhaltung nicht mit GAAP vereinbar sein.,
Anwenden von GAAP in einer agilen Umgebung
Obwohl die aktuelle GAAP-Anleitung für externe Software nicht auf die agile Umgebung zugeschnitten ist, bedeutet dies nicht, dass agile Entwicklungskosten überhaupt nicht aktiviert werden können. Es gibt schließlich unterschiedliche Ebenen der Beweglichkeit. Während ein reines agiles Projekt möglicherweise nur mit einer Idee und relativ wenig Designarbeit beginnt, verfügen einige agile Projekte über detaillierte Programmdesigns mit ausführlichem Storyboarding, Marktakzeptanzstudien und anderen Designarbeitsdokumenten, bevor die eigentliche Entwicklung beginnt., Solche Dokumente könnten verwendet werden, um die technologische Machbarkeit zu bewerten.
Der kritische Punkt ist, dass zur Bewertung der zu aktivierenden Kosten eine ausreichende Projektplanung erforderlich ist, um nachzuweisen, dass die Kriterien für ein „detailliertes Programmdesign“ erfüllt sind. Das Risiko besteht darin, dass Projektteams möglicherweise nicht genügend Frontend-Planung durchführen oder ausreichende Unterlagen aufbewahren, um nachzuweisen, dass sie diesen Schwellenwert erreicht haben., Um die technologische Machbarkeit zu demonstrieren, muss das Projektteam wahrscheinlich mehr planen und mehr Dokumentation erstellen als in den meisten agilen Projekten üblich.
Weitere wichtige Überlegungen bei der Bestimmung der technologischen Machbarkeit beziehen sich auf Entwicklungsmerkmale mit hohem Risiko. Ist das Projekt beispielsweise eine völlig neue Softwareplattform oder ist es eine Erweiterung oder Neuerstellung von etwas, das zuvor getan wurde? Entwickelt das Unternehmen Software von Grund auf oder baut es bereits vorhandene Softwarekomponenten zusammen?, Entwicklungsmerkmale mit hohem Risiko erfordern möglicherweise eine zusätzliche Analyse, wann die technologische Machbarkeit erreicht ist, und in einigen Fällen den Aufwand für zuvor aktivierte Kosten.
Produktverbesserungen, die nicht als Wartungsaktivitäten betrachtet werden, können manchmal die technologische Machbarkeitsschwelle leichter erreichen, da die Entwickler einem bereits erfolgreichen Produkt Funktionen hinzufügen. Entscheidende Faktoren in solchen Fällen sind die Art der Software, der erforderliche Änderungsgrad und der Grad der Entwurfsarbeit, der vor Beginn der Entwicklung abgeschlossen wurde.,
Selbst wenn die technologische Machbarkeit hergestellt ist, können nicht alle agilen Entwicklungskosten aktiviert werden. In den meisten Fällen können nur einige der Kosten in jedem Sprint aktiviert werden. Zu den Kosten, die nicht aktiviert werden sollten, gehören Vorabanalysen, Wissenserwerb, erste Projektplanung, Prototyping und vergleichbare Konstruktionsarbeiten, die durchgeführt werden müssen, um die gewünschten Merkmale und Machbarkeit des Produkts zu verstehen.
Aber große Teile der Kosten, die für die Entwicklung und Erprobung solcher Merkmale anfallen, sollten häufig großgeschrieben werden, wenn die technologische Machbarkeit erreicht wird., Diese Kosten umfassen die tatsächlichen Codierungs -, Test-und damit verbundenen Arbeitskosten.
Beachten Sie jedoch, dass alle wartungsbezogenen oder Fehlerkorrekturkosten, die während des Sprints anfallen, möglicherweise aufgewendet und nicht aktiviert werden müssen, da viele Aktivitäten während des Sprints möglicherweise nicht codiert und getestet werden, sondern Aktivitäten wie Fehlersuche und Erkennung. Darüber hinaus endet die Großschreibung, sobald das Projekt abgeschlossen ist und die Software einsatzbereit ist.,
Die Unterscheidung zwischen Kosten, die aktiviert werden können, und Kosten, die nicht aktiviert werden können, kann die Projektbuchhaltungs -, Berichts-und Dokumentationsschritte innerhalb jedes Sprints etwas erschweren. Aber die zusätzliche administrative Arbeit muss nicht belastend sein. In den meisten Fällen können die verschiedenen Aufgaben und Leistungen innerhalb jedes Sprints in breite Kategorien unterteilt werden, so dass alle mit dieser Aufgabe verbundenen Kosten entweder aufgewendet oder aktiviert werden können.,
Vorbereitung und Kommunikation: Die kritischen Schritte
Die Entscheidung, welche externen Softwareentwicklungskosten in einer agilen Projektumgebung aktiviert werden können, erfordert ein gewisses Maß an Beurteilung. In vielen Fällen werden die spezifischen Fakten und Umstände im Zusammenhang mit der Art der zu entwickelnden Software die Behandlung der Kosten vorantreiben. Eine sorgfältige Planung kann bei der Analyse helfen, welche Kosten im Vergleich zu den Kosten zu kapitalisieren sind.,
Aus diesem Grund ist es in der Regel ratsam, vor Beginn eines großen Entwicklungsprojekts die buchhalterische Behandlung mit dem Projektmanagementteam und Fachexperten zu besprechen. Es ist auch wichtig, von Anfang an eines Projekts das Niveau der Unterstützung und Dokumentation zu verstehen, die benötigt werden, um die entsprechenden Entscheidungen über die Kapitalisierung der Kosten zu ermöglichen. Darüber hinaus ist ein klares Verständnis des Dokumentationsniveaus erforderlich, das für Auditoren beibehalten werden muss, um die Kapitalisierungs-und Aufwandsentscheidungen zu bewerten und zu bestätigen.,
Das Projektteam sollte beispielsweise die Rolle jeder Person im Projekt gründlich dokumentieren, damit die Buchhaltung zwischen Personen unterscheiden kann, deren Zeit und Aktivitäten möglicherweise der Großschreibung unterliegen, und Personen, deren Aktivitäten niemals in diese Kategorie fallen würden. Es ist auch wichtig, zusätzliche interne Kontrollen aufrechtzuerhalten, z. B. monatliche Überprüfungen von Aktivitäten, aktivierte und aufwendige Beträge und Kommunikationsvorlagen, die Projektmanager ausfüllen können, um zu überprüfen, ob die Mitarbeiterzeit korrekt codiert ist.,
Obwohl einige Branchendiskussionen über die Aktualisierung der relevanten Standards stattgefunden haben, um sie für das agile Framework anwendbarer zu machen, erfordern solche Aktualisierungen in der Regel mehrere Jahre Planung, Diskussion, Vorschläge und Feedback der Branche. Dies bedeutet, dass Unternehmen, die ein agiles Modell zur Entwicklung von Software für den externen Verkauf oder die Lizenzierung verwenden, auf absehbare Zeit weiterhin eng mit ihren Buchhaltungsteams zusammenarbeiten müssen, um die bestehenden GAAP-Richtlinien anzuwenden und die Entwicklungskosten angemessen zu nutzen.
Schreibe einen Kommentar