Hallo,
ich habe eine Kundenanfrage erhalten, bei der ich ein bischen Unterstützng bei der Zeitkalkulation benötigte.
...
Mit wie viel Zeitaufwand müsste ich hier kalkulieren? Das wäre für mich was komplett neues.
wir machen seit ca 8 Jahren mit einem Kunden ein individuell für seine Vorstellungen umgesetztes ERP Projekt.
Ganz grob laufen da seit dem 40-50 Manntage pro Jahr meistens vor ort, mittlerisweil aber auch immer mehr remote. Wir haben zwar mit einem mittleren 5 stelligen Sockelbetrag das Projekt begonnen, aber durch die Krativität des Kunden und mittlerweile erheblich verändertes Geschäftsmodell aufgrund unterschiedlicher Kundenstrukturen haben sich viele Prozesse komplett im Kreis gedreht und wurden teilweise komplett neu implementiert.
Das hat sich trotzdem gelohnt und das sieht der Kunde genau so. So wurde zB die Arbeitsgang/Maschine/Kapazitätsplanung, die wir eigentlich schon fertig hatten, durch eine komplett Neuentwicklung im selben System abgelöst, weil wir mittlweile deutlich weiter in die Zukunft planen müssen, weil es deutlich mehr langlaufende Abrufaufträge gibt als bei Beginn des Projekt. Da war damals noch die Ausnahme.
Realisiert ist das ganze auf Basis von Firebird und Lazarus, ist aber vom Client (also der Lazarus erstellten exe) her eher so was wie ein Webbrowser, der einfach statt mit einem http server mit einem Firebird Server verbunden ist und dort das dem Anwender auf den Bildschirm bringt, was der Programmierer da in geeigneter Art und weise in der Datenbank hinterlegt hat. Technisch könnte man das auch mit delphi und anderen Datenbanken machen.
Zusammenfassend haben wir zB nirgendwo referenzen zu Kunden, lieferscheinen, aufträgen, fertigung usw im Lazarus quellcode, sondern ausschliesslich in der Firebird
db. Mittlerweile setzen wir das Projekt nicht nur bei dem Kunden ein, sondern auch bei uns hausintern, aber auch bei anderen Kunden. Weil alle datenbanken unterschiedliche Tabellenstrukturen haben und Formdesign in der
db gespeichert ist, brauchen wir nicht den eine großen monolithischen Quellcode, der alles abdeckt. Das Verfahren hat sich extrem bewährt, auch wenn viele das anders sehen.
Sachstand ist aber bzgl deiner Frage: Versuch mit dem Kunden gar nicht erst einen Werkvertrag mit Fixpreis für xxx Module umzusetzen, biete ihm das als eine Art Dienstvertrag an mit x manntagen im Jahr, mit maximal jährlicher Lauftzeit und wenn dem Kunden die Ergebnisse nicht passen, kann er ja jederzeit den von dir für Ihn erstellen Quellcode bei jemanden anders weiterentwickeln lassen. Das schafft vertrauen und vermeidet, das du vor Projektbeginn tausende Seiten Papier vollschreiben musst und das mit dem Kunden dahingehend abstimmen musst, die er dann aber gar nicht abschätzen kann und wenn was fertig ist, dann doch alles anders haben will. Am Ende wird der wenn der mit dir durch das Vorgängerprojekt ja eh schon zufrieden ist, sicherlich nicht irgendwo extern jemanden suchen, wenn er bei dir das bekommt, was er braucht.
Bei unserem Projekt geschieht die Programmierung live auf dem Echtsystem, d.h wenn es Änderungen gibt, passieren die sofort und beim nächsten Maskenaufbau sieht die exe ggf die neuen Objekte. Dadurch vermeidest du das du irgendwas programmierst, es aber wochenlang kein Schwein anschaut, weil die test exe nur zur test
db passt, die aber keine aktuellen daten hat usw. Wenn man dabei mal was einbaut, was das system mal für eine Minute lahm legt, who cares. Der Kunde weiss das wir an bestimmten tagen am System arbeiten und wie die uns kontaktieren müssen, um blocking errors wieder zu beheben. an dem Standort des Kunden arbeiten ca 60 Mitarbeiter und wir haben immer zzwischen 25 und 35 User auf dem System. Die DBs sind mit Transaktionslog seit 8 jahren, DMS Daten (alle pdfs und emails incoming und outgoing) in verschiedenen Firebird datenbanken auf ca 2 TB verteilt, wobei die operative
db ca 100GB hat, alles andere ist archivkram und wird deshalb auch gar nicht täglich gesichert.
Ob dein Endkunde 8 Jahre mit 40-50 Manntagen finanzieren kann oder will, kann ich nicht beurteilen, wenn der das aber nicht kann, dann wäre ich vorsichtig, den Auftrag anzunehmen.