Softwareentwicklung ist Teamarbeit. Extreme Programming hat sich als Methode in der Software-Entwicklung etabliert. Doch nicht immer ist in einem Team genügend Wissen vorhanden, um alle Probleme effizient anzugehen. Aus diesem Grund wurde ein Portal entwickelt, um Entwickler mit Experten zusammenzubringen, damit sie online im Pair Programming Stil Probleme gemeinsam lösen können.
Ausgangslage
Pair Programming ist eine Methode in der Softwareentwicklung, bei der zwei Entwickler gemeinsam ein Problem bearbeiten. Abwechselnd nimmt dabei ein Programmierer die Rolle des "Drivers" ein und bedient den Computer, während der zweite als "Navigator" aktiver Beobachter ist, den Überblick behält und laufend Input gibt. Klassischerweise sitzen dabei beide Entwickler vor dem gleichen Computer. Dank schnellen Internetverbindungen ist es aber auch möglich, dass sich die Entwickler per Screensharing und Skype verbinden. So können Pair Programming Sessions nicht nur innerhalb des Teams, sondern auch mit Experten aus der ganzen Welt abgehalten werden.
Ziel
Es wurde eine Webapplikation entwickelt, welche die Suche nach einem geeigneten Partner und anschliessende Zusammenarbeit in einer Pair Programming Session unterstützt. Experten können ihr Profil ausfüllen, ihre Dienste anpreisen und aktiv Kunden mit einem konkreten Problem anschreiben. Kunden können ihr Problem beschreiben und Anforderungen an den Experten definieren. Aufgrund der Anforderungen an den Experten und der Profile werden automatisch Vorschläge für passende Partner gemacht. Der Kunde kann sich von verschiedenen Experten Offerten einholen und das passende Angebot aushandeln. Haben sich zwei Partner auf eine Zusammenarbeit geeinigt, definieren sie die Ziele der Session und bearbeiten das Problem im Pair Programming Stil per Screensharing. Dabei wird die zur Dokumentation Session auf Video aufgezeichnet werden und ins Portal hochgeladen. Abschliessend gibt der Kunde eine Bewertung ab, die auf dem Portal für andere Benutzer sichtbar ist.
Umsetzung
Die Lösung wurde mit der Microsoft Entwicklungs-Plattform umgesetzt. Das Webportal wurde mit asp.net MVC 5 und Twitter Boostrap umgesetzt. Als Datenbank kommt Microsoft SQL Server 2012 mit Entity Framework zum Einsatz. Zusätzlich wurde eine Windows Applikation auf Basis der Windows Presentation Foundation umgesetzt, mit welcher die Sessions auf Video aufgezeichnet und per WCF Streaming an das Webportal übermittelt werden können. Die Applikation kann per ClickOnce Deployment ohne zusätzliche lokale Installation direkt von der Webseite gestartet werden.