Collaborative Software Development im 
praktischen Einsatz
Collaborative Software Development im praktischen Einsatz. 
Ein Beispiel wie die Softwareentwicklung mit räumlich verteilten Teams mit Hilfe 
eines Softwareentwicklungsportals effizient gesteuert werden kann. Autor: Frank 
Sterkmann
Bei räumlich verteilten Teams gibt es keinen Platz mehr für 
individuelle "Hacker". Die Kommunikation der Teammitglieder, die 
Verständlichkeit und Qualität der Arbeitsergebnisse sowie die Einhaltung 
definierter Prozesse gewinnen höchste Priorität in der Zusammenarbeit. Diese Art 
der Softwareentwicklung stellt das Management vor neue Herausforderungen. Die 
Steuerung geht weit über die internetbasierte Verwaltung und Versionierung von 
Sourcecode hinaus. Wie man mit einem erweiterten Fokus auf internetbasierte 
Kommunikation, Prozesse, Controlling und Verwaltung von Skills erfolgreiche 
Softwareprojekte realisieren kann, wird im Folgenden exemplarisch 
dargestellt.
Collaborative Software Development
Die Softwareentwicklung ist ein interessantes Beispiel für die 
Dualität von Kommunikation und Konzentration. Auf der einen Seite ist die 
Kommunikation zum Austausch von Informationen mit den Teammitgliedern 
erfolgsentscheidend, auf der anderen Seite ist die Konzentration auf die 
eigentliche Softwareproduktion (dieser Begriff deckt den ganzen 
Softwareerstellungsprozess von der Analyse, Design, Implementierung, Integration 
und Test ab) die Basis für ein fertiges Softwareprodukt. 
Da die Softwareentwicklung unbestritten eine kreative Tätigkeit 
ist, die hohe Konzentration erfordert, sollten Massnahmen zur Erhöhung der 
Produktivität in diesem Bereich ansetzen. Störungen und andere Nebentätigkeiten 
müssen auf ein Mindestmaß reduziert werden und die persönliche Konzentration der 
Mitarbeiter auf die Softwareproduktion muß gefördert werden. Wenn man dieses 
Thema konsequent weiterverfolgt wird man schnell bemerken, dass die 
Produktivität von vielen verschiedenen individuellen Faktoren abhängen kann. Es 
werden viele Wünsche nach individuellen, unabhängigen, autarken Arbeitsplätzen 
auf uns zukommen. Wünsche nach Arbeitsplätzen, die ohne Reisezeiten erreicht 
werden können. Da dies durch unsere mobile Gesellschaft vorangetrieben wird, 
wird dies sicherlich zu immer mehr verteilten Teams führen. Die breite 
Verfügbarkeit des Internets bietet uns heute optimal technische Möglichkeiten 
die Softwareentwicklung in verteilten Teams durchzuführen.
Die Schaffung der technischen Voraussetzungen ist für die 
Realisierung erfolgreicher Softwareprojekte bei weitem nicht ausreichend. Es 
müssen Werkzeuge und Vorgehensweisen entwickelt werden, die auch über die 
Softwareentwicklung hinausgehende Bedürfnisse erfüllen. Diese sind übers 
Internet nutzbar und erfordern keinen Installationsaufwand auf dem gerade 
genutzten Arbeitsplatz, um die Vorteile einer räumlichen Verteilung nicht den 
Nachteilen zu opfern.
Gründe für verteilte Teams
Viele Arbeitsplätze zu Hause haben heute einen 
Hochgeschwindigkeits Internet Anschluß, von dem früher Unternehmen geträumt 
hätten. Von Mitarbeitern wird da schnell der Wunsch auf die Nutzung des 
Heimarbeitsplatzes an uns heran getragen. Für die Mitarbeiter ergeben sich klare 
Vorteile wie Reduzierung der Reisezeit zum Arbeitsplatz und weniger Störungen 
durch andere Mitarbeiter oder Meetings. Private Störungen können wir nicht 
nachvollziehen. Für die Unternehmen ergeben sich aber auch Vorteile, wie z. B. 
das Einsparungspotenzial bei der Bereitstellung von Arbeitsplätzen und die 
Möglichkeit, freiberuflich tätige Mitarbeiter besser einbinden zu können und 
natürlich das Hauptargument der besseren Produktivität.
Aus der Sicht von Software- und Dienstleistungsunternehmen gibt 
es noch einen weiteren Grund, der verstärkt zu verteilten Teams führen wird. 
Dies ist die intensivere Zusammenarbeit mit Kunden und Sublieferanten. Um die 
Vorteile der objektorientierten Softwareentwicklung nutzen zu können, ist die 
Einbindung aller Stakeholder in das Projektgeschehen ein wesentlicher 
Erfolgsfaktor. Die Vorteile und Probleme sind mit denen der Heimarbeitsplätze 
vergleichbar. Die Fähigkeit der optimalen Unterstützung von verteilten Teams 
stellt für Software- und Dienstleistungsunternehmen zukünftig einen wichtigen 
Wettbewerbsfaktor dar.
Große Unternehmen mit mehreren Standorten haben im Bereich der 
verteilten Softwareentwicklung meist längere Erfahrungen, da die interne 
Kommunikation bereits seit langem durch eigene leistungsfähige Netzwerke 
unterstützt wird.
Die Voraussetzung: Collaborative Project
Aus Sicht des Projektverantwortlichen stellen verteilte Teams 
eine große Herausforderungen dar. Er hat die ehrenvolle Aufgabe den Erfolg des 
Projektes zu gewährleisten und muß mit allen Mitteln darauf hin wirken, dass die 
Vorteile der verteilten Entwicklungsteams nicht durch andere Nachteile 
aufgefressen werden. Wie soll er mit den Teammitgliedern oder 
Entwicklungsgruppen kommunizieren? Wie sollen die Teammitglieder untereinander 
kommunizieren? Wie soll er die Aufgaben aufbereiten und verteilen? Wie soll er 
die Arbeitsergebnisse überwachen und wie soll er die Softwareproduktion 
koordinieren?
Viele Hersteller von Werkzeugen für die Softwareentwicklung 
haben den Trend der Zeit erkannt und bieten heute Werkzeuge an, die eine 
Zusammenarbeit von verteilten Softwareteams über das Internet ermöglichen 
sollen. Collaborative Software Development ist dabei das Marketing Stichwort. 
Wenn man das Wörterbuch nach der Übersetzung dieses Begriffes befragt erhält man 
die erwartet positive Interpretation wie "mitarbeiten", "zusammenarbeiten" oder 
"behilflich" sein. Im politischen Sinne heisst es aber mit dem Feind 
zusammenarbeiten. 
collaborate: Verb/intransitiv
1. zusammenarbeiten, mitarbeiten; 
2. behilflich sein; 
3. Politik mit dem Feind zusammenarbeiten, kollaborieren 
(c) Langenscheidt
Instinktiv haben wir es wahrscheinlich alle gedacht. Wir öffnen 
uns nach aussen, zu unseren Kunden, externen Mitarbeitern und Sublieferanten. 
Wir sind auf einen Schlag sehr transparent und verletzlich. Wie wollen wir 
sicherstellen, dass unsere Daten und Arbeitsergebnisse nicht missbräuchlich 
verwendet werden? Wie können wir sicherstellen, dass bei der Übertragung von 
vertraulichen Daten keine Sicherheitslöcher entstehen? Mit diesen objektiven und 
teilweise subjektiven Themen müssen wir uns bei der verteilten 
Softwareentwicklung beschäftigen.
Die Voraussetzungen für Softwareprojekte sind der gemeinsame 
Zugriff und die Verwaltung von Sourcen und Informationen. Dies trifft für alle 
Projekte zu, stellt aber für verteilte Projekte eine erste Herausforderung dar. 
Für diejenigen unter uns, die ein professionelles Projekt realisieren wollen, 
kommt hier zwingend die Versionierung der Sourcen und Dokumenten hinzu. Die 
Werkzeuge wie CVS, PVCS, MKS, ClearCase, Continuus etc. bieten umfangreiche 
Funktionalitäten an, die mit webbasierten Frontends eine komfortable Verwaltung 
und Versionierung von Projektdokumenten ermöglichen.
Anforderungen an Collaborative Development Tools
- 
Web based Environment:
- 
Verwaltung von Rechten und Anwendern (User, Accounts)
 - 
Vergabe der Zugriffsrechte pro Projekt
 - 
Datensicherheit bei der Übertragung im Internet (SSL)
 - 
Zentrale Sourcecode- und Dateiverwaltung
 - 
Versionierung 
 
 - 
Tracking Features:
- 
Verwaltung von Fehlermeldungen (Bugtracking)
 - 
Verwaltung von Änderungsanfragen (Chance Requests)
 - 
Verwaltung von Supportanfragen (Support Requests)
 - 
Verwaltung von Projektanforderungen (Requirements-Management) 
 - 
Verwaltung von Aufgaben (Task Management)
 
 - 
Collaborative Features:
- 
Kommunikation, Email Verteiler, Chat, News
 - 
Notification bei Änderung oder Neuanlage von 
Aufgaben
 
 - 
Sourcecode Analysis and Quality Assurance Features:
- 
QS-Analysen und Metriken
 - 
Statistiken und graphische Darstellungen (HTML & Office 
Export)
 - 
Suchmaschine für Sourcecode (Cross-Referencing, Grep, 
Powersearch)
 - 
Abhängigkeiten (Dependencies) und Impact 
Analyse
 
 
Spannender wird es, wenn wir die weiteren Funktionalitäten wie 
Organisation, Kommunikation und Qualitätssicherung abdecken wollen. Um diese 
Funktionalität für verteilte Projektteams abzudecken stehen nicht sehr viele 
Werkzeuge zur Verfügung. Ein bekannter Vertreter aus der Open Source Gemeinde 
ist SourceForge. SourceForge deckt alle Funktionsbereiche, bis auf die 
Qualitätssicherung und Suchmaschine, ab (siehe Kasten). Ein größeres Problem 
stellt für Softwareunternehmen die Zutrittsberechtigung dar. Da die Kunden nicht 
sehr begeistert sein werden, wenn ihre strategisch wichtigen Projekte als Open 
Source öffentlich zur Verfügung stehen, muss eine dedizierte Zutrittskontrolle 
her, die eine Registrierung der Nutzer pro Projekt ermöglicht, bevor die 
internen Informationen der Projekte angezeigt werden. Dies soll lt. SourceForge 
in der sogenannten Professional Edition abgedeckt sein. Die Installation auf dem 
eigenen Server benötigt jedoch viel Zeit und bringt selbst ausgefuchste 
Spezialisten fast zur Verzweiflung. 
Eine interessante Alternative stellt das in Deutschland 
entwickelte Produkt CodeBeamer dar. Der CodeBeamer kommt ursprünglich aus dem 
Bereich der Qualitätssicherung und Sourcecode Analyse. Es wurde in der neuesten 
Version um die Funktionalitäten in den Bereichen Organisation und Kommunikation 
erweitert und stellt heute ein leistungsfähiges Collaborative Development Portal 
dar. Der Leistungsumfang der Bereiche Organisation und Kommunikation ist mit 
Sourceforge vergleichbar, stellt aber nur einen kleinen Teil des 
Funktionsumfangs des Produktes dar.
Beim Anlegen eines neuen Projektes kann der Administrator 
entscheiden ob es ein öffentliches oder vertrauliches Projekt sein soll. Die 
öffentlichen Projekte sind ohne Registrierung übers Internet sichtbar. Erst wenn 
aktiv Informationen in das Projekt eingebracht werden sollen, muß eine 
Registrierung erfolgen, was natürlich in jedem Falle sinnvoll ist, um die neuen 
Informationen und evtl. Änderungen einem Nutzer zuordnen zu können.
Beim Anlegen eines Projektes kann der Ort und die Art der 
Quelle angegeben werden. So können z. B. CVS verwaltete Projekte für die 
zukünftige Bearbeitung direkt in CodeBeamer importiert werden. Während das 
Projekt angelegt wird, analysiert ein Parser den vorhandenen Sourcecode 
(gemischter Java, C++ und C Sourcecode möglich) und baut ein umfassendes 
Repository mit allen Symbolen wie Klassen, Methoden, Attributen und deren 
Abhängigkeiten auf. Dieses Repository wird bei Änderungen des Sourcecodes 
automatisch im Hintergrund aktualisiert, ohne dass der Nutzer etwas davon 
bemerkt. Dieser stets aktuell aufbereitete Sourcecode bringt uns im weiteren 
Verlauf des Softwareprojektes sehr viele Vorteile. 

Abbildung 1: Issue Tracker mit direktem Link zum 
Sourcecode
So können wir mit dem Tracker einen Fehler mit dem Typ "Bug" 
neu anlegen und die zugehörige Information und verantwortlichen Personen 
eintragen. Zusätzlich können wir einen direkten Link zum Sourcecode eintragen. 
CodeBeamer ermöglicht die Verknüpfung von Funktionen aus den Bereichen 
Organisation und Kommunikation mit dem Sourcecode. Somit hat der Verantwortliche 
sofort die notwendige Information verfügbar um die Entscheidungen für die 
Behebung des Fehlers zu treffen. Bei Neuanlage oder Änderungen von Einträgen im 
Tracker wird per Email eine Notification an den Verantwortlichen versendet. 
Diese enthält die Informationen über die Änderungen und ebenfalls den direkten 
Link. Auch im Sourcecode werden existierende Links als Markierung angezeigt und 
können zum Anzeigen der zugehörigen Bemerkungen oder Fehlermeldungen genutzt 
werden.
Wie bereits erwähnt, bringt uns der aufbereitete Sourcecode 
sehr viele Vorteile. Die sehr schnelle und leistungsfähige Suche nach allen im 
Sourcecode vorhandenen Symbolen und die graphische Darstellung der 
Abhängigkeiten (Cross Referenzen) ermöglicht einen schnellen Überblick über die 
Software und unterstützt, dass sich Mitarbeiter schnell in einem Projekt 
zurechtfinden können. Untersuchungen haben ergeben, dass Softwareentwickler 47% 
(Quelle: "Software Quality: Producing Practial, Consistent Software", Mordecai 
Ben-Menachem & Garry S., 1997) ihrer Arbeitszeit mit der Analyse des 
Sourcecodes verbringen. 
Besonders bei verteilten Projekten bringt die graphische 
Darstellung wertvollen Nutzen, da die Kommunikation zu den anderen 
Teammitgliedern aufwendiger ist. Somit sind die Mitarbeiter darauf angewiesen, 
möglichst selbständig mit dem Sourcecode zurecht zu kommen.

Abbildung 2: graphische Darstellung des Sourcecodes mit 
Cross Referenzen
Ein wichtiges Feature stellt ein herunterladbares Plug-In dar, 
welches als Java Anwendung direkt auf dem Client ausgeführt wird. Dies bringt 
zwei wichtige Vorteile: Die Datenübertragung über das Internet ist bis heute ein 
Engpass, so müssen bei interaktiven Analysen wie Browsing und beim Durchhangeln 
von Dependencies teilweise eine Menge Daten übertragen werden. Das Plug-In holt 
sich die notwendigen Daten vom Server und übernimmt selbständig die Aufbereitung 
und Darstellung. Im Intranet ist damit eine Arbeitsweise wie bei einer 
herkömmlichen Desktop Anwendung möglich.

Abbildung 3: Plug-In
Ebenfalls ist die Interaktivität bei HTML Clients 
eingeschränkt. Ein Plug-In ermöglicht eine komfortablere und effizientere 
Bedienung der Anwendung.
Die Ergänzung: Collaborative Process 
Wesentlich stiefkindlicher wird der Bereich der 
Softwareentwicklungsprozesse unterstützt. Werkzeuge zur Unterstützung der 
technischen Belange sind wesentlich ausgereifter und mehr verbreitet. Das 
Bewußtsein für Softwareentwicklungsprozesse ist teilweise nicht stark 
ausgeprägt. Dabei bergen Prozesse sehr viel Potenzial zur Verbesserung der 
Softwarequalität. Alle bekannten Zertifizierungs- und Qualitätsmerkmale setzen 
auf die Wiederholbarkeit von Abläufen und Vorgehensweisen in der Entwicklung. 
In verteilten Teams ist eine gemeinsame Vorgehensweise aller 
Projektmitarbeiter besonders wichtig, da die andauernde individuelle 
Synchronisation einzelner Mitarbeiter untereinander oft entfällt. Dies kann nur 
über klar strukturierte und allen bekannten Abläufe ersetzt werden. Ein 
Softwareentwicklungsprozess dient auch als Wissensbasis für die Mitarbeiter. Er 
beantwortet Fragen nach Programmierrichtlinien, nach Vorlagen für Protokolle, 
Kalkulationen, Projektpläne etc. und erleichtert die Arbeitsweise der einzelnen 
Teammitglieder. Entscheidend bei verteilten Teams ist jedoch der Einsatz der 
gleichen Abläufe und Vorgaben.

Abbildung 4: Softwareentwicklungsprozess im Intranet am 
Beispiel des "Customer Process"
Als optimales Medium für die Abbildung und Publikation eines 
Entwicklungsprozesses bietet sich ein internetbasiertes Portal an. Man kann 
damit gleich zwei Probleme lösen. Erstens steht die Information auch bei 
verteilten Projekten allen Mitarbeitern zur Verfügung und zweitens ist die 
Information stets aktuell. Der zweite Punkt ist sehr wichtig, da ein wichtiges 
Kriterium eines Prozesses die Verbesserung ist. Wenn man erreichen kann, dass 
alle Mitarbeiter ihre aktuellen Erfahrungen und Vorschläge in den Prozess 
einfliessen lassen, kann damit eine stetige Verbesserung und Wiederholbarkeit 
der zukünftigen Projekte erreicht werden.
Die Prozesse können z. B. mit Aktivitätsdiagrammen beschrieben 
werden, wie sie in der Unified Modeling Language (UML) definiert sind. Im 
abgebildeten Customer Process werden die Aktivitäten beschrieben, die in der 
Zusammenarbeit mit dem zukünftigen Kunden durchgeführt werden müssen, bevor es 
überhaupt einen Auftrag zur Realisierung eines Projektes gibt. Diese Abläufe 
sind für den späteren Verlauf der meisten Projekte erfolgsentscheidend. So wird 
zum Beispiel geprüft ob ein Pflichtenheft vorhanden ist. Wenn ja wird die 
Vollständigkeit des Pflichtenhefts anhand der Ergebnisse der 
Projektvorbereitungsphase (Inception Phase) überprüft. Sind nicht alle 
geforderten Ergebnisse vorhanden, werden diese als Dienstleistungsauftrag 
erarbeitet. Erst wenn alle geforderten Ergebnisse vorhanden sind, wird die 
Erstellung eines Festpreisangebotes begonnen. Die Aktivitäten der Prozesse 
werden in einer nächsten Stufe detaillierter als Workflow Detail dargestellt 
(siehe Abbildung).

Abbildung 5: Workflow Detail "Angebotserstellung"
In den Workflow Details werden die einzelnen Aktivitäten und 
die verantwortlichen Rollen dargestellt. Ferner müssen die Ergebnisse anderer 
Aktivitäten vorhanden sein, damit die Endergebnisse erstellt werden können.Die 
Ergebnisse können Dokumente, Diagramme, Datenbankeinträge, Protokolle etc. sein 
und werden lt. Unified Software Development Process (USDP) als Artifacts 
bezeichnet.
Am Beispiel wird gezeigt welche Unterlagen vorhanden sein 
müssen um eine Aufwandsschätzung durchzuführen. Diese Aufwandsschätzung ist dann 
die Voraussetzung für die Angebotserstellung. Der Sinn dieses Diagramms ist 
eigentlich nicht der Ablauf, da dieser sehr einfach ist, sondern die Möglichkeit 
dieses Diagramm als Checkliste und als Wissensbasis zu nutzen. Alle Elemente des 
Diagramms können angeklickt werden, um so innerhalb der Prozesse navigieren zu 
können. So können anhand der aktuellen Problemstellung sehr einfach die 
zugehörigen Vorlagen oder Richtlinien gefunden werden, da sie über die 
Hierarchie Prozess, Workflow Detail, Artifact, schnell lokalisiert werden 
können.
Der Erfolg: Collaborative Controlling
Erfolgreiche Softwareprojekte müssen nicht nur die fachlichen 
und technischen Ziele erreichen sondern auch wirtschaftliche Rahmenbedingungen 
einhalten. Diese werden meist zu Beginn des Projektes kalkuliert und müssen 
während des Projektes überwacht werden. Die Überwachung der Aufwendungen und 
somit der Kosten muss zeitnah durchgeführt werden. Die iterativen inkrementellen Vorgehensweisen und Best 
Practices aus Extreme Programming bringen die Qualität der fachlichen und 
technischen Ergebnisse weit nach vorne, machen aber das Controlling von 
Projekten schwierig, da die Aufwendung durch viele kleine (oder größere) 
Änderungen oder Erweiterungen in vielen kleinen Stufen kontinuierlich anwachsen. 
Wenn dies erst am Ende des Projektes bemerkt wird, ist eine erfolgreiche 
Argumentation gegenüber dem Kunden nahezu unmöglich. Abweichungen von Budgets 
müssen schnellstmöglich erkannt werden. 
Zusätzlich steigert sich die Brisanz des Controllings bei 
verteilten Projekten, da der Projektmanager nicht mehr in die Kommunikation 
seiner Mitarbeiter mit dem Kunden einwirken kann und somit Aufwendungen nicht 
mehr zentral kontrolliert werden können. Die Erfassung der täglichen 
Projektzeiten in einer internetbasierten Projekt-Controlling Anwendung 
ermöglicht die zeitnahe Analyse von Planabweichungen und somit erfolgreiche 
Steuerungsmassnahmen für ein wirtschaftlich erfolgreiches Projekt, auch bei 
verteilten Teams.
Die Mitarbeiter: Collaborative Skills
Die Auswahl und Weiterentwicklung von Skills der Mitarbeiter 
sind für technologieorientierte Dienstleistungs- und Softwareunternehmen die 
Basis für den zukünftigen Erfolg. Um der erschwerten persönlichen Kommunikation 
der Führungskräfte in verteilten Projekten Rechnung zu tragen bietet sich auch 
in diesem Bereich der vorteilhafte Einsatz internetbasierter Skill Management 
Anwendungen an. Diese dürfen und sollen keinesfalls das regelmässige 
Mitarbeitergespräch ersetzen, können aber eine wertvolle Unterstützung dafür 
bieten.
Resümee
Die Unterstützung von verteilten Projekten wirft einige 
Probleme auf und ist nicht mit einer gemeinsamen Sourcecode Basis erledigt. 
Allerdings ist dies die Basis ohne die eine verteilte Entwicklung gar nicht 
vernünftig funktionieren kann. Also sollte mit der Einführung bei Werkzeugen für 
diesen Bereich begonnen werden. Zur Verbesserung der weiterführenden 
organisatorischen Abläufe wie Prozesse, Controlling und Mitarbeitersteuerung 
müssen ebenfalls Maßnahmen ergriffen werden um Projekte wiederholbar und 
erfolgreich durchführen zu können. 
Beispiel für ein Collaborative Software Development Portals eines 
Softwareunternehmens
- 
Projektverwaltung, Organisation, Kommunikation und QS
Collaborative Development Portal für verteilte 
Softwareprojekte. Verwaltung von Sourcecode und Informationen, Versionierung, 
Supportanfragen, Bugtracking, Chance Requests, Feature Requests, Kommunikation, 
Notification, Cross-Referencing, Impact Analysis, Dependencies, Quality 
Assurance, Metrics, Power Search.
 - 
Softwareentwicklungsprozess
Portal zur Unterstützung einer unternehmensweiten 
Vorgehensweise in Softwareprojekten. Der abgebildete unternehmensspezifische 
Softwareentwicklungsprozess ist eine Kombination des USDP (Unified Software 
Development Process), XP (Extrem Programming) und spezifischen Erweiterungen um 
ISO 9000 und CMM SW Level 2-3 Qualitätsanforderungen erfüllen zu können. Das 
Portal bietet Vorgaben für Artifacts, Protokolle, Richtlinien für Analyse, 
Design und Softwareentwicklung, Architekturen, Projektplanung, Kalkulation, 
Konfigurationsmanagement u.v.a.m.
 - 
Controlling und Leistungsabrechnung
Software- und Dienstleistungsunternehmen müssen die erbrachten 
Leistungen erfassen und abrechnen können. Dazu ist eine Anwendung zur Erfassung, 
Auswertung und Abrechnung von Projektzeiten notwendig. Wenn die Mitarbeiter in 
räumlich verteilten Teams, z. B. beim Kunden arbeiten, muss die Anwendung 
internetfähig sein. Ferner sind diese Zahlen für das Projektcontrolling 
notwendig, um die geplanten Aufwendungen mit den tatsächlichen Aufwendungen 
vergleichen zu können. 
 - 
Skill Management
Dienstleistungsunternehmen erbringen mit dem Know-how der 
Mitarbeiter Dienstleistungen für ihre Kunden. Somit ist die Suche und Auswahl 
von Personen mit bestimmten Skills die Basis ihrer Arbeit. Dazu ist eine 
Anwendung zur Erfassung und Verwaltung von Skill Profilen von Mitarbeitern, 
Bewerbern und Teammitgliedern hilfreich.
 
Autor
Dipl. Ing.(FH) MBA Frank Sterkmann
ist seit 15 Jahren als Managementberater und Projektleiter tätig.. In dieser Zeit war er 
für viele erfolgreiche Softwareprojekte verantwortlich und konnte die Erfolgs- 
und Mißerfolgsfaktoren vieler Projekte analysieren.
Object International Software
Object International Software hat sich seit der Gründung auf 
Objekt- und Komponententechnologie und deren Umsetzung in marktreife, 
innovative Produkte und Softwarelösungen konzentriert. Seither steht Object 
International Software an der Spitze der weltweiten 
technologischen Entwicklung und setzt neue Maßstäbe für zukunftsorientierte 
Lösungen und Methoden.