Angebot und Durchführung    so führen wir unsere Projekte zum Erfolg

1.Das vorläufige Angebot

Im ersten Schritt erfolgt natürlich eine vorläufige Abschätzung der Kosten, auf Basis Ihrer Anforderungen an das neue System und unserer langjährigen Erfahrung. Bei der Entwicklung Ihres Forderungskatalogs unterstützen wir Sie natürlich gerne.
Die Rahmenbedingungen spielen eine große Rolle. Liefern andere Firmen Komponenten oder Dienstleistungen zu diesem Projekt? Wie viele externe Schnittstellen müssen definiert und implementiert werden. Läst sich eine Testumgebung aufbauen? Muss ein Teil der Anlage simuliert werden? Werden Standardkomponenten eingesetzt und gibt es eine vernünftige Dokumentation der Schnittstellen. Unter welchen Bedingungen wird die Inbetriebnahme durchzuführen sein.

2. Pflichtenheft, HMI Prototyping und entgültiges Angebot

angebot und Durchführung

In den wenigsten Fällen existiert bereits ein Lastenheft. Wenn ja, umso besser, dann lässt sich das Pflichtenheft auf den Leistungsumfang und den Lösungsansatz der im Lastenheft beschriebenen Anforderungen reduzieren.  Wenn nicht, muss im Pflichtenheft eine Grundstruktur dessen beschrieben sein, was Sie als Kunde für erheblich im Sinne eines Projekterfolgs erachten. Insbesondere sollten alle gewünschten Funktionen der Software festgelegt werden, die sich nicht selbstverständlich aus dem Einsatzzweck ergeben.
Das Design einer Software – Oberfläche ist, wenn der Funktionalitätsumfang erst mal erfasst ist, kein so großer Aufwand mehr. Eine Vorversion des Human Machine Interface, also des grafischen Konzeptes der Applikation sollte in dieser Phase durchaus schon präsentiert werden. Der Kunde bekommt ein besseres Gefühl für seine zukünftige Software und erkennt oft erst jetzt, welche Möglichkeiten sich ihm bieten und wie die Software noch besser an den Betriebsablauf adaptiert werden kann. Natürlich ergeben sich in dieser kommunikativen Phase zusätzliche Wünsche vom Kunden. Es kann auch sein, dass sich durch den intensiven Gedankenaustausch, einfachere und schnellere Lösungsansätze ergeben.
Das Ergebnis an dieser Stelle des Projekts ist ein endgültiges Angebot mit verpflichtendem Leistungsumfang und garantiertem Kostenrahmen.

3. Testumgebung für verwendete Komponenten

Von höchster Wichtigkeit für das Gelingen eines Projektes, ist es alle Schwierigkeiten frühzeitig zu erkennen und die Vorgehensweise darauf abzustimmen. Ist es zu einem Auftrag gekommen, bei dem Fremdkomponenten eingesetzt werden, die wir trotz unserer Erfahrung, noch nicht umfänglich einschätzen können, so ist es enorm wichtig, alle erdenklichen Probleme damit frühzeitig zu evaluieren. Das gibt uns die Möglichkeit bei der Architektur der Software speziell auf Schwächen von Fremdkomponenten einzugehen. Fehler bei Fremdkomponenten, die uns immer wieder auffallen, können so frühzeitig mit dem Lieferanten und dem Hersteller erörtert werden. So kann der Hersteller Verbesserungen implementieren, während wir im eigentlichen Projekt ohne Verzögerung an anderer Stelle weiter arbeiten können. Fallen externe Fehler erst beim Test der fertigen Applikation auf, so verschiebt sich der Inbetriebnahmetermin unweigerlich und ist am Ende vom Terminkalender der Fremdfirmen abhängig. Oftmals kann die Testumgebung, insbesondere Testprogramme auf SPSen, auch für die abschließenden Tests vor der Inbetriebnahme verwendet werden.

4. Softwareentwicklung, Agiles Prinzip und funktionale Entwürfe

Durch das Pflichtenheft und das Prototyping sind dem Kunden schon viele Details bekannt. Dennoch sollte der eigentliche Prozess der Softwareentwicklung sich nicht nur im sturen implementieren von Features erschöpfen. Die Kreativität des Entwicklers sollte, im Rahmen des festgelegten Budgets und in Absprache mit dem Kunden, zu weiterer Optimierung der Software führen. Der Entwickler ist in dieser Phase der Spezialist, bei dem sich Tag für Tag neue Erkenntnisse und Ideen ergeben. Diese werden leider oft von Projektleitern, mit Blick auf den finanziellen Gewinn, zu stark reglementiert. Hier entscheidet sich, ob das Endprodukt dem Kunden genügt, oder ob es ihn begeistert. In wie weit die Ideen der Entwickler mit den Vorstellungen des Kunden in Einklang zu bringen sind, muss natürlich ständig mit diesem Erörtert werden. Durch diesen Abgleich des werdenden Produkts mit dem Kunden können immer noch Veränderungen vorgenommen werden. In einem gut strukturierten Code lassen sich auch größere Design - Änderungen sehr effektiv und schnell implementieren.

5. Vollständige Implementierung mit Tests

Während der Codierung werden die hinzukommenden Module und Funktionen ständig getestet. So wird die Applikation nach und nach vervollständigt. Je nach Umfang und Komplexität können Testprozeduren implementiert werden. Dies ist vor dann hilfreich, wenn in der Zukunft Software - Änderungen vorgenommen werden. Mit Hilfe dieser Testprozeduren kann eine Änderung im Gesamtkontext der Software überprüft werden.

6. Festlegung der Testumgebung und Inbetriebnahmeplanung

In der Regel muss eine Applikation fertig sein, wenn sie an einer Anlage in Betrieb genommen wird. In der Vergangenheit, auch im vergleich mit Fehlern von Wettbewerbern, hat sich eine intensive Vorbereitung auf den Inbetriebnahmetermin immer bezahlt gemacht. Mit Tools, die wir im Rahmen der Testumgebung aber auch für die ständige Kontrolle des Softwarestands entwickeln, kann in der Regel ein komplett fertiges und getestetes Softwaresystem für die Inbetriebnahme zur Verfügung gestellt werden.

7. Inbetriebnahme

Bei den Feldtests kommen wir mit einem fertigen und getesteten System an die Anlage. So können wir uns auf die spezifischen Probleme konzentrieren, die sich vorab nicht testen ließen. Ich denke da besonders an Schnittstellen zu anderen Projektbeteiligten, die sich leider ganz anderen Qualitätsstandards unterwerfen.
Unsere Inbetriebnahmezeiten, teilweise im laufenden Betrieb einer Anlage, waren in der Vergangenheit immer extrem kurz. So wurden die veranschlagten Arbeitstage immer eingehalten, ja in manchen Fällen bis zu 50% unterschritten.