Feeds:
Beiträge
Kommentare

Die BLUECARAT AG hat eine neue Version des Ampel-Plugins erstellt, das dem Hudson Buildserver die Möglichkeit gibt, 230V-Geräte zu steuern. Entwickler können damit ein Projekt so konfigurieren, dass der Build-Zustand über eine Steckdosenleiste mit 230V-Geräten visualisiert wird. Z.B. kann eine umgebaute Verkehrsampel anzeigen, dass ein Build stattfindet (“gelb”) oder wie das Build-Ergebnis ist (“rot”, “grün”). Derzeit werden zwei verschiedene Modelle von Steckdosenleisten unterstütz. Die Software ist so konzipiert, dass für weitere Modelle Implementierungen hinzugefügt werden können.

Die Software kann unter der Adresse http://wiki.hudson-ci.org/display/HUDSON/Traffic+Light+Plugin bezogen werden.

Von Joseph Pelrine habe ich eine neue Methode zum Schätzen von Tasks an Stories kennen gelernt.

Die Methode heißt Quattro Staggioni und teilt einen Arbeitstag in vier Teile: Vor der ersten Kaffeepause, vor dem Mittag, vor dem Nachmittagstee und vor dem Arbeitstag-Ende. D.h. man hat nur vier Werte, mit denen man eine Schätzung ausdrückt.

Vorteil dieser Schätzmethode ist, dass sie implizit keine Tasks erlaubt, die länger als einen Tag dauern. Außerdem nutzt sie die intuitive Einschätzung eines jeden, ob er eine Aufgabe an einem Vormittag erledigen kann (2 Punkte). Dauert es signifikant weniger Zeit, nimmt man 1 Punkt. Dauert es länger, muss man sich der Frage stellen, ob es annähernd einen ganzen Tag dauert (4 Punkte) oder vor dem Nachmittags-Tee erledigt werden kann (3 Punkte). Außerdem macht sie das Schätzen einfach, denn die intuitive Vorstellung zu diesen Zeiträumen hat jeder.

Gut finde ich darüber hinaus, dass die Überprüfung des realten Zeitbedarfs von jedem sehr leicht selber gemacht werden kann. Man weiß, ob man es noch vor dem Mittag schafft. Außerdem ist man ein wenig flexibel, denn man kann ein paar Minuten früher oder später zum Essen gehen.

Einen Nachteil, den ich bei dieser Methode sehe ist, dass Personen, die sich den Tag deutlich anders organisieren (z.B. 10 Uhr kommen, 12 Uhr Mittagessen, bis 19 Uhr arbeiten) Schwierigkeiten haben, sich auf dieses Schätzmaß einzulassen.

Soeben halte ich mein Autorenexemplar des Buchs „Agile Softwareentwicklung“ in Händen. Zusammen mit Henning Wolf habe ich die zweite überarbeitete Auflage in diesem Sommer fertig gestellt. Link zum Buch beim Verlag.

Ampelplugin für Hudson

Wir entwickeln seit Jahren mit Continuous-Intergration (CI) Umgebungen. Früher haben wir mit CruiseControl gearbeitet, heute ist Hudson unser Tool der Wahl. Dabei war es uns immer wichtig, den Build-Prozess so gut wie möglich für das Team zu visualisieren. Diverse Kleinigkeiten können dabei helfen.

Bei meinem Freund Alan Borning (Prof. an der Universität Washington in Seattle) habe ich die Idee mit den Ampeln kennen gelernt. Er hat für jedes seiner Projekte eine alte Verkehrsampel gekauft und diese durch den CI-Server gesteuert. Mit einem kleinen Script hat er die Ampel auf Gelb gestellt während der Build lief. Das Ergebnis des Builds wurde dann mit Rot oder Grün angezeigt. Die Ampeln hingen im Büro oder Flur des Teams und haben den Build gut visualisiert. Das haben wir nun auch umgesetzt.

Wir haben ein Ampel-Plugin für Hudson geschrieben und dieses auch veröffentlicht. Hier ist insbesondere Chris Stahlhut zu nennen, der einen großen Teil des Programms entwickelt hat. Das Plugin steuert eine Steckdosenleiste, die mehrere 230V Steckdosen besitzt und mittels Netzwerksteckdose am LAN angeschlossen ist. Das Plugin ist unter der folgenden Adresse zu finden:

http://wiki.hudson-ci.org/display/HUDSON/Traffic+Light+Plugin

Derzeit kann das Plugin nur mit einem Typ von IP-Steckdose zusammenarbeiten (genaue Typbezeichnung findet sich bei der Dokumentation). Wir würden uns freuen, wenn andere Leute für weitere Steckdosenmodelle Quelltext besteuern könnten. Derzeit sitzen wir daran, das Plugin für mehr als ein Projekt auf dem Buildserver nutzbar zu machen.

Es ist ja vielen bekannt, dass ich die Hamburger Niederlassung des Beratungshauses blueCarat leitet. Für diese Niederlassung suche ich aktuell erfahrene Beraterinnen und Berater. Wir arbeiten in unseren Projekten mit einem hohen Qualitätsanspruch und orientieren uns beim Vorgehen an Agilen Methoden. Wer Interesse hat, sich beruflich zu verändern, kann gerne mit mir Kontakt aufnehmen bzw. sich die Stellenanzeigen bei Stepstone anschauen.

http://www.stepstone.de/stellenangebote-des-unternehmens–blueCarat-AG–38298.html

Welche Gliederungseinheiten habe ich, wenn ich Quelltext strukturieren will? In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” beschäftige ich mich mit der Frage, welche Einheiten in aktuellen objektorientierten Programmiersprachen zur Verfügung stehen, auf welcher Ebene mir diese helfen und welchen Prinzipien ich folgen sollte.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: RSS iTunes

Direkter Link zu dieser Podcast-Folge.

Zum Lesen

http://en.wikipedia.org/wiki/David_Parnas

http://en.wikipedia.org/wiki/Cohesion_%28computer_science%29

http://en.wikipedia.org/wiki/Rebecca_Wirfs-Brock


Zum Ausprobieren

http://docs.codehaus.org/display/SONAR/Isotrol+MetricsAnalytics

http://xradar.sourceforge.net/

Und als Schmankerl

http://www.spinellis.gr/sw/ckjm/

Heute konnte ich das lang ersehnte Interview mit meiner ehemaligen Kollegin Carola Lilienthal abschließen. Wir haben dabei über Architektur-Qualität und Zyklen gesprochen. Ich werde nun die Podcasts erstellen, die diesen Inhalt vorbereiten und komme hoffentlich um Ostern dazu, die nächsten Folgen zu produzieren. Dabei wird es zuerst um die strukturierenden Elemente einer Software-Architektur gehen (u.a. Klassen, Packages und Subsysteme). Ich werde danach etwas über die Beziehungen dieser Elemente in einer Folge bringen. Und dann widme ich mich verschiedenen Architekturstilen. Den Abschluss dieser Reihe bildet dann das Gespräch mit Carola Lilienthal.

Gerade haben wir vom Verlag die Nachricht bekommen, dass die erste Auflage unseres Buches bald vergriffen sein wird. Henning Wolf und ich wollen auf jeden Fall eine zweite Auflage produzieren. Wir werden auf jeden Fall ein deutlich überarbeitete und erweiterte Auflage herausbringen. Diese wird wahrscheinlich im frühen Herbst erscheinen. Darin widmen wir uns dann u.a. Kanban und Crystal.

In der neuesten Ausgabe von iX Kompakt zum Thema „Erfolgreiches IT-Projektmanagment“ ist ein Artikel von Henning Wolf und mir erschienen. Er trägt die Überschrift „Pro und Contra – wann sich agile Methoden eignen und wann nicht“.

Wir diskutieren in diesem Artikel verschiedene Aspekte des Projektmanagements, die sich positiv oder negativ auf die Entscheidung auswirken, ob agile Methoden im Projekt eingesetzt werden können.

This autumn I will be a guest lecturer at IT University of Copenhagen and teach a course on Software Architecture.  The course is part of the master programme „Software Construction“ and will cover the fundamentals of software architecture in literature as well as practical work on analysing, designing and evaluating large software systems.

Wie kann angemessene Kommunikation im Entwicklungsprojekt erreicht werden, damit alle Beteiligten ausreichend informiert sind, um ihre Entscheidungen bestmöglich zu treffen? In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” beschäftige ich mich mit dieser Frage und stelle mögliche Lösungen vor.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: RSS iTunes

Direkter Link zu dieser Podcast-Folge folgt.

Zum Lesen

Kapitel 10 aus Bleek, W.-G. und Wolf, H., „Agile Softwareentwicklung. Werte, Konzepte, Methoden“, dpunkt.verlag, Heidelberg, 2008.

http://de.wikipedia.org/wiki/Paarprogrammierung

http://osdir.com/ml/programming.extreme-programming.xp-explained2/2004-10/msg00024.html

http://en.wikipedia.org/wiki/Stand-up_meeting

http://www.extremeprogramming.org/rules/standupmeeting.html

http://www.martinfowler.com/articles/itsNotJustStandingUp.html

Zum Ausprobieren

http://blogs.atlassian.com/developer/2009/06/getting_started_with_agile_daily_standup_meetings.html

http://www.atlassian.com/agile/practices/communication.jsp

Und als Schmankerl

http://de.wikipedia.org/wiki/Paul_Watzlawick#Kommunikationstheorie

In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” beschäftige ich mich mit der Frage, wie ein Software-Entwicklungsprojekt gestartet wird.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: RSS iTunes

Zum Lesen

http://de.wikipedia.org/wiki/Projektphase

http://de.wikipedia.org/wiki/Rational_Unified_Process

Realistisches Projektdesign: Projektarbeit in einer wenig berechenbaren Welt, Johannes Gärtner, vdf Hochschulverlag AG, 2004, ISBN 3728129348, 9783728129345, 183 Seiten

In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” beschäftige ich mich mit der Frage, wie ein Software-Entwicklungsprojekt gestartet wird.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: RSS iTunes

Direkter Link zu dieser Podcast-Folge folgt.

Zum Lesen

http://de.wikipedia.org/wiki/Projektphase

http://de.wikipedia.org/wiki/Rational_Unified_Process

Realistisches Projektdesign: Projektarbeit in einer wenig berechenbaren Welt, Johannes Gärtner, vdf Hochschulverlag AG, 2004, ISBN 3728129348, 9783728129345, 183 Seiten

The Tipping Point

In den letzten Tagen habe ich das Buch „The Tipping Point“ von Malcolm Gladwell (Amazon Link zu „The Tipping Point“) gelesen. Es erarbeitet in diesem Buch Konzepte anhand von einer Reihe spannender Beispiele, warum kleine Dinge eine Situation zum Umkippen bringen können. Beispiele sind dafür sowohl Modetrends als auch ansteckende Krankheiten.

Er führt dazu drei grundlegende Konzepte ein: „the Law of the Few“, „the Stickyness Factor“ und „the Power of Context“. Alle drei zusammen liefern ein Erklärungsmodell, wieso bestimmte Situationen „tippen“.

Spannend finde ich die Frage, ob man diese Konzepte auch auf die Informatik und speziell die Software-Entwicklung übertragen kann. Dabei frage ich mich, ob bestimmte Programmiersprachen, Bibliotheken oder auch Applikationen (insbesondere die aus dem Open-Source-Bereich) nicht nach den gleichen Regeln zu einer breiten Verwendung finden oder eben in der Versenkung verschwinden.

Ich kann das Buch allen empfehlen, die sich dafür interessieren, warum bestimmte Massenphänomene eintreten. Auch wenn das Buch schon aus dem Jahr 2000 ist halte ich es nach wie vor für aktuell. Wer diese Tage etwas von Malcolm Gladwell lesen möchte, kann im aktuellen Zeit Magazin ein Interview zu der Frage lesen, was eine gute Idee ausmacht.

In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” interviewe ich Professorin em. Christiane Floyd zum aktuellen Stand der inkrementellen Softwareentwicklung.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: http://www.wolfgideonbleek.de/podcast/SoftwaretechnikKompakt.xml

Zum Lesen

http://agis-www.informatik.uni-hamburg.de/swt/people/christiane-floyd/

http://de.wikipedia.org/wiki/Liste_von_Softwareentwicklungsprozessen

http://de.wikipedia.org/wiki/Spiralmodell

http://de.wikipedia.org/wiki/Agile_Softwareentwicklung

http://de.wikipedia.org/wiki/Extreme_Programming

http://de.wikipedia.org/wiki/Prototyping_(Softwareentwicklung)

In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” geht es darum, regelmäßig die Arbeitsergebnisse an einem zentralen Ort zu integrieren, um ein lauffähiges Gesamtergebnis zu bekommen.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: http://www.wolfgideonbleek.de/podcast/SoftwaretechnikKompakt.xml

Zum Lesen

http://www.martinfowler.com/articles/continuousIntegration.html

http://www.methodsandtools.com/archive/archive.php?id=42

http://de.wikipedia.org/wiki/Kontinuierliche_Integration

Zum Ausprobieren

  • Anthill
  • CruiseControl
  • Cruise
  • Hudson
  • LuntBuild

Ich bin Absolvent der Universität Hamburg und gestern war das initiale Treffen des Alumni-Rates der Universität, dessen Mitglied ich nun bin. Dieser Alumni-Rat soll als eine Dach-Organisator helfen, die verschiedenen Alumni-Aktivitäten der Fachbereiche oder Fakultäten zu befördern und allen Absolventen die Möglichkeit geben, nach dem Studium mit der Universität Hamburg in Kontakt zu bleiben.

Nähere Informationen zu HamburgAlumni findet man unter: http://www.hamburgalumni.de/

Für die Universität Hamburg, Department Informatik – Softwaretechnik-Gruppe, habe ich eine Diplomarbeit zur Verbesserung von Testbarkeit, Entwicklungskomplexität und Architektur betreut. Sönke Thiesen hat dazu in einer praktischen Arbeit die Oberflächentechnologie einer Web-Anwendung ausgetauscht, um die o.g. Kriterien positiv zu beeinflussen.

Spannend dabei ist, welche Oberflächen-Rahmenwerke besonders gut geeignet sind, die o.g. Kriterien zu verbessern.

Unter folgender URL kann seine Arbeit heruntergeladen werden.

http://swt-www.informatik.uni-hamburg.de/publications/studdipl.php

In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” geht es darum, die Programmierarbeit in möglichst kleinen Aufgaben zu organisieren.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: http://www.wolfgideonbleek.de/podcast/SoftwaretechnikKompakt.xml

Clean Code

Gestern war ich auf der Lehmanns-Veranstaltung zu Clean Code.

Das Thema hat mir sehr gefallen. Wichtigste Referenz, die von den Vortragenden genannt wurde, ist sicherlich das Buch “Clean Code” von Robert C. Martin. Das habe ich mir gleich gekauft. Wir praktizieren in unserer Entwicklungsabteilung bei blueCarat etwas vergleichbares seit längerer Zeit. Wir vermeiden “Müll” im Quelltext im Sinne der Broken-Window-Theory und räumen auch regelmäßig auf. Gut finde ich, wie in der Veranstaltung “Clean Code” motiviert wurde. Welche Prinzipien, Regeln und Praktiken dafür stehen und wir man sich schrittweise diesem Prinzip nähern kann.

Besonders nett fand ich die Pfadfinder-Regel: Verlasse einen Platz immer etwas besser, als du ihn betreten hast.

Und das SOLID Prinzip scheint mir ebenfalls sehr wertvoll zu sein. Es wird in dem Buch von Robert C. Martin ausführlich diskutiert.

Es gibt für die Clean-Code-Initiative auch eine Webseite: http://www.clean-code-developer.de/

Für die Universität Hamburg, Department Informatik – Softwaretechnik-Gruppe, habe ich eine Diplomarbeit zur Einbindung mobiler Geräte in eine Online-Anwendung betreut. Ilker Daricili hat dazu eine Architektur entwickelt, die einer Reihe von Aspekten (Performance, Kontrollfluss, Datendurchsatz und natürlich Sauberkeit) Rechnung trägt.

Spannend sind die von ihm identifizierten Integrationspunkte in die Architektur.

Unter folgender URL kann seine Arbeit heruntergeladen werden.

http://swt-www.informatik.uni-hamburg.de/publications/studdipl.php