Startseite > Techblog > .NET, Softwareentwicklung > .Net Open Space rockt!
dri

Als gestern kurz nach 9:00 Uhr der zweite .Net Open Space in Leipzig startete, waren auch 4 der .Net Freaks von Communardo mit an Bord. Beim Weckerklingeln um 5:45 Uhr hatte ich mich zwar noch kurz gefragt: “Was tust du hier eigentlich? Am Samstag!?”, aber nach einem freundlichen Empfang und einem großen Milchkaffee im Leipziger Mediencampus Villa Ida sah die Welt schon viel besser aus und ich harrte neugierig der Dinge, die da kommen würden… Nach einem sehr gelungenen Communardo-internen Open Space im Juni 2009 war ich zwar kein absoluter Newbie mehr, aber doch gespannt, wie das wohl mit ungleich mehr Teilnehmern funktionieren könnte. Und wie es funktionierte!

Sessionplanung

Nach der lockeren Eröffnung des Raumes und Einführung in die Open Space Prinzipien und das “Gesetz der 2 Füße” erstellen alle gemeinsam einen Sessionplan und – schnell noch ein Stück von dem leckeren Kuchen gegriffen – geht es auch schon in die erste Session, für mich ist das “Requirements Engineering – HowTo? und Best Practices”. Dort geht es von der ersten Minute an hitzig zur Sache, es wird aber auch ziemlich schnell deutlich, dass es eben leider kein Patentrezept für das richtige Maß, die Granularität, die Rollenverteilung oder die “richtigen” Methoden für die Anforderungserhebung gibt. Was in der einen Firma und mit dem einen Kunden super funktioniert, kann in einer anderen Firma, mit einem anderen Kunden total vor den Baum gehen. Was ich mir aus der Diskussion mitnehme: Es gibt keine 100%ige Anforderungserfassung. Es passiert nicht, dass sich keine Anforderung während der Projektlaufzeit ändert. Das Ziel, dass es zu erfüllen gilt, ist Kundenzufriedenheit. Die Wege dahin können variieren.

Als nächstes gehe ich zur BDD-Session. Mit Behaviour Driven Development habe ich überhaupt noch keine Erfahrungen gesammelt, ich hoffe aber, von den anderen etwas lernen zu können. Als erstes höre zwei Aussagen zu BDD, die es für mich recht gut auf den Punkt bringen: BDD ist eine Erweiterung von TDD, die Benamung (in Domänensprache)  und Best Practices beinhaltet und durch Frameworks unterstützt wird. TDD führt zu wartbarem Code, BDD zu wartbaren Tests. Es gibt verschiedene Frameworks, die irgendwie alle Vor-und Nachteile haben:  ich merke mir MSPEC, RSPEC for .Net, NBehave, BDD Extensions for XUnit. Die Einstiegshürde ist in jedem Fall ziemlich hoch, ein guter  Tipp dafür ist Pair Programming. Zum Schluss die Ernüchterung: Auf die Frage: “Wie beginne ich denn am besten mit BDD, wenn ich ein SharePoint-Projekt habe?” kommt die prompte Antwort: “Nimm ein anderes Projekt!”. Also wird es bei uns wohl in absehbarer Zeit auch nichts werden mit praktischen Erfahrungen in BDD…

Die erste Session nach der Mittagspause befasst sich mit Clean Code Development, speziell unter dem Gesichtspunkt der Motivation (Kollegen, Projektleiter, GF) – erwartungsgemäß wird es sehr voll und die Diskussion wieder sehr hitzig. Hier einfach mal ein paar Schnipsel, die mir aufhebenswert erschienen:

  • Refactoring macht man nicht zum Selbstzweck! (sondern z.B. wenn ich ein neues Feature einbauen will und das mit dem vorhandenen Code nicht vernünftig geht)
  • Bei toolunterstütztem Refactoring ist das Risiko “relativ” gering.
  • Vorgehensweise für Refactoring:
    1. Test(s) schreiben
    2. Refactoring (Tests müsse erfolgreich sein)
    3. Neues Feature einbauen
  • Wie sinnvoll ist es, Clean Code Development im Prozess zu verankern?
  • In einer Firma mit 70 Entwicklern wird es nicht funktionieren, dass alle einen gemeinsamen Konsens zu Clean Code finden. Trotzdem kann jeder einzelne es für sich tun.
  • Um Entwickler an Clean Code Development heranzuführen, ist Pair Programming (erfahrener “Clean Code” Entwickler und Frischling) eine gute Maßnahme.
  • Bei Open Source Projekten klappt es doch auch mit “Shared Code Ownership”!

Bei der nachfolgenden Session zu CI und Build Scripts geht es hauptsächlich um das Problem, mit überschaubarem Aufwand abhängige Komponenten mit deployen zu können, es sitzen Java-Entwickler mit in der Runde und mit Maven geht das wohl völlig klaglos. Das Codeplex-Projekt NPanday zur Integration von Maven in .Net allerdings ist im derzeitigen Entwicklungsstand noch nicht freudvoll nutzbar. Für mich überraschend ist, dass nur 3 in der Runde überhaupt TFS benutzen (wegen der exorbitanten Lizenzgebühren), alle anderen entweder TeamCity oder CruiseControl.Net für das Build Management, die meisten Subversion für die Quellcodeverwaltung und Trac für Bugtrackig/Issue Management.

Letzte Session für heute ist UI Sketching – Tools und Erfahrungen. Wenn man mal von Visual Studio absieht, werden 4 Tools in der Runde für das UI Sketching verwendet: Power Point, Visio, Balsamiq Mockups und Expression Studio 3 Sketch Flow. Von Balsamiq Mockups (das leider wegen WLAN-Ausfall nicht vorführbar war) gibt es wohl eine kostenlose Version mit ein paar Einschränkungen bzgl. der Speicherung von Screenshots, mit denen man aber leben kann. Sollte ich mir mal anschauen. Sketch Flow kommt recht beeindruckend mit ein paar netten Features daher:

  • Mehrere Formulare können verbunden und so ein Click Dummy erstellt werden, der an den Kunden ausgeliefert werden kann. Der Kunde kann dann darin herummalen und Kommentare anfügen und das Ganze wieder zurückschicken.
  • Eine Navigationskarte für die Formularnavigation fällt automatisch mit ab.
  • Genau wie bei Balsamiq Mockups kann ein Skizzenlayout verwendet werden.
  • Pro Formular können Notizen hinzugefügt werden, ein Export nach Word mit Navigationskarte, Screens und Notizen rundet die Funktionalität ab.

Allerdings ist es recht behäbig und in der Bedienung alles andere als  intuitiv. Für Entwickler ist es ok, aber Grafikdesigner oder Consultants dürften nicht besonders glücklich damit werden.

SN856661

Und damit geht der erste Tag des .Net Open Space 2009 in Leipzig zu Ende. Für mich ist es (leider) auch das Ende der Veranstaltung – muss am Sonntag auch mal der Familie etwas Zeit widmen… Mein Resümee: Open Space ist eine coole Erfahrung, man lernt selber dazu und kann Wissen weitergeben, und es macht einfach Spaß, sich ungezwungen mit Gleichgesinnten auszutauschen. Die “geordnete Anarchie” ist eine Organisationsform, die Entwicklern wohl auch entgegenkommt :-) . Und dieser .Net Open Space 2009 in Leipzig ist super organisiert – ein Dank an die Organisatoren und natürlich auch an die  Sponsoren, die das alles letztendlich ermöglicht haben. Dass Communardo zu den Sponsoren gehört, erzeugt in mir ein gutes Gefühl…

Kommentar Feed Trackback URL
4 Antworten zu:
“.Net Open Space rockt!”
  1. sjancke sagt:

    Kleine Vervollständigung zu CI+Buildmangagement:
    Wir sprachen in der Session von NPanday (http://www.codeplex.com/npanday/) und nicht vom verlinkten Plugin.

    Antwort von Dorrit Riemenschneider am 25.10.2009: Danke für den Hinweis! Habe Verweis + Link entsprechend angepasst.

  2. TorstenHu sagt:

    RT @SharePoint_Team: Communardo auf dem .NET OpenSpace in Leipzig #netos2009 – ein Resümee: http://bit.ly/3aldh6
    This comment was originally posted on Twitter

  3. RT @SharePoint_Team: Communardo auf dem .NET OpenSpace in Leipzig #netos2009 – ein Resümee: http://bit.ly/3aldh6
    This comment was originally posted on Twitter

  4. Communardo auf dem .NET OpenSpace in Leipzig #netos2009 – ein Resümee: http://bit.ly/3aldh6
    This comment was originally posted on Twitter

Hinterlassen Sie einen Kommentar

Tag Cloud

Unsere Themen

Kommentare

  • Niels Jaeckel: Hallo Ralf, wir haben heute das Benno auf die Version 1.1.3 aktualisiert. Dort funktioniert die...
  • Patrick: Super und Vielen Dank für diesen Artikel!! War genau das, was ich gesucht habe und hat mir sehr geholfen
  • hanjo: whileprintingrecords; {Gruppierfeld}=Previous({Grupp ierfeld}) Gruppierfeld natürlich. Bug im Editor, hat die...
  • hanjo: Bedingte Unterdrückung Detailbereich wie beschrieben. Bedingte Unterdrückung Gruppenkopf 1b:...
  • Niels Jaeckel: Hallo Ralf, wir haben es noch nicht mit dieser Benno-Version getestet. Allerdings steht das Update auf...

Twitter