-
ACHTUNG - NEUES BLOG
Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
|
Mit Unit Tests zur einfacheren und intuitiveren Verwendung
15.09.08 - Entwicklung, Diskussionen, Software Testing, Qualitätsmgmt. Beitrag von Norbert Eder| | Unit Tests sind ein Thema bei dem es Entwickler wie Ärzte halten: Gehe zu vier Ärzten und erhalte fünf Meinungen. Bei Unit Tests läuft es auf dieselbe Art. Also wie jetzt wirklich?
Mit den in Visual Studio integrierten Test-Möglichkeiten sollte man meinen, dass der Entwickler nun wirklich keine Ausrede mehr parat hat, Unit Tests nicht zu schreiben. Weit gefehlt. In vielen Projekten werden derartige Tests noch immer vernachlässigt bzw. im schlimmsten Fall nicht angedacht. Einen der Hintergründe - das Thema Aufwand - hatte ich schon einmal versucht, aus dem Weg zu räumen. Oft erscheinen Tests jedoch auch zu kompliziert, oder es wird diese großartige Unterstützung schlicht einfach nicht bedacht.
Für Unit Tests spricht aber nicht nur, dass damit die Fehlerfreiheit von Teilen der Software verbessert und laufend überprüft werden kann. Der Entwickler kann damit sich selbst, dem Team und neuen, zukünftigen Mitgliedern die Arbeit ebenfalls wesentlich erleichtern. Wie denn das?
Der Eckpfeiler daran ist, sich vor der tatsächlichen Implementierung eines Arbeitspaketes Gedanken zu machen, wie die resultierenden Klassen getestet werden können. Idealerweise werden die Tests vor der Entwicklung dieser Teile geschrieben, muss aber nicht zwingend passieren. Da sich der Entwickler nun im Vorfeld schon Gedanken über die Verwendung macht, wird daran gefeilt, bis eine leichte, intuitive Verwendung möglich ist. Schließlich möchte niemand 10 Zeilen Sourcecode schreiben, nur um eine einfache Berechnung auszuführen. Das Ergebnis ist also ein klares, einfach verständliches Design, welches sowohl die gestellte Aufgabe erfüllt und zudem nach der Implementierung voll funktionsfähig ist. Fehlen Gedanken zur Anwendung, kann letzterer Punkt nicht immer sichergestellt werden. Änderungen am Design sind daher im Nachhinein nötig und führen mitunter sehr schnell zu einer Verwässerung des ursprünglichen Designs.
Der Nachteil daran ist einfach erklärt: Neben der Notwendigkeit, sämtliche Dokumentationen zu ändern (Design Dokument etc.) hat sich durch die spätere Änderung das Design eventuell so stark verändert (meist durch Work-Arounds), dass die Code-Teile nicht mehr intuitiv zu verwenden sind. Team-Kollegen, neue Mitstreiter oder eventuelle Kunden, die programmiertechnisch damit in Berührung kommen, müssen sich lange durch die Dokumentation quälen anstatt durch einen ersten schnellen Tests die Funktionsweise zu verstehen. Eine einfache Sache kann also schnell zu einer Katastrophe ausarten.
Der weitere Ablauf liegt ebenso auf der Hand: Irgendwann wird ein anderer findiger Entwickler diesen Sourcecode zur Überarbeitung markieren. Es entsteht ein Arbeitspaket mit der Prioritätsstufe niedrig - wenn sich einmal Zeit findet. Bis dieser Tag angebrochen ist (in der Regel nie) werden an diesen Stellen vermutlich zahlreiche Funktionserweiterungen implementiert. Ein einfaches Austauschen ist somit auch nicht mehr möglich. Treten zu einem späteren Zeitpunkt gerade hier vermehrt Fehler auf, wird ein alter Spruch missbraucht: Das ist im Laufe der Zeit so gewachsen..
Als Tipp kann ich daher nur jedem Entwickler mitgeben: Bereits im Vorfeld sind Gedanken über die spätere Verwendung von Code-Teilen notwendig. Sinnvoll kann es natürlich sein, nach einem ersten Grob-Design mit einem Testfall zu beginnen. Anhand dessen kann abgeleitet werden, ob die angedachte Verwendungsweise tatsächlich gut ist, oder ob Nacharbeit notwendig ist. Nach zwei bis drei Iterationen über diese Punkte hat sich ein Verständnis für dieses Arbeitspaket entwickelt und auch die Verwendung sollte weitaus klarer und intuitiver sein, als dies vermutlich beim ersten Ansatz der Fall war.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Trickkiste goes Silverlight
13.09.08 - Blog-Intern Beitrag von Norbert Eder| | Die Trickkiste ist eine der beliebtesten Seiten hier auf meinem Blog und war bisher eine reine Linksammlung zu ausgesuchten Blogeinträgen. Das hat sich nun auch nicht wirklich geändert. Was aber neu ist:
Die Einträge werden nicht mehr nur als simple Links angezeigt, sondern werden nun durch eine Silverlight-Anwendung präsentiert. So ist es nun möglich, durch die einzelnen Kategorien zu klicken, als auch nur über die enthaltenen Artikel zu suchen.
Wie steht ihr zu dieser Veränderung?
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Impressionen meiner Hochzeit
12.09.08 - Blog-Intern Beitrag von Norbert Eder| | Eine Hochzeit ist ein wunderschönes Ereignis, an dem nur leider nicht alle teilnehmen können. Daher möchte ich einige Fotos bereit stellen - schließlich wurde ich bereits von zahlreichen Freunden, Bekannten und Lesern darauf angesprochen.
Die Fotos wurden übrigens vom Fotostudio Furgler geschossen.
| | | 7 Kommentare
- 1445 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Technical Summit 2008 Gewinnspiel: Das Ergebnis
12.09.08 - .NET, Allerlei, Internet, Community Beitrag von Norbert Eder| | Das Gewinnspiel zum Technical Summit 2008 ist vorbei und die glücklichen Gewinner wurden gezogen.
Die richtigen Antworten waren:
- Frage 1: Antwort A
- Frage 2: Antwort A
- Frage 3: Antwort A
- Frage 4: Antwort C
Die glücklichen Gewinner sind:
Eine entsprechende Benachrichtigung wurde per Email ausgesendet.
Den Gewinnern möchte ich meinen Glückwunsch aussprechen, als auch ein Dankeschön an die zahlreichen Teilnehmer.
| | | 1 Kommentar
- 718 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
MSDN Social Bookmarking
11.09.08 - Internet, Community Beitrag von Norbert Eder| | Wie Kai Giza berichtet, ist MSDN Social nun online.
Damit erhält der Benutzer die Möglichkeit, eigene Bookmarks zu verwalten. Diese können öffentlich, als auch privat sein. Darüber ist es zusätzlich möglich, schnell interessante Inhalte zu finden. Ebenfalls können "fremde" Inhalte abonniert werden.
Insgesamt eine nette Idee und auf jeden Fall förderlich für die MSDN. Vollständige Informationen zu diesem Thema finden sich hier.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Einfache Verbesserungen für kleine Teams
11.09.08 - Diskussionen, Patterns, Projektmgmt., Qualitätsmgmt. Beitrag von Norbert Eder| | Immer wieder, wenn ich mit kleinen Entwickler-Teams zu tun habe, sehe ich, dass dieselben Probleme vorhanden sind. Meist dreht es sich um die folgenden Punkte:
- Das Projekt wurde nicht ausreichend spezifiziert. Der Auslöser für das Projekt kennt die genauen Anforderungen, brachte diese jedoch nie vollständig in ein Dokument. Sollte ein Dokument vorhanden sein, findet dieses oft nicht den Weg zum Entwickler. Daher erhält dieser oft unzureichende Informationen, um das Projekt erfolgreich durch zu führen.
- Keine Arbeitspakete. Soll ein Projekt durchgeführt werden, muss eine Analysephase durchlaufen werden. Im Zuge dieser Phase sind Arbeitspakete zu definieren. Diese erleichtern zum Einen die Abgrenzung zu anderen ToDo's und ermöglichen eine Kontrolle. Zeitschätzungen dafür werden sehr oft ebenfalls nicht angegeben. Deswegen gestaltet sich eine Kontrolle schwierig.
- "Drauf-los-Entwicklung". Die Vorgaben sind bekannt und es wird einfach einmal entwickelt. Zukünftige Anforderungen werden nicht in Betracht gezogen, auch wird erst bei der Integration der einzelnen Teile in Erfahrung gebracht, ob diese überhaupt miteinander harmonieren. In den meisten Fällen sind größere Änderungen notwendig.
- Kontrolle. Zum Thema Kontrolle gibt es zwei Wege die hauptsächlich durchschritten werden: Entweder findet keine Kontrolle statt (oder erst ca. 2 Wochen vor Auslieferung) oder es wird versucht das ultimative Kontrollsystem einzuführen. Oft wird hierbei jedoch auf notwendige Vorarbeiten vergessen, wodurch eine Kontrolle gar nicht durchgeführt werden kann (Arbeitspakete in Kombination mit Zeitschätzungen als Beispiel).
- Ressourcen-Planung. Ressourcen müssen geplant werden. Freie Kapazitäten sollten vor Annahme eines Projektes bekannt sein. Ebenso sollte bekannt sein, dass eventuell zwischenzeitlich Ressourcen für andere Projekte abgestellt werden müssen - und zu welchem Umfang. Viele Teams werden von plötzlicher Ressourcen-Knappheit überrascht, da plötzlich Entwickler zu anderen Projekten abgezogen werden müssen. Es gilt daher eine saubere Ressourcen-Planung durch zu führen und - wenn notwendig - frühzeitig für Ausgleich zu sorgen.
- Der fehlende Architekt. Nicht jeder Softwareentwickler ist zum Architekten geboren. Großes Wissen und viel Erfahrung ist notwendig, um zukunftssichere Grundgerüste zu entwickeln. Gerade kleine Teams haben oft keinen "gelernten" Architekten zur Verfügung. In diesem Fall kommt es für die meisten Projekte billiger, sich zumindest für das Grundgerüst eine entsprechende Person zu zu kaufen.
Dies sind einige Punkte, auf die ich immer wieder in der Praxis stoße. Die einen Teams leben dabei nach dem Motto "Es wird schon irgendwie gehen", wobei die anderen definitiv nach Verbesserung streben. Ich persönlich kann nur jedem Team bzw. jedem kleinen Softwareunternehmen raten, sich zumindest für ein paar Stunden einen Spezialisten zu zu kaufen. Sind bisherige Abläufe bekannt (grobe Abläufe lassen sich in kurzer Zeit ohne Weiteres feststellen), können selbst kleine Änderungen große positive Auswirkungen auslösen.
Will ein Unternehmen dafür kein Geld an externe Personen vergeben, dann sollten zumindest meine aufgeführten Punkte mit der eigenen Vorgehensweise reflektiert werden. Alleine daraus lassen sich einige Verbesserungsmaßnahmen ableiten.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Reminder: Gewinnspiel Technical Summit 2008
10.09.08 - Internet, Community Beitrag von Norbert Eder
Neue Artikel - Nachtrag
09.09.08 - .NET, WPF, ASP.NET Beitrag von Norbert Eder| | In der Liste meiner Zeitschriften-Artikel fehlten bis dato noch zwei Stück, beide noch gar nicht alt. Diese wurden nun der Vollständigkeit halber hinzugefügt und wollen auch hier genannt werden.
XBAPperlapapp - WPF-Browseranwendungen genauer hinterfragt
ASP.NET professional 02 2008
Mit der Windows Presentation Foundation können nicht nur Client-Anwendungen entwickelt werden. Abgesehen von Silverlight besteht auch noch die Möglichkeit, so genannte WPFBrowseranwendungen zu implementieren. Dieser Artikel bietet eine kurze Einführung und ein ausführliches Beispiel.
ASP.NET professional Ausgabe 02/2008
MVC und das Model namens WF
ASP.NET professional 01 2008
Das Model View ControllerPattern ist unter vielen Entwicklern bekannt – vor allem durch das MVC-Framework von Microsoft für ASP.NETEntwickler. In diesem Artikel wird das herkömmliche MVC Pattern erklärt und gezeigt, wie das Model durch die Workflow-Foundation ausgetauscht werden kann.
ASP.NET professional Ausgabe 01/2008
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
.NET GUI: Zeit des Neuen
05.09.08 - .NET, WPF, Internet, Community Beitrag von Norbert Eder| | Nach den letzten sehr anstrengenden Wochen und Monaten ist nun ein wenig Ruhe angebrochen. Somit findet sich endlich wieder Zeit an den aktuellen Projekten zu arbeiten. Eines davon ist - wie einige wissen - meine Community http://dotnet-gui.com.
Nun hat es bereits eine Neuerung gegeben: Seit kurzem hat sich der erste begeisterte Blog-Schreiber gefunden, der unter dem Motto WPF Tools eben solche für WPF vorstellt und beschreibt. Weitere Interessenten können sich gerne bei mir melden.
Um die Qualität zu verbessern und einen weiteren Schritt in Richtung Community zu machen, wurde von mir ein Forum für Umfragen eröffnet. Darin wurden bereits die ersten beiden Umfragen gestellt:
Diese Umfragen dienen dazu, auf die Bedürfnisse der Benutzer einzugehen und somit die Community an Eure Bedürfnisse anzupassen.
Daher bitte ich um eine rege Teilnahme und viele Kommentare.
Für Fragen, Unterstützung etc. stehe ich jederzeit zur Verfügung.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Der große Tag ...
30.08.08 - Blog-Intern, Kunterbunt Beitrag von Norbert Eder| | ... ist HEUTE!
Einige von Euch mögen sich ja bereits gewundert haben, wieso ich die letzten Tagen und Wochen eher schreibfaul war, Anfragen verspätet beantwortet wurden und generell ein "wenig die Luft weg" war.
Ich bin zwar nicht unbedingt jemand, der gerne über sein Blog Persönliches verteilt, aber heute sei eine Ausnahme gemacht - schließlich ist es ein wahrer Freudentag und erklärt zudem auch den ersten Absatz.
Läuft alles wie geplant, werden sich meine Herzensdame und ich heute das Ja-Wort geben und einen höchst wundervollen Tag gemeinsam mit Familie und Freunden verbringen.
Um uns und allen geladenen Gästen eine schöne Feier zu bereiten, musste viel Vorarbeit geleistet werden (einige meiner Leser werden davon ein Liedchen singen können) und daher war auch ich gezwungen, meine Community-Tätigkeiten (auch andere "litten" darunter) einzuschränken.
Und nein: Ich bin nicht nervös. *kicher*
So, jetzt muss ich mich beeilen :)
| | | 10 Kommentare
- 926 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL | Zurück Weiter
|
|
|
|
|
|
|