Für 2015 schon Zertifizierungen geplant?

Training and Certification Guide screen shot 0Wer sich wie wir u.a. im Fahrwasser von Microsoft bewegt, kennt natürlich die Zertifizierungen, die sich hier erwerben lassen. Besonders spannend sind dabei für uns die Titel, die mittels unterschiedlicher Zertifizierungen zu erreichen sind. Beispielsweise der MCSD Application LifeCycle Management, bestehend aus Prüfungen zu Themen wie der Konfiguration und Administration des Team Foundation Servers, Testing und der Optimierung einer Wertschöpfungskette im Bereich der Softwareentwicklung.

Für einen Überblick über sämtliche Pfade, Möglichkeiten und auch zur Planung gibt es historisch bedingt die verschiedensten Möglichkeiten. Da Poster aber ziemlich 2010 sind, hat Microsoft mittlerweile eine eigene Windows Store App nachgelegt. Obwohl simpel gestaltet, ist sie immerhin interaktiv und ermöglicht definitiv einen hervorragenden Überblick.

Die App bekommt hier hier.

Viel Spaß dabei und viel Erfolg in 2015!

P.S.: Du bist bereits MCSD: ALM und hast Spaß dabei, Kunden auf dem Weg zu stabilen Geschäftsanwendungen zu unterstützen? Bewirb Dich jetzt!

Stabile Developer Workstation mit Server-Ambitionen

Kennt ihr das noch aus Zeiten von Windows 2000: Bei Microsoft gab es noch die Unterscheidung zwischen einem Client- und einem Server-Kernel. Bekannterweise war der Windows 2000 Server Kernel stabiler als der von Windows 2000 Workstation. Der Grund war u.a. der, dass es im Workstation Produkt diverse Shims gab, die u.a. für Kompatibilität auch zu älteren Produktversionen verantwortlich waren. Auf einem Server kommt es in erster Instanz aber auf Stabilität und Geschwindigkeit an. Entsprechend gab es seit jeher unterschiedliche Kernel, die Microsoft später aber doch zusammengefasst hat. Für die Client-Benutzer ein Segen, denn auch sie kamen nun in den Genuss so richtig stabiler Betriebssysteme.

Für die Server-Benutzer sollte das aber nicht dazu führen, dass sie statt einer aufgeräumten, performanten Serverumgebung sich nun auf einmal auch in einer "Klicki-Bunti" Welt zurecht finden sollten. Daher werden seitdem verschiedene Features der Client-Versionen in den entsprechenden Serverprodukten abgeschaltet, bzw. gar nicht erst installiert.

Für uns Entwickler wiederum aber interessant sind Serversysteme dennoch. Denn sie gelten weiterhin als stabile Systeme, die darüber hinaus natürlich auch über Rollen verfügen, die dann und wann für uns in der Entwicklung gerade von Business Applikationen wichtig sein können. Was läge also näher, als sich ein System zurechtzukonfigurieren, das auf einem Windows Server Produkt basiert, sich aber "anfühlt" wie ein Client-System?

Windows Server 2012 Workstation

Den Gedanken hatten auch andere und so gibt es seit Windows 2000 Anleitungen, wie man ein Server-OS derart konfiguriert, dass es das vom Client her bekannte Look&Feel besitzt. Inklusive Klicki-Bunti. :)

Während uns Windows 2000 eher nicht mehr interessiert, findet sich entsprechend auch für Windows Server 2012 eine entsprechende Anleitung, die ihr hier findet: http://www.win2012workstation.com/.

Darin wird Schritt für Schritt erklärt, wie sich folgende Features nachinstallieren, bzw. konfigurieren lassen:

  • Treiber, Sprache, Computername und Informationen zu dem Besitzer des Systems
  • WLAN Konfiguration und Sound
  • Deaktivieren von STRG-ALT-ENTF beim Login, der Passwort Restriktionen und des eher lästigen Shutdown-Event-Trackers
  • Deaktivieren der IE Enhanced Security (ESC)
  • Konfiguration des Systems für performante Apps (standardmäßig liegt der Fokus im Server OS eher bei performanten Systemdiensten)
  • Themes, Aero Cursors (Endlich! Klicki Bunti!)
  • Windows 8 Modern UI Apps, die Default Apps und der Windows 8 IE
  • Ausschalten der Data Execution Prevention (DEP) und Structured Exception Handling Overwrite Protection (SEHOP)
  • u.v.m

Converter

Falls der Aufwand für den einen oder anderen zu hoch ist, gibt es gute Neuigkeiten: Ein Team von Enthusiasten hat einen Converter entwickelt, mit dem sich die Schritte automatisieren lassen. Somit ist ein Windows Server 2012 nach der Initialinstallation (die ja selbst nur noch ein Klacks ist) im Nu in ein Workstation-artiges System verwandelt: http://www.win2012workstation.com/converter/.   

Frustfreie Web.config auch im Team

Eine sehr nützliche Funktion im Visual Studio und MSBuild ist die Möglichkeit, bei der Veröffentlichung von Webseiten die Web.config entsprechend der gewählten Zielkonfiguration automatisch anpassen zu lassen. Der Vorgang nennt sich Transformation und beschreibt im Prinzip nichts weiter als anhand von Transform-Dateien die Web.config zu verändern. Das Prinzip ist identisch mit der bekannten Xml Transformation mittels XSLT (in Visual Studio heißt nur alles wieder mal anders).

Während das Konzept beim Web-Publishing bereits sinnvoll ist (um z.B. für Debug, Release, Stage, etc. unterschiedliche Konfigurationen parat zu haben), wäre der Einsatz während der Entwicklung selbst allerdings genauso praktisch. Beispielsweise könnten einzelne Teammitglieder unterschiedliche lokale Entwickler-Datenbankinstanzen haben, die sich auf die ConnectionStrings in der Web.config auswirken. Das Problem, das daraus i.d.R. entsteht, ist, dass jeder Entwickler die Web.config bei sich lokal anpasst und dadurch auscheckt. Sollte sie dann “aus Versehen” mal mit eingecheckt werden, klappt bei anderen Entwicklern im Zweifelsfall die Datenbankverbindung nicht mehr, sobald sie ihren Workspace aktualisieren. Im schlimmsten Fall werden dadurch Basisänderungen an der Web.config überschrieben wenn man nicht aufpasst.

Die Lösung für dieses Problem wäre, jedem Entwickler eine eigene Transform-Datei bereitzustellen und dafür zu sorgen, dass personenabhängige Einstellungen ausschließlich darin stattfinden. Dazu muss die Web.config allerdings zur Compilezeit generiert werden und darf zudem nicht mehr Teil der Quellcodeverwaltung sein.

Wie das im Einzelnen funktioniert zeigt folgende Schritt für Schritt Anleitung:

Das Publishing Target und die Config Transformation lokal konfiguriert

Kostenlose Aufzeichnungen der #msts14 - Jetzt weiterbilden!

Nur kurze Zeit nach der Microsoft Technical Summit 2014 wurden auf Channel 9 wie versprochen die Aufzeichnungen zu den Sessions veröffentlicht. Sowohl die Videos als auch die Präsentationen sind übersichtlich in der Agenda zu der Veranstaltung verlinkt.

Unseren Beitrag zum Microsoft Fakes Isolation Framework gibt es dort ebenfalls zu sehen. Viel Spaß beim Anschauen (wir hatten auf jeden Fall Spaß beim Halten der Session)! 

Microsoft Technical Summit 2014 - Pre-Review und ein Announcement!

Diese Woche findet vom 11.11.2014 bis zum 13.11.2014 in Berlin die Technical Summit 2014 statt. Microsoft hat bekannter Weise die Visual Studio Evolution mit der TechNet Conference zusammengelegt und lädt diese Woche für drei Tage Softwareentwickler und IT Infrastrukturspezialisten gemeinsam ein, von Experten aufregende und z.T. neue Technologien vorgestellt zu bekommen. Die Agenda zeigt dabei nicht nur einen Querschnitt durch alle relevanten Technologien, sondern auch das Who is Who der Speaker-Szene.

Die angebotenen Sessions bewegten sich inhaltlich von Einstiegs-Themen bis hin zu Deep Dives und auch zukunftsorientierten Bereichen wie IoT (Internet of Things) und Application Insights (im Zusammenhang mit Predictive Analytics und den entsprechenden Angeboten via Microsoft Azure).

Uns hat die Konferenz sehr gefallen und wenn wir auch nicht die ganze Zeit da waren, konnten wir den Dienstag immerhin nutzen, um ebenfalls als Speaker dem interessierten Publikum erneut das Microsoft Mocking Framework Fakes näherzubringen. Nachdem wir einige technische Hürden genommen haben (merke: Immer einen Displayport-Adapter dabei haben), konnten wir neben einer kleinen Historie einen umfangreichen Einstieg in Microsoft Fakes liefern inkl. spannender Informationen über Microsoft Pex. Pex hat im Zusammenspiel mit dem Fakes-Vorläufer Moles das Leben eines Softwareentwicklers beim Schreiben von Unit Tests enorm erleichtert. Die Pex Engine ermöglichte es, Codepfade automatisch analysieren zu lassen, um auf der Basis sogar Grundgerüste für sinnvolle Unit-Tests zu generieren. Microsoft sprach bei Pex (Program Exploration) von einem Whitebox Testing Tool. 

Announcement

Durch die Produktifizierung von Moles ist Pex lange Zeit auf der Strecke geblieben. Bis vor kurzem gab es lediglich ein kostenlos erhältliches Addin über die Visual Studio Gallery, das auf die Pex Engine aufsetzt und mit Visual Studio 2013 kompatibel ist. Code Digger - so der Name - stellte einen eingeschränkten Funktionsumfang von Pex zur Verfügung.

Zusammen mit der heutigen Ankündigung von Visual Studio 2015 und der neuen Community Edition (die die Express SKU ersetzt) wurde angekündigt, dass Pex nachzieht! Microsoft spricht an dieser Stelle von Smart Unit Tests und dieses Feature ist großartig!

With Visual Studio 2015 preview, we have introduced Smart Unit Tests. Explore your .NET code to generate test data and a suite of unit tests. For every statement in the code, a test input is generated that will execute that statement. A case analysis is performed for every conditional branch in the code. For example, if statements, assertions, and all operations that can throw exceptions are analyzed. This analysis is used to generate test data for a parameterized unit test for each of your methods, creating unit tests with maximum code coverage. Then you bring your domain knowledge to improve these unit tests.

Details dazu wie das funktioniert, finden sich hier und in den kommenden Tagen auch auf diesem Blog.

Wir gehen jetzt erst einmal feiern!

Update

Vielen Dank an Tao Xie, dem dritten im Bunde hinter Microsoft Pex & Fakes neben Nikolai Tillmann und Jonathan "Peli" de Halleaux, für die Veröffentlichung eines spannenden Dokuments mit Informationen zum Migrationspfad von Pex zu Fakes und Code Digger (Jetzt: Smart Unit Tests). Das kostenlose Dokument gibt es hier zum Download.

Top n NuGet Pakete, die jeder kennen sollte

In diesem Beitrag wird sukzessive eine Liste sinnvoller NuGet Pakete erstellt (und kontinuierlich ergänzt), die jeder kennen sollte. Nachdem bereits ältere Posts regelmäßig bei eigenen Recherchen zu Themen immer wieder auftauchen, hat sich gezeigt, dass unser Blog sich hervorragend als externes Gedächtnis eignet. Und da nicht nur wir draufschauen, haben alle etwas davon.

Vorschläge für weitere Pakete? Comment please and subscribe.

Und los geht's:

  1. Newtonsoft Json.NET
  2. Fody
  3. ...

Newtonsoft Json.NET

Bei Json.NET handelt es sich um eine Bibliothek, die die Arbeit mit Json deutlich vereinfacht. (De-) Serialisierung, Schema-Validierung und Linq2Json werden damit zum Kinderspiel. Via NuGet einfach eingerichtet ist die Bibliothek verfügbar für Windows und Windows Phone (auch als Portable Class Library).

Fody

Fody ist eine IL Weaver Bibliothek. Als solche füllt sie eine Lücke, die das .NET Framework durch fehlende AOP (Aspekt Orientierte Programmierung) mitbringt: Verschiedene Fody Plugins vereinfachen den Umgang mit Cross Cutting Concerns wie z.B. der Implementierung des INotifyPropertyChanged Interfaces bei datengebundenen Applikationen (PropertyChanged.Fody)

 

Noch 3x schlafen, dann ist Weihnachten…

… naja vielleicht noch nicht ganz, aber der Start der BASTA! 2014 wird sicherlich für den ein oder anderen eine ähnliche Bedeutung haben! Ab Montag, den 22.09.2014 ist es nämlich soweit, die BASTA! 2014 öffnet in der Rheingoldhalle in Mainz für eine ganze Woche ihre Pforten und wird mit ~120 praxisnahen Vorträgen, ~70 renommierten Speakern und 13 themenspezifischen Special Days Wissen streuen und zum ein oder anderen angeregten Gespräch mit den Speakern einladen.

Wir freuen uns, dass wir am Donnerstag mit Johannes Paul Langner und Marcus Jacob ebenfalls wieder mit 2 Speakern und 2 Sessions vor Ort dabei sein dürfen, in denen wir über die Mikrocontroller Entwicklung mit dem .NET Micro Framework und den Möglichkeiten der Proximity API auf dem Windows Phone berichten werden. Der Spieltrieb eines Entwicklers soll ja schließlich nicht zu kurz kommen…

Wer nicht live dabei sein kann, folgt der Konferenz am besten über den hashtag #bastacon auf Twitter, alle anderen sehen wir dann vor Ort!

Jahresgebühr entfällt. Mitgliedschaft im Windows Dev Center Programm auf Lebenszeit!

Gestern hat der General Manager für Windows Apps und Store, Todd Brix, bekanntgegeben, dass künftig keine Jahresgebühr mehr fällig wird, um im Dev Center Programm Mitglied zu sein. Nachdem bereits vor einiger Zeit die Programme für Windows und Windows Phone Entwicklung zusammengeführt wurden, war das der nächste logische Schritt.

Nach einer einmaligen Gebühr von gerade mal 14 Euro Netto fallen somit ab sofort keine Folgekosten mehr an.

Benefits

Gleichzeitig hat Microsoft das Dev Center Benefits Programm gestartet, um die Möglichkeiten zur Entwicklung und Vermarktung von Apps zu verbessern. Die sog. Benefit Pakete teilen sich auf in Explorer, Expert und Master. Die Idee dahinter ist, Anfängern genau die Hilfestellung zu geben, die sie benötigen, um zügig in das Design und die notwendige Architektur für die Entwicklung von Windows und Windows Phone Apps einzusteigen. Das Bewerben von Apps und mögliche Publisher Verträge sind Bestandteil des Expert Levels, während im Master Paket der VIP Zugang zu Ressourcen wie Developer und Marketing Support und Early Access für SDKs freigeschaltet wird.

Details dazu und zu weiteren Optimierungen in diesem Kontext kann man hier nachlesen.

 

Stakeholder an die Macht – Projektbeteiligte erhalten kostenlosen Zugriff auf Visual Studio Online

Brian Harry berichtete nach der Early Adopter Phase Anfang Juli bereits davon, dass viele Projektzuordnungen von Mitarbeitern wieder aufgehoben wurden. Der Zusammenhang mit dem Ende der Einführungszeit war offensichtlich: Zuvor war der Zugriff kostenfrei, nun konnten “nur noch” bis zu fünf Nutzer gratis Visual Studio Online nutzen.

Da Microsoft allerdings erhöhten Reibungsverlusten in den Entwicklungsprojekten zuvorkommen möchte, hat Brian angekündigt, mit der Stakeholder Rolle eine neue Lizenz einzuführen, die es einer praktisch unlimitierten Anzahl Projektbeteiligter ermöglichen soll, weiterhin kostenfrei auf den gehosteten Team Foundation Server zuzugreifen und in allen für ihre Arbeit relevanten Belangen zu nutzen.

Assigning a stakeholder license

 

Als Stakeholder können Nutzer nun gegenüber der früheren Work Item Only View folgendes:

  • Die Projekt Homepage betrachten
  • Auf die meisten arbeitsrelevanten Funktionen zugreifen
  • Das Backlog einsehen
  • Einträge hinzufügen und bearbeiten
  • WorkItem-Abfragen erstellen und ausführen
  • Benachrichtigungen abonnieren

Aus unserer Sicht ist Microsoft mit der Einführung der Stakeholder Lizenz in VSO ein ganz großer Wurf gelungen, deren Umsetzung extrem schnell nach der initialen Ankündigung realisiert werden konnte. Dass diese Funktion mit dem kommenden Update sogar in weniger als einem halben Jahr danach On Premise verfügbar sein wird zeigt die enormen Vorteile der neuen Rapid Release Strategie von Microsoft.

Mehr Informationen darüber, welche Funktionen und Möglichkeiten den Projektbeteiligten nun offen stehen, finden sich auf der eigens dazu eingerichteten Landing Page.

#epic. Oder: Ruck, wenn Scrum zu krass ist?

Bei Scrum handelt es sich eine Management Methode, die zumeist in der Softwareentwicklung eine große Hilfe dabei ist, umfangreiche Projekte steuerbar zu machen. Kernpunkte sind dabei u.a. die Leistungsbereitschaft der Teammitglieder und deren Selbstorganisation, die Aufteilung des Projektes in Timeboxes und regelmäßig stattfindende Meetings.

Das klingt zunächst einfach, bedingt aber eine absolute Disziplin, damit das Konzept aufgeht. Marcus Jacob hat dazu auf der letzten Developer Week einen Vortrag gehalten. Thema: Football, Poker, PM oder: Wir führen Scrum ein!*

Während es zuhauf Dokumentationen, Fachbücher, Artikel, Prozess-Templates u.ä. zu Scrum gibt, soll dieser Blogartikel allerdings etwas vorstellen, das kaum jemand kennt, von dem sich aber viel lernen lässt.

Microsoft Ruck

Rucks […] are similar to scrums in that several players are bound together while fighting over the ball. In the case of rucks, however, the ball is literally up for grabs, unlike in the relatively controlled environment of the scrum. Quelle: isport.com

Dieses Zitat von einer Sportseite drückt es bereits treffend aus. So wie Scrum eine Methode zur “kontrollierten” Softwareentwicklung ist und sich für die Namensgebung einer Sportmetapher bedient, entnimmt Microsoft eben jener Sportart – Rugby – einen weiteren Begriff (Ruck), der im Prinzip die gleiche Bedeutung hat, aber weniger Disziplin erfordert.

Bedeutet nun “weniger Disziplin” nun auch weniger Qualität? Oder sogar Fehler? Nein. Ganz im Gegenteil. In diesem Kontext löst dieses Vorgehensmodell typische Probleme, die verteilte Entwickler-Teams haben: Sie entwickeln nicht zur gleichen Zeit, es steht nicht immer jeder Mitarbeiter zur Verfügung, andere Projekte haben eine höhere Priorität… und im Zweifelsfall befinden sich die Entwickler nicht einmal in der gleichen Zeitzone. Die meisten Prinzipien von Scrum müssten in solchen Fällen über Bord geworfen werden.

Im Kontext der sog. ALM Rangers hat Microsoft daher eine eigene Methode entwickelt, die sich zwar an Scrum anlehnt, dabei aber wesentlich mehr Freiheiten ermöglicht und das ganze konsequenterweise Ruck genannt.

Bei den ALM Rangers handelt es sich um eine Gruppe von Enthusiasten, die kontinuierlich Tools, Dokumentationen, virtuelle Labs und dergleichen mehr außerhalb des regulären Entwicklungszyklusses des Team Foundation Servers bereitstellen. Da deren Hauptaufgabe allerdings häufig durch andere Themen bestimmt wird (mitunter zählen sogar Freelancer zu den ALM Rangers), benötigten sie eine Methode, die es ihnen erlaubt trotz der widrigen Umstände eine hohe Qualität abzuliefern.

image

Herausforderungen eines zeitzonen-übergreifenden Teams

Microsofts Lösung

Hier einige Schlüsselfaktoren, die entscheidend mit zu dem Erfolg bei Microsoft in verteilten Teams wie den ALM Rangers beitragen:

  • Sprint-Planungsmeetings finden virtuell und online statt (via Microsoft Lync und Email).
  • Neben Schätzungen, die das Team verantwortet (z.B. via Planning Poker) wird häufig auf die Schätzung desjenigen zurückgegriffen, der die Umsetzung verantwortet.
  • Das Team entscheidet, wann und wie oft “Standup-Meetings" stattfinden (i.d.R. wöchentlich), dabei schicken abwesende Teammitglieder Status-Updates per Email an den Lead / Ruckmaster.
  • Wer am Sprintreview nicht teilnehmen kann, stellt ein kurzes Demo-Video seiner Arbeit bereit.
  • Auch zur Retrospektive können Erkenntnisse per Email eingereicht werden; eine Zusammenfassung der Ergebnisse stellt der Lead in der Ruck Improvement Community allen Teammitgliedern zur Verfügung.

Darüber hinaus ist der Worfklow gegenüber Scrum leicht verändert und es gibt auch weitere Workitem Typen (wie z.B. sog. Epics, die über einem Feature stehen und ein Thema auf übergeordneter Ebene betrachten).

Da das Thema in Summe allerdings zu umfangreich ist, um es in Gänze in einem Blogartikel zu betrachten, sei an dieser Stelle auf das Material verwiesen, das Microsoft kostenlos zum Download zur Verfügung stellt.

Über die Landing Page “Supporting Guidance and Whitepapers” gibt es weiterführende Informationen und Materialien, die einem helfen in Bild, Ton und Text den Ruck Prozess und die virtuellen Personas zu verstehen und bekommt ergänzend dazu Whitepaper, Sample Solutions, Hands on Labs und dergleichen mehr, um sich auch praktisch mit dem Thema auseinandersetzen zu können.

Fazit

Wer sich mit seinem Team den Herausforderungen moderner Softwareentwicklung stellen will und feststellen muss, dass Methoden wie Scrum im spezifischen Fall nicht funktionieren können, der findet im Ruck Prozess eventuell die Lösung. Es lohnt sich aber in jedem Fall, einen Blick in das Material zu werfen, da auch unabhängig davon einige wirklich interessante Konzepte vermittelt werden (wie z.B. das der Personas). Da es sich dabei um Anwendungsfälle aus der gelebten Praxis handelt, fällt die Adaption umso leichter.

*Im Übrigen ist niemandem aufgefallen, dass das Wort Scrum seine Herkunft im Rugby hat und nicht im Football. :)

Über die Autoren

Christian Jacob ist Leiter des Geschäftsbereiches Softwarearchitektur und -entwicklung und zieht als Trainer im Kontext der .NET Entwicklung sowie ALM-Themen Projekte auf links.

Marcus Jacob fokussiert sich auf die Entwicklung von Office-Addins sowie Windows Phone Apps und gilt bei uns als der Bezwinger von Windows Installer Xml.

Martin Kratsch engagiert sich für das Thema Projektmanagement mit dem Team Foundation Server und bringt mit seinen Java- und iOS-Kenntnissen Farbe in unser ansonsten von .NET geprägtes Team.

Aktuelle Kommentare

Comment RSS