.NET Blog   ·   .NET Casts   ·   .NET GUI Foren   ·   .NET BlogBook   ·   WPF Blogger   ·   visual studio one   ·   ASP.NET professional

  • 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.
Download .NET Essentials Installer
Trickkiste

"Alles Neu" ist besser!

30.10.08 - Entwicklung, Diskussionen, Projektmgmt., Qualitätsmgmt.
Beitrag von Norbert Eder
 Nicht nur kleine Unternehmen oder einzelne Softwareentwickler erwischt es. Nein, auch große Konzerne wie Microsoft. So geistert die Meldung durch das Internet, dass Microsoft die Workflow Foundation von Grund auf neu entwickeln wird. Oder zumindest einen Großteil, so genau kann das wohl niemand mit absoluter Sicherheit sagen. Aber ist das grundsätzlich schlecht?

Die wichtige Frage dabei ist wohl, aus welchem Grund eine Neuentwicklung passiert. Gründe hierfür lassen sich einige finden:
  • Technologie-Wechsel
  • Performance-Probleme
  • Mangelnde Erweiterbarkt
  • Design-Fehler
  • Sich veränderte Anforderungen

Dies ist nur als kleiner Auszug aus möglichen Gründen für eine komplette Neuentwicklung einer Software oder eines Frameworks zu sehen. Aber kommen wir zur Frage, wann denn eine neue Implementierung tatsächlich gerechtfertigt ist.

Der Ursprung dieses Gedankens liegt meist darin, dass gewünschte Anforderungen nicht mehr den Wünschen entsprechend umgesetzt werden können, oder aber laufend Probleme auftreten, die nicht in den Griff zu bekommen sind. An dieser Stelle muss nun gegenübergestellt werden, wie es um den Aufwand aussieht, der notwendig ist, diese Probleme in den Griff zu bekommen. In manchen Fällen rechnet es sich durchaus, einen Schritt zurück auf das "Startfeld" zu machen und die Implementierung der gesamten Software, oder der relevanten Teile neu zu beginnen.

Bei einem anstehenden Technologie-Wechsel werden sich einige Fragen nicht stellen. Hier steht der Wunsch (oder der Zwang) im Vordergrund, auf eine neue Technologie zu wechseln. Die Gründe können unterschiedlicher Art sein:
  • Fehlende Möglichkeiten
  • Effizienz-Einbußen
  • usw.

Treten tatsächlich Probleme auf (Performance, mangelnde Erweiterbarkeit), dann ist grundsätzlich Handlungsbedarf immer als dringend anzusehen. Können die Ursachen lokalisiert und dauerhaft gelöst werden (und das mit vertretbarem Aufwand) sollte darin investiert werden. Ist dies nicht der Fall, oder treten zusätzlich eigenartige Verhaltensweisen auf, dann kann durchaus an eine Neuentwicklung gedacht werden.

Auch eine Neuentwicklung bringt so ihre Probleme mit sich. Vor allem, wenn bereits Releases in Umlauf sind. Idealerweise sollten sich Schnittstellen nicht ändern. Bei einem Redesign bzw. einer Neuimplementierung ist dies allerdings nicht immer möglich. Um den neuen Anforderungen gerecht zu werden muss auch die API Neuerungen erfahren. Dies bringt sehr oft eine Inkompatibilität zu vorhergehenden Versionen mit sich. So in einigen Bereichen auch bei der geplanten Workflow Foundation. Damit gewisse Anforderungen erfüllt werden können, muss ein Bruch zur "alten" Version stattfinden. Er ist unvermeidbar. Schlecht für all diejenigen, welche die aktuelle Version einsetzen. Gut für diejenigen, die es schaffen, erfolgreich auf die künftige Version zu migrieren bzw. überhaupt erst mit der neuen Version einsteigen.

Was ich ingesamt damit sagen möchte: Ist von einer Neuentwicklung der eigenen Anwendung die Rede, verfallen die meisten sofort in Panik. Bisheriges kann doch nicht so schlecht sein. Bis jetzt wurden alle Anforderungen erfüllt. Reine Abwehrhaltung. Die Anforderungen ändern sich. Auch die zugrunde liegende Technologie. Irgendwann kommt jedes Produkt an seine Grenze. Idealerweise wird bereits frühzeitig erkannt, wann dies der Fall sein wird. Erhöht sich der Erweiterungsaufwand, wird die Anwendung oder das Framework instabil sollte man auch in diese Richtung denken. Nicht jede Neueentwicklung bedeutet, dass das bisher Geleistete schlecht ist. Man muss agieren um auch zukünftig konkurrenzfähig zu sein/bleiben. Eine Kosten/Nutzen-Rechnung sollte jedoch nicht ausser Augen gelassen werden.

  1 Kommentar - 801 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


.NET BlogBook: Ausgabe 7 - ASP.NET

30.10.08 - .NET, ASP.NET, Internet, Community
Beitrag von Norbert Eder
 Unter http://www.dotnet-blogbook.com ist nun auch der Teil zu ASP.NET als Download verfügbar.

Auch darin spiegeln sich die neuen Änderungen wider. Und natürlich stehen neuen und überarbeitete Inhalte zur Verfügung.

Also gleich auf die Projektseite vom .NET BlogBook und herunter laden.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Ungarische Notation als Problemlieferant

28.10.08 - Entwicklung, Diskussionen
Beitrag von Norbert Eder
 Beim Durchsehen von Sourcecode fällt mir doch recht oft auf, dass die ungarische Notation noch häufig verwendet wird. Das, obwohl an vielen Stellen davon abgeraten wird. Was genau ist die ungarische Notation?

Bei der ungarischen Notation erhalten Variablen ein Präfix. Dieses Präfix beschreibt, von welchem Typ die Variable ist. Beispiele:
  • strName
  • dtBirthday
  • intCounter

Den Namen hat die ungarische Notation vom Erfinder: Charles Simonyi, einem Ungarn.

Doch warum wird von der ungarischen Notation abgeraten?

Hier gibt es eine ganz klare Antwort: Es gibt keinen Standard für die Wahl der Präfixe. Dies bedeutet, dass unterschiedlichste Präfixe für dieselben Typen verwendet werden und es daher nicht immer auf den ersten Blick ersichtlich ist, welcher Typ wirklich gemeint ist. Es entstehen dadurch also Verständnisprobleme, wo sie eigentlich nicht sein sollten.

Die Verwendung der ungarischen Notation sollte daher nie in Projekten verwendet werden, an denen unterschiedliche Unternehmen, Zweigstellen etc. involviert sind. Es mag zwar für ein Unternehmen, eine Zweigstelle eine Definition geben, diese muss jedoch nicht für andere gelten oder anderen bekannt sein.

Daher auch immer wieder der Rat, die ungarische Notation nicht zu verwenden.

  1 Kommentar - 759 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Durchdachte Prozesse als Heilmittel in der Softwareentwicklung?

27.10.08 - Entwicklung, Diskussionen, Projektmgmt.
Beitrag von Norbert Eder
 Die meisten Softwareschmieden haben das gleiche Problem: Die Softwareentwicklung durchläuft keinen klar definierten Prozess. Egal ob Feature, Bug oder Idee. Alles fließt in eine einige Datenhalde, die dann abgearbeitet wird. Prioritäten werden in den wenigsten Fällen vergeben. Ebenfalls finden sich oft kaum Beschreibungen, genaue Fehlerhinweise oder gar Konkretisierungen der gewünschten Anforderungen.
Immer wieder gerate ich in Unterhaltungen, in denen dieses Thema aufgegriffen wird. Meist ist man sich einig, dass am jeweiligen Software-Prozess Änderungen vorgenommen werden müssen. So einfach es theoretisch ist, treten doch in der Praxis zahlreiche Probleme auf. Wie kann man dem also entgegen wirken?

Eine der wichtigsten Aufgaben ist wohl, zu identifizieren was schief läuft und wo Handlungsbedarf besteht. Auch das klingt einfach und ist es schlussendlich nicht. Wo finden sich Ansatzpunkte?

Projektverantwortliche (unabhängig ob der Geschäftsführer, der Program Manager, der Project Manager usw.) finden sich immer wieder in der Situation, dass sie den aktuellen Entwicklungsstand nicht beurteilen können. So wird an der Businesslogik geschraubt, mit kaum sichtbaren Ergebnissen oder Erweiterungen finden ihren Weg in die Software, die auch erst im letzten Schritt eine Auswirkung auf das User Interface haben. Meist sehr unbefriedigend für denjenigen, der das Produkt seinen Kunden schmackhaft machen soll.

Die Entwickler auf der anderen Seite sehen sich damit konfrontiert, dass die Software im halbfertigen Zustand begutachtet wird, wobei doch gemachte Erweiterungen noch gar nicht sichtbar sein können. Aufgaben mit höchster Priorität werden verteilt, die aktuell nicht zum Entwicklungsstand passen und daher auch nicht wahrgenommen werden können. Zustätzlich werden in ein etwaiges vorhandenes System alle Punkte eingepflegt, sodass sie für jeden Entwickler sichtbar sind (eventuell sogar noch mit Benachrichtigung). Dies bringt definitiv Unruhe in das Entwickler-Team, da man sich automatisch Gedanken über Dinge macht, die zum aktuellen Zeitpunkt nicht relevant sind.

Resultat sind langwierige Diskussionen. Entwickler in ihrer technischen Welt auf der einen Seite und der wirtschaftliche Bereich auf der anderen. Wie gesagt: Stundenlanges Gerede. Jeder "spricht in seinen Worten". Die Annäherung geht gegen null. Schlussendlich glaubt jeder, die andere Seite verstanden zu haben, um bei nächster Gelegenheit zu merken, dass dem nicht der Fall ist.

Nun die entscheidende Frage: Wie kann Ordnung in dieses Chaos gebracht werden?

Es gilt den Wildwuchs von Informationen Herr (oder Frau) zu werden. Der Entwickler soll für ihn relevante Informationen zu Gesicht bekommen und nicht mehr. Dies bedeutet, dass - wie in agilen Prozessen üblich - Releasetermine definiert werden müssen. Jedes Release enthält eine klar abgegrenzte Feature-Liste. Diese wird mit Prioritäten versehen und entsprechend abgearbeitet. Zusätzliche (neue) Anforderungen werden für das aktuelle Release nicht mehr aufgenommen, sondern neuen Releases zugewiesen. Wichtig ist hier, dass die neuen Funktionalitäten klar definiert werden (genaue Spezifikationen müssen definitiv vorhanden sein, ebenfalls Use Cases usw.).

Wird ein Releaseplan zusammengestellt obligt es dem Entwickler eine Machbarkeitsanalyse durch zu führen und entsprechend Rückmeldung zu geben. Bei Machbarkeit erfolgt eine Aufwandsschätung. Darauf hin kann der "Auftraggeber" seine Prioritäten vergeben und festlegen, für welches Release dieser Punkt Relevanz hat.

Der Vorteil liegt klar auf der Hand:
  • Der Projektverantwortliche hält einen klaren Releaseplan in der Hand. Er weiß zu jeder Zeit, welche Features umgesetzt werden können und welche aus Zeitgründen in ein anderes Release verschoben werden müssen. Zusammen mit entsprechenden Auswertungen und Erfahrungswerten gelangt er zur Information, wieviel tatsächlich von seinem Team umgesetzt werden kann.
  • Der Entwickler erhält eine Liste von Punkten die umzusetzen sind. Änderungen (manche lassen sich leider nicht vermeiden, Blocker o.ä.) sind nicht vorgesehen. Er kann sich auf seine Aufgaben konzentrieren und muss sich mit neuen Aufgaben erst bei der Erstellung des nächsten Release-Planes beschäftigen. Er hat den Kopf für aktuelle Aufgaben frei.
  • Einer muss schließlich die Software verkaufen. Er hat aussagekräftige Informationen zur Hand, die er dem Kunden vorlegen kann. Zudem ist jedoch auch klar, dass mal eben ein Feature nicht untergeschoben werden kann. Dieses muss durch den Prozess durch und wird je nach Priorität und Aufwand einem bestimmten Release zugeordnet. Schwerwiegende Fehler sind davon natürlich ausgenommen. Natürlich kann sich durch die Wichtigkeit des Kunden bzw. des Punktes auch der nächste Release-Plan entsprechend verändern. Der aktuell vorliegende Plan sollte davon jedoch unberührt bleiben.

Dieser Prozess ist natürlich nur einer von vielen. An allen Ecken und Enden muss gefeilt werden. Idealerweise setzen sich jedoch Projektverantwortliche und Entwickler an einen Tisch und versuchen einen gangbaren Weg zu finden. Die Bedürfnisse sind auf beiden Seiten die gleichen:
  • Jeder möchte wissen, was im nächsten Release implementiert ist und was nicht.
  • Wie sieht es mit den nächsten Schritten aus? Was ist für zukünftige Releases geplant?
  • Wann sind wir fertig?
  • usw.

Fragen über Fragen. Ein sauberer Prozess kann nicht auf alles eine Antwort geben. Aber viele Antworten können erleichtert werden und durch zusätzliche Messungen kann festgestellt werden, wieviele Manntage tatsächlich innerhalb eines Monats umgesetzt werden können, was das für die Roadmap des Produktes bedeutet und viele weitere Angaben, welche die Planung erheblich erleichtern.

Vielleicht sind Projektverantwortliche und Entwickler in ihren Wünschen doch nicht so weit voneinander entfernt ...

  1 Kommentar - 851 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


OT: Ein Event in blau

20.10.08 - Kunterbunt
Beitrag von Norbert Eder
 Lange habe ich es mir gewünscht und gestern war es dann endlich soweit. Da konnte ich die Blue Man Group einmal live bewundern. In der Grazer Stadthalle gaben sie gestern das letzte von zwei Konzerten in Graz.

Auf super Plätzen harrte ich dann der Dinge, die da passieren würde. Eine wirklich gut durchdachte Show sorgte für das visuelle, als auch auditive Wohl. Einfach klasse. Ich möchte an dieser Stelle auch gar nicht viel von der Show verraten. Kurz: Man muss sie einfach gesehen haben.

Also wenn sie in der Nähe spielen und noch Karten zu haben sind, dann einfach los, kaufen und genießen. Wunderbar.

  1 Kommentar - 1005 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Blogumstellung, oder doch nicht?

16.10.08 - Blog-Intern
Beitrag von Norbert Eder
 Seit längerer Zeit spiele ich mit dem Gedanken, dieses Blog auf ein anderes - zeitgemäßeres - System umzustellen. Die Arbeiten dafür wären recht aufwändig, was aber grundsätzlich nicht das Problem darstellt, da doch schon einiges in diese Richtung geschehen ist.

Mich würde von meinen Lesern nun interessieren, wie ihr die Kriterien:

- Design
- Performance

empfindet. Müsste es hier eine Verbesserung geben, oder empfindet ihr das aktuelle System als durchaus ausreichend?

  7 Kommentare - 1077 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


.NET BlogBook geht in die 7. Runde

15.10.08 - Blog-Intern, .NET, Grundlagen, WPF, ASP.NET, Internet, Community
Beitrag von Norbert Eder
 Heute ist der Tag der Wahrheit. Es steht mittlerweile die siebte Ausgabe des .NET BlogBooks zur Verfügung.

Diese Ausgabe bringt eine Reihe an Neuerungen mit sich:
  • Es gibt aktuell kein gesamtes PDF mehr. Die einzelnen Teilbereiche wurden in einzelne Dateien verpackt. Damit bekommt jeder den Bereich, der in interessiert, Downloadgrößen und -zeiten werden dadurch minimiert.
  • Alles wurde in ein neues Layout verpackt. Damit wird sichergestellt, dass die Lesbarkeit nun besser gegeben ist und auch die Ergebnisse beim Druck positiver ausfallen.
  • Natürlich wurden auch neue Beiträge eingearbeitet.

Da dies einen relativ hohen Aufwand darstellt, steht zur aktuellen Zeit nur der Bereich Windows Presentation Foundation zur Verfügung. Die weiteren Teile werden im Laufe der kommenden Tage und der nächsten Woche nachgeliefert.

Auf jeden Fall würden wir uns über Rückmeldungen sehr freuen und hoffen, dass wir das erhaltene Feedback gut umsetzen konnten.

Weitere Informationen und Download-Möglichkeiten finden sich auf der Projekt-Homepage unter http://www.dotnet-blogbook.com

  3 Kommentare - 766 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Samsung q310 im Praxistest

14.10.08 - Kunterbunt
Beitrag von Norbert Eder
  Seit einigen Tagen bin ich nun im Besitz eines Samsung q310. Bis jetzt waren bei mir einige Dell-Laptops am Werke. Somit stellt dies für mich einen kleinen Blick über den Tellerrand dar.

Angeschafft wurde das Gerät mit Anforderungen an hohe Mobilität (klein, wenig Gewicht), dennoch gute Performance und natürlich einem guten Preis-Leistungsverhältnis. Auf den ersten Blick kann dieses Gerät alles erfüllen. Aber ist dem auch tatsächlich so?

Am meisten stört mich bei neuen Geräten immer wieder die vorinstallierte Software. Demo-Tools, Anwendungen, die noch lizenziert werden wollen usw. Natürlich entsprechen die meisten nicht der eigenen Liste an Tools, die man für gewöhnlich gerne verwendet. Hierbei möchte ich keinen Hersteller ausnehmen. Daher wird von mir gleich das gesamte System eingeebnet und meinen Wünschen und Vorstellungen entsprechend neu installiert. Also, neues Vista + die wichtigsten Tools rauf auf den neuen Rechner. Funktionierte soweit alles wunderbar.

Im Vergleich zu meinen zur Verfügung stehenden Dell-Notebooks war ich von einigen Dingen durchaus begeistert:

Das Display wird gut ausgestrahlt und läßt sich sehr gut an die aktuellen Gegebenheiten anpassen. Im Freien (und das war von Beginn an klar) wird es jedoch selbst mit allen Einstellungsmöglichkeiten haarig - dank dem glossy Display. Aber das ist eine Einbuße, die ich bewußt in Kauf genommen habe.

Sehr entgegen kommt mir die Tastatur. Diese besitzt genau den von mir bevorzugten Tastenanschlag und hinterläßt da natürlich einen sehr guten Eindruck. Die Anordnung der Tasten ist gut gelungen, die Abstände sind in Ordnung. Wer hier Apple-Tastaturen bevorzugt, wird höchstwahrscheinlich nicht ganz zufrieden sein. Weiters vorteilhaft ist die spezielle antibakterielle Oberfläche der einzelnen Tasten.

Für audiophile Personen sind die verbauten Lautsprecher eher weniger, bei so kleinen Geräten auch durchaus nicht verwunderlich. Mit Kopfhörer sieht es dann durchaus ein wenig anders aus. Passt auch bei den Kopfhörern die Qualität, läßt sich ganz gut Musik hören, mit einigermaßen gutem Klang. Wunder darf man sich hier allerdings keine erwarten.

Der allgemeine Geräuschpegel ist ebenfalls genau das, was ich mir gewünscht habe. Selbst bei einiger Belastung verhält sich das System ruhig und macht wenig bis keine Geräusche. Wer es noch leiser möchte, kann in einen speziellen Modus schalten und hört dann so gut wie gar nichts mehr. So soll es sein, wenn man in Ruhe arbeiten möchte. Hier kann ich als Vergleich meine Dell-Rechner heranziehen, die weit mehr Geräusche verursachen. An dieser Stelle sei auch erwähnt, dass es keine Klick-Geräusche, oder ähnliches gibt.

Wo wir denn gerade beim Geräuschpegel sind, muss ich die Festplatte erwähnen. Diese läuft absolut leise und ruhig, was jedoch auch den Nachteil hat, dass sie nicht die schnellste aller Platten ist. Dies macht sich gerade bei vielen Schreibzugriffen durchaus bemerkbar. Auch dies hatte ich eigentlich erwartet und schockt mich nicht weiter. Sollte sich im Laufe der Zeit herausstellen, dass mir die Gesamtleistung zu gering ist, kann an dieser Stelle selbst bei einem Laptop sehr einfach ein Tausch vorgenommen werden.

Ein weiterer wichtiger Punkt ist das Thema Verarbeitung. Es knarrt nichts, es läßt sich nichts verbiegen - alles macht einen stabilen Eindruck. Das Aufklappen geht meiner Meinung nach fast zu leicht, der Bildschirm hat aber dennoch einen stabilen Halt. Wollen wir mal hoffen, dass dem so bleibt.

Insgesamt macht das Samsung q310 einen sehr guten Eindruck und überrascht mich durchaus. Bis dato war ich Qualität von Dell gewohnt, welche leider in der letzten Zeit ein wenig nachgelassen hat und mich so zu einer Umorientierung gezwungen hat. Geräte von IBM/Lenovo wollte ich mir nicht leisten, da die für mich in Frage kommenden Geräte bei dem vorgesehenen Verwendungszweck einfach zu teuer waren. Ich kann das Samsung also bis jetzt durchaus weiter empfehlen. Ich hoffe, dass ich das auch noch in einem halben Jahr tun kann.

  5 Kommentare - 668 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Technical Summit 2008 - Early Bird usw.

13.10.08 - Blog-Intern, .NET, Offline, Konferenzen
Beitrag von Norbert Eder
 Leider bin ich nicht eher dazu gekommen, dies zu posten, aber hier noch schnell die Information über die Verlängerung des Early Birds für das Technical Summit, als auch für XTOPIA

Die Event-Organisatoren haben die Early-Bird-Aktion verlängert. Alle, die sich noch bis zum 15. Oktober für die XTOPIA und/oder den Technical Summit anmelden, können bis zu 150 Euro sparen.

Um den vergünstigten Preis zu erhalten, muss bei der Anmeldung lediglich ein Promo-Code angegeben werden.

Promo-Code XTOPIA: XT08-34283-EB1510
Promo-Code Technical Summit: TS08-62811-EB1510


Weiters freue ich mich, dass ich selbst auch auf dem Technical Summit dabei sein werde. Für ein Gespräch sollte also entsprechend Zeit sein - wer möchte, kann sich ja bereits im Vorfeld bei mir melden.

  Kommentar hinzufügen   |  1 Trackbacks   |  Permalink  |  Trackback-URL


Ein neues Laptop muss her - und das ist mein Vorschlag

29.09.08 - Blog-Intern, Kunterbunt
Beitrag von Norbert Eder
  Ein neues Laptop muss her. Nicht nur, weil das Vorhandene schon etwas betagt ist, sondern auch, weil es praktischer sein soll. D.h. zusammengefasst: Kein Entwicklungsrechner, sondern ein kleines feines Ding mit guter Display-Qualität, langer Laufzeit und wenig Gewicht. Das Display sollte sich auch in Grenzen halten. Maximal 14" sollten es sein.

Hauptsächliche Anwendungsgebiete werden wohl die Benutzung von Office-Anwendungen, Browsern und Tools zum Verfassen von Blog-Beiträgen sein. Zudem müssen Präsentationen sauber und flüssig damit abgehalten werden können. Auch ein wenig Visual Studio und Eclipse muss drinnen sein.

Diese meine Anforderungen scheinen nach einer ersten Recherche vom Samsung Q310 erfüllt werden zu können. Zumal der Preis mit knapp 1.000 Euro auch recht moderat ausfällt. Mir fehlt jedoch noch der praktische Beweis dazu. Daher die Frage an meine Leserschaft: Hat damit jemand Erfahrung? Steht das bei jemandem zu Hause? Wie schnell sind die Plattenzugriffe? Wie laut der Lüfter?

Für zweckdienliche Hinweise und Meinungen bin ich natürlich dankbar.

Produktinformationen zu diesem Laptop gibt es auf den Seiten von Samsung.
  11 Kommentare - 1658 mal angesehen   |  1 Trackbacks   |  Permalink  |  Trackback-URL



Zurück Weiter