Schlagwort-Archive: Programmierung

Vieles ist agil geworden

Du bist agil, ich bin agil, wir sind agil. Aber noch mehr ist agil. Software beispielsweise. Früher sah das noch ganz anders aus: feste Releasezyklen, regelmäßige Verschiebungen, enttäuschte Kunden, Ungewissheit. Durch die Agilität hat sich heute vieles geändert. Roadmaps werden planbarer, neue Releases erscheinen zyklischer. Zwar mit weniger neuen Funktionen, dafür aber mit Kontinuität. Was ist uns persönlich lieber? Lange mit einer Beta Version eines Produkts anbandeln, in die ständig neue Entwicklungsideen fließen und es so zu fast keinem Ende der Entwicklung mehr kommt oder feste Releasezyklen, zwar etwas kleiner, aber man hat doch jedesmal gewisse Neuigkeiten? Lange Zeit war ich auch eher für längere Releasephasen, doch mittlerweile finde ich den agilen Verlauf deutlich sympatischer. Vor allem auch dadurch, dass viele Softwareprojekte mittlerweile diesem Konzept folgen. Google Chrome dürfte da ein Vorreiter sein, so kreative Zyklen lassen sich beispielsweise bei Mirosoft wohl kaum verwirklichen. Ja, Agilität erfordert auch andere Organisationsstrukturen und diese sind gerade bei Open Source Projekten deutlich schneller umzustellen. Daher wird heutzutage auch gerade Open Source Software oft nach agilen Konzepten entwickelt. Gerade eben hat sich mit Horde wieder ein Projekt mehr dazugesellt.
Agilität wird uns also künftig noch häufiger erwarten. Dann werden wir vielleicht nicht mehr darüber streiten, warum ein Release später veröffentlicht wird, sondern wieso es ein Feature nicht mehr in ein Release geschafft hat. Irgendwas muss ja für den Stammtisch übrig bleiben.. 😉

Release-Politik: Von der Gunst, es dem Nutzer recht zu machen

Auf Nutzerseite habt ihr bestimmt schon einmal bemerkt, wie sehnsüchtig man auf den Release einer bestimmten Software wartet. Da wird geschoben und geschoben, das Ziel rückt immer weiter in die Ferne. Ganz so tragisch wie bei Duke Nukem Forever, dass den Spruch „When it’s done“ erst so richtig berühmt machte, endet es dann aber meistens doch nicht, aber das dürfte die wenigstens beruhigen.
Schauen wir auf die Entwicklerseite. Enge Terminpläne, plötzlich auftretende Probleme oder letzte Ideen, die vielleicht noch Einzug in das Release erhalten sollten. Nicht zu vergessen die zahlreichen Tests, um die Stabilität der Endversion zu gewährleisten. All das muss in der Planung berücksichtigt werden, einiges davon ist aber vorab auch zeitmäßig nicht immer exakt zu benennen. Mit jeder Angabe eines konkreten Zeitpunkts löst der Entwickler also potentiellen Druck auf sich aus, das Zeitziel zu erreichen. Aus Entwicklersicht dürfte es also verständlich sein, dass sich nicht alle zu konkreten Terminen hinreißen lassen, die oft nicht gehalten werden können. Das ist doch auch eine Form von Ehrlichkeit, oder?
Große Releases erfordern meist einen weitläufigen Zeitplan, der in dieser Form dann aber nicht so überschaubar ausfallen kann. Vergleichbar mit einem Lebensabschnitt – wer weiß schon, was alles plötzlich auftreten kann, welche Ansichten man während des Entwicklungsprozesses erlangt? Eine Möglichkeit, die auch bei vielen Softwareprojekten immer mehr Anklang findet, ist es daher, den Entwicklungsprozess in Iterationen aufzuteilen und Releases in kurzer Folge (z.B. alle 6 Monate) zu veröffentlichen. Hier bleibt der Zeitplan überschaubar und Ziele für diese Periode können durchaus näher genannt werden. Die größere Releasedichte trägt aber auch dazu bei, dass der Nutzer sich öfter mit neuen Versionen auseinandersetzen muss. Größere Änderungen passen zudem möglicherweise nicht einen Zyklus.
Beide Formen haben also durchaus ihre Vor- und Nachteile, sowohl aus Benutzer- als auch aus Entwicklersicht. Mich würde interessieren, welche Form euch eher zusagt und welche Erfahrungen ihr in diesem Bereich gemacht habt.

Dasselbe – oder Das Gleiche?

In den täglichen Konversationen fallen oft Sätze, die genauer betrachtet zu interessanten Aussagen führen, die man so gar nicht gemeint haben mag. Zu einem bekannten Dreher  führen desöfteren auch ‚Dasselbe‘ und ‚Das Gleiche‘. Noch vor gut einem Jahr hätte ich die beiden Redewendungen selbst nicht auseinander halten können, denn logischerweise dürfte derjenige, der dasselbe denkt, auch das Gleiche meinen, oder? Kritisch wird es nur, wenn der Nachbar das Gleiche Auto haben möchte, aber dasselbe nimmt, nämlich das eigene. Und so wird der Unterschied deutlich – dasselbe bezieht sich auf exakt das gleiche Objekt (Den BMW 5er des Nachbarn), das Gleiche deutet aber vielmehr auf ein beliebiges Objekt hin, das aber der gleichen Klasse entspringt (irgendein BMW 5er). Derartige Wortspiele gibt es in unserer Sprache noch viel häufiger, aber erst einmal darauf zu kommen, erfordert schon den ein oder anderen gezielteren Gedanken. In meinem Fall hat die Programmiersprache Java für diesen interessanten Exkurs gesorgt.

Yella 0.4.0 erneut verschoben

Nachdem bereits im März die erste Verschiebung der neuen Version stattfand, wird es nun nochmals zur gleichen Situation kommen. Zwar wurmt es mich ein wenig, dass damit das neue Design immer noch nicht Einzug in die Onlineversion erhält, aber es läuft eben meistens anders als geplant, vor allem im Softwarebereich. In der letzten Zeit kam ich zwar zeitweise dazu, an den letzten auf der ToDo Liste stehenden Dingen zu arbeiten und habe auch schon einige wieder auf die nächste Version verschoben, dennoch ist es einfach nicht so effektiv, sich nur kurzzeitig damit auseinanderzusetzen. Es würden da möglicherweise schon einige aneinandergereihte Entwicklungstage reichen, aber die muss man neben dem überspringenden Funken dann auch erstmal haben 😉
Wenn das ganze auch etwas enttäuschend ist, so ermöglicht es zumindestens ein besseres Verständnis für gleichartige Situationen bei anderen Projekten.

Intuitive Updatesysteme

Webapplikationen mangelt es oft an einem einfachen Updatesystem, das die gewünschte Anwendung wieder auf den aktuellsten Stand bringt. Vorhin habe ich eine phpBB3 Installation aktualisiert, dank eines integrierten automatischen Updatesystems ging das ganze in wenigen Minuten über die Bühne, es kann also auch anders gehen. Dabei vergleicht das System hier – ähnlich einem Vergleichswerkzeug wie WinMerge – die Dateien mit den neuen und fügt eventuell geänderte Passagen durch automatische Anpassungen in die aktuellen Dateien ein, natürlich auf Nachfrage. Dank dieses Mechanismus sind manuelle Eingriffe kaum noch notwendig.
Doch es gibt auch hier noch Potential, denn die aktuellen Dateien müssen erst manuell auf den Server geladen werden. Diesen Schritt könnte ebenfalls das Updatesystem übernehmen, sodass wie bei Desktop-Anwendungen (fast) ein Klick zum Aktualisieren reicht.
Wobei auch hier noch das automatische Backup fehlen würde, aber manche Dinge können auch zu weit gehen 😉

Yella 0.4.0 verschoben

Der Release der kommenden Version 0.4.0 der Yella Forensoftware wurde verschoben. Noch sind einige Teile nicht fertig und ich bin leider andersweitig ausgelastet. Angepeilt ist nun das zweite Quartal 2008, wann genau, entscheidet die nächste Programmier-Periode 😉
Alternativ stand auch eine Veröffentlichung der Version 0.4.0 ohne die wenigen restlichen geplanten Punkte zur Debatte. Da es aber nicht eilt und ich lieber etwas fertiges in den Händen halte, habe ich mich dennoch dagegen entschieden. So bleibt es vorerst bei der Entwicklung.

Neujahrswünsche

Seit rund einer Woche verbringe ich meine vorlesungsfreie Zeit wieder mal in der Schweiz, genauer gesagt in Winterthur/Sennhof bei meiner Schwester und ihrem Freund (übrigens auch ein Programmier-Junkie ;)). Seit Februar 2006 wohnen sie nun schon in einer neuen Wohnung in einem Mehrfamilienhaus und hatten dabei schonmal eine nette Postkarte von einem Nachbarn vor der Eingangstüre. Heute war es mal wieder soweit, diesmal wollte er die Chance nutzen, um seinen Neujahrswunsch kund zu tun.

Liebe Nachbarn,

wir hätten einen Neujahrswunsch an euch hier unten. Manchmal hört man euch „stampfen“ bis spät in die Nacht. Vielleicht solltet Ihr mal die Hausschuhe überprüfen, bzw. eventuell austauschen.

Vielen Dank für die Rücksichtnahme.

Einen guten Rutsch und ein gutes Neues.

Diesen Wunsch würden wir gerne berücksichtigen, aber leider haben wir hier nie Hausschuhe an.

Projektarbeit “Yella”

Schulisch haben wir bis Mitte Juni ein Projekt zu verwirklichen, dass je nach Wahl auf Hard- oder Software aufbaut. Ich habe mich damals dazu entschieden, eine Forensoftware in PHP und MySQL zu schreiben. Anfang Februar gab es bereits die erste Zwischenprüfung, die aber soweit ordentlich verloffen ist 😉 Zwischenzeitlich habe ich leider nicht mehr die Lust daran gehabt und mich einige viele Wochen zurückgelehnt. Nun – der Juni ist nicht mehr ganz fern – habe ich mich seit einigen Tagen mal wieder dran gemacht, dass ganze wieder aufzunehmen und ich habe wieder Lust daran gefunden 😀
Ich bin mal gespannt, ob ich innerhalb dieser Welle wenigstens einigermaßen weiterkomme, heute habe ich zumindest schon eine kritische Hürde gemeistert, programmiertechnisch gesehen *g*