Betriebswirtschaftliche Standardsoftware sollte im besten Fall eine sofort verfügbare Individualsoftware zum Preis eines Standardproduktes sein. Allerdings muss Individualsoftware, wie es der Name sagt, nur die Anforderungen eines Kunden erfüllen. Die Hersteller von Standardsoftware stehen dagegen vor der Herausforderung, vielfältige Funktionalitäten in einer Software so zu verpacken, dass sie für alle Kunden bedienbar bleibt. Zudem muss sie so flexibel sein, dass die Logik auch noch individuell an die Geschäftsprozesse der Unternehmen angepasst werden kann. Die Anpassung wird in der Praxis nicht nur durch den Hersteller vorgenommen, sondern vor allem durch Systemhäuser und Kunden. Der Anpassungsprozess muss deshalb genau definiert sein. Ein neuer Ansatz sorgt hierbei für mehr Flexibilität bei allen Beteiligten.
Standardsoftware muss sich Herausforderungen stellen, von denen Individualsoftware nicht betroffen ist. Das wird gerade bei betriebswirtschaftlicher Standardsoftware deutlich. Geschäftsprozesse sind nicht durch Gesetze festgeschrieben und unterscheiden sich deshalb von Unternehmen zu Unternehmen. Für viele Firmen bedeuten ihre spezifischen Prozesse sogar einen Wettbewerbsvorteil. Eine zeitgemäße ERP-Software passt sich deshalb an die Prozesse im Unternehmen an und nicht umgekehrt. Darüber hinaus sind beispielsweise die Firmengröße, die Kunden, der Standort, die Branche und die Sprache wichtige Faktoren. Bei der planmäßigen Auswahl einer neuen Lösung fällt die Entscheidung deshalb auf diejenige Software, welche die Anforderungen bereits in hohem Maße abdeckt, beziehungsweise den geringsten Anpassungsaufwand verursacht. Da sich gesetzliche Rahmenbedingungen und die Technologie fortlaufend weiterentwickeln, muss das Produkt durch Updates aktuell gehalten werden. Ist das Customizing der Software nicht klar definiert, erzeugt ein Update erheblichen Mehraufwand und gefährdet im schlimmsten Fall die Release-Fähigkeit der Lösung.
Die Planung des Customizing und dessen Berücksichtigung in der Architektur ist deshalb essentieller Bestandteil des Entwicklungsprozesses einer Software. Davon abgesehen benötigt Standardsoftware einen Aufbau wie jede andere Software auch. Zur Entwicklung wird in den meisten Fällen ein Framework, ob selbst programmiert oder gekauft, genutzt. Dieses bietet Richtlinien, Designvorlagen und eine Infrastruktur, um den Entwicklungsprozess zu optimieren. Vorgehensweisen, welche sich in anderen Projekten bereits bewährt haben, können so wiederverwendet werden. Die Auswahl des Frameworks ist eine strategische Entscheidung, welche die Architektur und den Arbeitsaufwand beim Erstellen der neuen Software bestimmt. Es bildet das Fundament und ist nur sehr schwer zu ersetzen. Ist ein Änderungsmanagement bereits Bestandteil des Frameworks, muss es nicht in der Software implementiert werden. Dies rationalisiert die Entwicklung und stellt einen einheitlichen, durchgängigen Anpassungsmechanismus bereit.