Moin Moin!
[Hmpf. Mal wieder ein ewig langer Text geworden. Egal, da freut sich die Archiv-Suche ...]
"Geht nicht" ist prinzipiell die erste Aussage, die man als Entwickler macht - es schützt vor Arbeit :D leider haben das die Projektmanager mittlerweile durchschaut ;)
Klar, dafür gibt es ja auch die nächste Eskalationsstufe: Geht, kostet aber 10 Fantastillionen Euro und wird ein Team von 1000 Leuten 100 Jahre beschäftigen.
und wenn's dann endlich "geht", will's keiner mehr haben ...
Genau deswegen antwortet jeder Entwickler, der halbwegs bei Sinnen ist, pauschal erst einmal "geht nicht". Damit erschlägt man schonmal so ziemlich alle "nice to have"-Features, die sich irgendein Ahnungsloser nach dem 10. Doppelkorn ausgebrütet hat.
Dann kommt "geht wirklich nicht", um die Features zu erschlagen, über die jemand schon ein zweites Mal mit halbwegs nüchternem Kopf nachgedacht hat.
"Schreib mir mal ganz detailiert auf, wie Du Dir das vorstellst." ist auch so eine Zauberformel, mit der man wirre Ideen loswird, die die Mühe gar nicht wert sind, dass man sie zu Papier bringt.
Wenn man das Glück hat, in einer Bürokratie zu arbeiten, gibt es Antragsformulare. "Hast Du schon den Antrag auf Erstellung eines Antragformulars ausgefüllt, an das Formularkommitee eingereicht, das Antragsformular ausgefüllt und gemäß Arbeitsanweisung 38 beim Leiter des Lenkungskommitees eingereicht?"
Bei uns heisst die entsprechende Sammlung von Chefs "Lenkungsausschuß", und wie einer der leidenden Kollegen irgendwo anders in Deutschland feststellte, ist das eher ein "Lähmungsausschuß". Gut beobachtet, kann man da nur sagen, genau deswegen bestehen wir darauf, dass alles mit Papierkrieg über den Ausschuß läuft. Sonst hätten wir täglich 20 neue Aufträge und kämen gar nicht mehr zum Arbeiten. Die nächsten zwei Jahre sind schon voll verplant damit, den Murks unseres Ex-Kollegen zu beseitigen, der uns einen großen, brennenden Haufen Mist hinterlassen hat.
Irgendwann hat man dann tatsächlich mal einen Auftrag, mit einer irgendwie gearteten Spezifikation. Da die oft von IT-Laien geschrieben wird, die tief in ihrer Arbeit stecken, ist die völlig unverständlich, ungenau und deckt bestenfalls die Hälfte des Problems ab.
"Ich hab mal gelb gemarkert, was ich verstanden habe. Den Rest bitte nochmal so, dass es auch jemand versteht, der nicht den ganzen Tag Deine Arbeit macht. Denk auch daran, Fehlermöglichkeiten und deren Behandlung zu spezifizieren. Wie würdest Du das Deiner Oma / einem ungelernten Hilfsarbeiter erklären?" Dazu ein gelber Marker-Fleck auf dem Datum, und vielleicht noch ein zweiter auf dem ersten Satz. OK, für nette Kollegen mit einer halbwegs brauchbaren Spezifikation vielleicht noch eine Liste von Detail-Fragen.
Wash, rinse, repeat.
Dann kommt die Aufwand-Schätzung, die man besser um mindestens 100% oder 200% höher ansetzt, als man wirklich schätzt. Für extrem dämliche Ideen, die man anders nicht mehr los wird, auch mal 1000% oder mehr. Kein Plan und keine Version-1-Spezifikation überlebt die Begegnung mit der Wirklichkeit.
Das ist alles keine Boshaftigkeit oder Faulheit, sondern nur ein Filtersystem, um unsinnige und unsinnig aufwendige Ideen von wirklich guten, umsetzbaren Ideen zu trennen. Sonst entwickelt und programmiert man 90% für die Tonne. Und DAS demotiviert wirklich.
Und um noch einmal auf das Schätzen zu kommen: Mein "Bauchgefühl" angesichts einer detailieren Idee liegt in aller Regel bei unter 50% des wahren Aufwands (und das ist schon richtig gut), so dass ich mit +100% +großzügig aufrunden einigermaßen beim wahren Aufwand lande. Dann darf aber nichts schiefgehen und nichts dazwischen kommen. Und genau deswegen schlage ich nochmal 50% bis 200% oben drauf, bevor ich den Mund aufmache.
Der o.g. Ex-Kollege hat das in 20 oder 30 Jahren Berufspraxis nicht kapiert und immer gleich sein viel zu niedriges Bauchgefühl herausposaunt und entsprechend Termine zugesagt.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".