Engywuck
Geowizard
Liebe Gemeinde,
ich habe feststellen müssen, dass der Abschluß von Version 1.0 ja wegen einiger Fehler immer noch nicht erfolgen konnte. In meiner mittlerweile 10-jährigen Arbeit in der Softwareentwicklung habe ich bereits etliche Versionen des Produkts meiner Firma erstellt und kann Euch deshalb an der Erfahrungen teilhaben lassen.
Ich habe hier den Eindruck, dass versucht wird, eine Version 1.0 auf die Beine zu stellen, in der keine richtigen Fehler mehr drin sind: Immer heisst es "Oh, ein Fehler, der muss zu 1.0 aber noch raus...". Leute, ich kann Euch sagen: Das klappt nie! Fehler werden immer wieder eintrudeln, unabhängig, ob wir die Version 0.999, V1 RC37 oder V 1.0 nennen. Es gibt da immer zwei Strömungen: Die Entwickler, die Fehler ausbauen (und neue ein ;-) ) und die Anwender, die Fehler finden. Es handelt sich also immer um ein dynamisches Gleichgewicht. Sollten wir tatsächlich mal einen Zustand erreichen, dass keine Fehler mehr bekannt sind, so heisst das nicht etwa, dass keine mehr drin wären, sondern nur, dass die Entwickler gerade schneller mit dem Ausbau der Fehler waren, als die Anwender mit dem Finden. Wie beim Stausee: Es fließt immer Wasser zu und Wasser ab. Und wenn grad kein Wasser drin ist, bedeutet dass nur, dass man mehr Wasser entnommen hat, als reinfließt - nicht etwa, dass keins mehr reinflösse. Und ich kann Euch versprechen: Spätestens 1 bis 2 Wochen, nach dem Version 1.0 draussen ist, taucht der erste Fehler auf, wo man sich denkt "Mist, den hätte ich ja auch noch gerne vor 1.0 ausgebaut, wenn ich ihn gekannt hätte...". Und das unabhängig davon, ob wir uns zum Release noch 2 Wochen, 2 Monate oder 2 Jahre Zeit lassen. Es tauchen da tatsächlich plötzlich Fehler in Code auf, den 10 Jahre keiner angefasst hat - der Fehler hat also wirklich so lange geschlummert. Ich merke es bei meinem Rechner hier selbst: Es läuft noch Windows 2000. Die Entwicklung für W2K ist seit zig Jahren abgeschlossen, und dennoch bekomme ich jeden Monat Updates, die neu entdeckte Sicherheitslöcher schließen. Wenn Microsoft gewartet hätte, bis in W2K keine Fehler mehr drin sind, dann wäre es heute noch nicht erschienen. (An alle Windows-Basher: Klappe halten ;-) )
Wenn dem nun so ist - wie und wann wird dann eine Version erstellt? Bei uns läuft das so: Wir planen, was an Features in eine neue Version rein soll und planen einen Termin für einen Versionsabschluß. Wenn dieser Termin naht, wird geschaut, ob es noch Fehler gibt, die wirklich letal sind und produktives Arbeiten mit dem System verhindern - diese werden ausgebaut, alles andere nicht.
Welche Bedeutung haben dann einzelne Versionsstände? Was Fehler angeht: Wenig bis nichts. Man sollte sich als Anwender darauf verlassen können, das keine richtigen fiesen Brocken mehr drin sind, aber das ists auch schon. Viel mehr Bedeutung haben die Versionsstände für die Features: Version 1.0 kann folgendes: [...]. Version 2 hat die folgende Erweiterungen: [...] Usw.
So, was heisst das für uns? Mein Vorschlag: Wenns nicht noch richtig fiese Klopper gibt, dann das Ding abschließen und mal überlegen, was es für Version 2.0 (oder heisst das heutzutage "CacheWolf 2009" ?) zu tun gibt... Wir kommen sonst nie vom Fleck.
So, nach diesem etwas länglichen Posting:
Schöne Grüße,
Engywuck
ich habe feststellen müssen, dass der Abschluß von Version 1.0 ja wegen einiger Fehler immer noch nicht erfolgen konnte. In meiner mittlerweile 10-jährigen Arbeit in der Softwareentwicklung habe ich bereits etliche Versionen des Produkts meiner Firma erstellt und kann Euch deshalb an der Erfahrungen teilhaben lassen.
Ich habe hier den Eindruck, dass versucht wird, eine Version 1.0 auf die Beine zu stellen, in der keine richtigen Fehler mehr drin sind: Immer heisst es "Oh, ein Fehler, der muss zu 1.0 aber noch raus...". Leute, ich kann Euch sagen: Das klappt nie! Fehler werden immer wieder eintrudeln, unabhängig, ob wir die Version 0.999, V1 RC37 oder V 1.0 nennen. Es gibt da immer zwei Strömungen: Die Entwickler, die Fehler ausbauen (und neue ein ;-) ) und die Anwender, die Fehler finden. Es handelt sich also immer um ein dynamisches Gleichgewicht. Sollten wir tatsächlich mal einen Zustand erreichen, dass keine Fehler mehr bekannt sind, so heisst das nicht etwa, dass keine mehr drin wären, sondern nur, dass die Entwickler gerade schneller mit dem Ausbau der Fehler waren, als die Anwender mit dem Finden. Wie beim Stausee: Es fließt immer Wasser zu und Wasser ab. Und wenn grad kein Wasser drin ist, bedeutet dass nur, dass man mehr Wasser entnommen hat, als reinfließt - nicht etwa, dass keins mehr reinflösse. Und ich kann Euch versprechen: Spätestens 1 bis 2 Wochen, nach dem Version 1.0 draussen ist, taucht der erste Fehler auf, wo man sich denkt "Mist, den hätte ich ja auch noch gerne vor 1.0 ausgebaut, wenn ich ihn gekannt hätte...". Und das unabhängig davon, ob wir uns zum Release noch 2 Wochen, 2 Monate oder 2 Jahre Zeit lassen. Es tauchen da tatsächlich plötzlich Fehler in Code auf, den 10 Jahre keiner angefasst hat - der Fehler hat also wirklich so lange geschlummert. Ich merke es bei meinem Rechner hier selbst: Es läuft noch Windows 2000. Die Entwicklung für W2K ist seit zig Jahren abgeschlossen, und dennoch bekomme ich jeden Monat Updates, die neu entdeckte Sicherheitslöcher schließen. Wenn Microsoft gewartet hätte, bis in W2K keine Fehler mehr drin sind, dann wäre es heute noch nicht erschienen. (An alle Windows-Basher: Klappe halten ;-) )
Wenn dem nun so ist - wie und wann wird dann eine Version erstellt? Bei uns läuft das so: Wir planen, was an Features in eine neue Version rein soll und planen einen Termin für einen Versionsabschluß. Wenn dieser Termin naht, wird geschaut, ob es noch Fehler gibt, die wirklich letal sind und produktives Arbeiten mit dem System verhindern - diese werden ausgebaut, alles andere nicht.
Welche Bedeutung haben dann einzelne Versionsstände? Was Fehler angeht: Wenig bis nichts. Man sollte sich als Anwender darauf verlassen können, das keine richtigen fiesen Brocken mehr drin sind, aber das ists auch schon. Viel mehr Bedeutung haben die Versionsstände für die Features: Version 1.0 kann folgendes: [...]. Version 2 hat die folgende Erweiterungen: [...] Usw.
So, was heisst das für uns? Mein Vorschlag: Wenns nicht noch richtig fiese Klopper gibt, dann das Ding abschließen und mal überlegen, was es für Version 2.0 (oder heisst das heutzutage "CacheWolf 2009" ?) zu tun gibt... Wir kommen sonst nie vom Fleck.
So, nach diesem etwas länglichen Posting:
Schöne Grüße,
Engywuck