SPALM - SharePoint Application Lifecycle...
Transcript of SPALM - SharePoint Application Lifecycle...
www.steria-mummert.de
© Steria Mummert Consulting AG
SPALM - SharePoint Application Lifecycle
Management
Praxisbeispiele für durchgängige SharePoint Entwicklungsprozesse
© Steria Mummert Consulting AG
www.steria-mummert.de
Vorstellung
Torsten Mandelkow
Diplom-Informatiker(FH)
Seit 2007 bei Steria Mummert
Mehrjährige SharePoint-Erfahrung als Berater, Architekt,
Entwickler
Kernkompetenzen
Architekturen von großen, globalen SharePoint-Farmen
Einführung von SharePoint-Entwicklungsprozessen in
Unternehmen
Kontakt: [email protected]
21.01.2010 3
Vorstellung
© Steria Mummert Consulting AG
www.steria-mummert.de
21.01.2010 4
Steria: Beratung, IT- und Outsourcing Services
Präsenz in
16 Ländern ...
Belgien
Dänemark
Deutschland
Frankreich
Hongkong
Marokko
Norwegen
Österreich
Polen
Spanien
Schweden
UK
Indien
Singapur
Luxemburg
Schweiz
Präsenz in Europa
Off-/Nearshore in
Indien, Osteuropa
und
Marokko
Vor Ort in
Asien
Das Unternehmen
© Steria Mummert Consulting AG
www.steria-mummert.de
21.01.2010 5
Ein Top 10 Player in Europa
Präsenz in Europa
Off-/Nearshore in
Indien, Osteuropa
und
Marokko
Vor Ort in
Asien
19.000 Mitarbeiter
25% Mitarbeiter in Indien (größter Anteil für ein europäisches Unternehmen)
1,8 Mrd. € Umsatz (Top 10 in Europa)
Das Unternehmen
© Steria Mummert Consulting AG
www.steria-mummert.de
21.01.2010 6
Leistungsstarke, kundennahe Organisation
Präsenz in Deutschland
und Österreich…
Berlin
Hamburg
Köln
Leipzig
München
Wien
Düsseldorf
Münster
Frankfurt
Präsenz in Europa
Off-/Nearshore in
Indien, Osteuropa
und
Marokko
Vor Ort in
Asien
Das Unternehmen
© Steria Mummert Consulting AG
www.steria-mummert.de
21.01.2010 SMC_Unternehmen_20091202.ppt
© Steria Mummert Consulting AG7
Marktposition – Ranking 2008
TOP 15 der Managementberatungs-Unternehmen in Deutschland 2008
Quelle: Lünendonk, 2009*) Daten teilweise geschätzt 1) Bis 05/2008 Booz Allen Hamilton GmbH, Veränderung
durch Split des Unternehmens beeinflusstt2) Ohne IT-Beratung und Systemintegration3) Umsatz inkl. Erfolgshonorare
Umsatz in Mio. EuroUnternehmen2008 im Inland
7 Steria Mummert Consulting AG, Hamburg 239,0
2 Roland Berger Strategy Consultants GmbH, München *) 398,0
4 Deloitte Consulting GmbH, Hannover 286,0
6 BearingPoint GmbH, Frankfurt am Main *) 246,0
8 Capgemini Consulting, Berlin 2) 231,0
10 A.T. Kearney GmbH, Düsseldorf 209,0
12 Droege International Group AG, Düsseldorf *) 3) 122,0
14 Simon, Kucher & Partners GmbH, Bonn *) 80,7
1 McKinsey & Company Inc. Deutschland, Düsseldorf *) 645,0
3 The Boston Consulting Group GmbH, Düsseldorf/München *) 369,0
5 Booz & Company GmbH, Düsseldorf *) 1) 262,0
9 Oliver Wyman Group, München *) 228,0
11 Bain & Company Germany Inc., München 193,0
13 Horváth AG (Horváth & Partners-Gruppe), Stuttgart 83,1
15 Mercer Deutschland GmbH, Frankfurt am Main *) 79,5
Das Unternehmen
www.steria-mummert.de
Kompetenz in Microsoft Technologien
Steria Mummert Consulting AG
Enge Microsoft Partnership
Information Worker
Custom Development
TFS Inner Circle Partner
Team System Quality Board
member
Das Unternehmen
www.steria-mummert.de
SPALM = SharePoint ALM
Durchgängiger
SharePoint
Entwicklungsprozess
Automatisierung
wiederkehrender
Prozesse
Nachvollziehbarkeit
aller Änderungen
21.01.2010 9
SPALM
Tester
Developer
Architect
Project
Manager
Business
Analyst
Designer
© Steria Mummert Consulting AG
www.steria-mummert.de
SPALM = SharePoint ALM
21.01.2010 10
Tester
Developer
Architect
Project
Manager
Business
Analyst
Designer
SPALM
Durchgängiger
SharePoint
Entwicklungsprozess
Automatisierung
wiederkehrender
Prozesse
Nachvollziehbarkeit
aller Änderungen
© Steria Mummert Consulting AG
www.steria-mummert.de
Agenda
Ausgangspunkte ALM
Besonderheiten im
SharePoint Umfeld
Wie weit hilft eine
Unterstützung durch
VS 2010
Was muss man
noch manuell oder
automatisiert
machen
21.01.2010 11
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Agenda
Anforderungen
21.01.2010 12
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Anforderungserhebung
Ziele: Detailierte Analyse der Anforderungen
Stakeholderanalyse
Größtmögliche Abdeckung des strukturierten Systems,
Unterschiedliche Systemrollen,
Unterschiedliche organisatorische Position,
Rechtliche Relevanz (Betriebsrat, Datenschutz etc.).
Anforderungsanalyse
Anforderungen erfassen (Workshop, Interview, Umfrage)
Anforderungen verfeinern (Ist-Analyse, Gap-Analyse, angrenzende
Systeme)
Anforderungen konsolidieren / reviewen / abstimmen
Anforderungen priorisieren (fachlich, technisch, strategisch)
Spezifizieren
21.01.2010 13
Anforderungserhebung
© Steria Mummert Consulting AG
www.steria-mummert.de
Anforderungserhebung
Besonderheiten
Technisches Wissen bei Anwendern vorhanden -> Anwender
formulieren häufig sehr technisch
Homogenität der Plattform: Anforderungen wiederholen oder
ähneln sich
Generelle Anforderung: „Nah am Standard“
Vermeidung von Zusatzentwicklung, wenn ähnliche Funktion
bereits vorhanden
Erleichterung einer späteren Migrierbarkeit
21.01.2010 14
Anforderungserhebung
© Steria Mummert Consulting AG
www.steria-mummert.de
SMC Best Practices
Erhebungsmethoden
Einsatz eines abstrakten Abfragerasters
(z.B. Informationraster)
Formulierung mit Hilfe einer Anforderungsschablone
(„ Das System muss dem User die Möglichkeit bieten
Metadaten einzugeben.“)
Funktionales Clustering der Anforderungen (z.B. Dokumenten
Management, Personalisierung, Suche, Navigation etc.)
21.01.2010 15 © Steria Mummert Consulting AG
Anforderungserhebung
www.steria-mummert.de
RE-Erfahrungen in MOSS Projekten
Klaren RE Prozess vereinbaren
Frühe Beteiligung der Fachabwendern
Demonstration von MOSS Standard vor
Fachanwendern vereinfacht RE
Prototyping schafft Transparenz der Anforderungen
Design und Layout ist die halbe Miete
21.01.2010 16 © Steria Mummert Consulting AG
Anforderungserhebung
www.steria-mummert.de
Best Practice: Abfrageraster
21.01.2010 17
Abstrakte Einordung der Anforderungen mit Hilfe des
SMC Informationrasters
An
we
nd
ers
ich
t
Information aufbereiten Information für die Zielgruppen bearbeiten, überarbeiten und
mit einem geeigneten Layout versehen.
Information verwalten Information strukturieren und organisieren. (Hierarchie,
Metadaten,..)
Information verteilen Aufbereitete Information den Zielgruppen zur Nutzung
bereitstellen.
Information suchen/finden Gewünschte Information finden und nutzen. (Suche,
Navigation usw.)
Information austauschen Interaktiver Informationsaustausch zwischen Anwendern.
Information integrieren Information mit anderen Systemen über eine technische
Schnittstelle austauschen.
Information schützen Unberechtigten Zugriff auf Information verhindern.
Information sammeln Zugriff auf Informationen protokollieren und aufbereiten.
Abfragebereich Beschreibung
Sys
tem
sic
ht
© Steria Mummert Consulting AG
Anforderungserhebung
www.steria-mummert.de
<Prozesswort>
<Objekt &
Ergänzung des
Objekts>
-
fähig sein
<wem?> die
Möglichkeit bieten
muss
sollte
Das
System
Best Practise: Anforderungsschablone
Abstrakte Einordung der Anforderungen mit Hilfe des
SMC Informationrasters
BeispieleDas System muss dem Redakteur die Möglichkeit bieten Metadaten einzugeben.
Das System sollte eingegebene Metadaten abhängig vom Dokumenttyp prüfen.
Das System muss fähig sein Organisationsdaten aus SAP zu importieren.
21.01.2010 © Steria Mummert Consulting AG18
Anforderungserhebung
www.steria-mummert.de
Agenda
Architektur
21.01.2010 19
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Ziele und Besonderheiten
Häufige Ziele
Architektur von Lösungen, die nah am Standard sind
(Vermeidung von Zusatzentwicklungen)
keine Verschlechterung der Performance und Stabilität
Abgrenzung zu anderen Lösungen und Reduzierung von
Abhängigkeiten
Besonderheiten
Wiederkehrende Anforderungen müssen umgesetzt werden
Viel SharePoint-Fachwissen notwendig
Erfahrung wichtig: vieles, was gehen soll, geht doch nicht wie
beschrieben
ASP.NET Kenntnisse sehr hilfreich
21.01.2010 20
Architektur
© Steria Mummert Consulting AG
www.steria-mummert.de
SMC Best Practices
Wiederverwendbarkeit von Lösungen ermöglichen
Entwicklung im Rahmen von SharePoints
Featuremodell (nicht alles in ASP.NET neu machen)
Verwendung von Pattern für die Entwicklung
(ServiceLocator, RepositoryPattern), analog zu
Empfehlung von Microsoft
Klassifizierung von Anwendungsfällen (z.B.
Contentorientiert, Applikationsorientiert, Listenorientiert
usw.)
Testbarkeit von Lösungen ermöglichen (z.B. MVP-
Pattern für Webparts)
21.01.2010 21
Architektur
© Steria Mummert Consulting AG
www.steria-mummert.de
Agenda
Development
21.01.2010 22
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Ziele
21.01.2010 23
Unterstützung des Entwicklers (Developer
Productivity) wichtig
Konformität des erstellten Codes zur Microsoft
Vorgaben sicherstellen
Konformität zu Unternehmensvorgaben (Aufbau
der Projekte, Namenskonventionen)
sicherstellen
Hohe Codequalität (Performance, Stabilität)
erreichen
Managebarkeit der Lösung sicherstellen
(zentrale Komponenten z.B. für Logging,
Konfiguration usw. bereitstellen)
Development
© Steria Mummert Consulting AG
www.steria-mummert.de
Besonderheiten
21.01.2010 24
SharePoint Code besteht aus vielen
einzelnen Dateien, die untereinander
referenziert sind
Code besteht viel aus .xml, der häufig
manuell erstellt werden muss
Referenzen zwischen Artefakten läuft häufig
über Guids, die vom Entwickler (mühsam)
ausgelesen werden müssen
Stark eingeschränkte Freiheitsgrade
innerhalb SharePoint
Viel Spezialwissen notwendig
Development
© Steria Mummert Consulting AG
www.steria-mummert.de
Demo
Vorstellung „SPSF
SharePoint Software
Factory“ (Eigenentwicklung,
basierend auf Microsoft
Guidance Automation
Extension (GAX))
21.01.2010 25
Development
© Steria Mummert Consulting AG
www.steria-mummert.de
Agenda
Build
21.01.2010 26
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Build
Ziele
Zentraler Build einer Lösung
Erzeugung eines installierbaren Packages
Ablage und Versionierung des Buildergebnisse, um es
jederzeit verwenden zu können
Build gegen eine Konfiguration analog zur produktiven
Farm (keine zusätzlichen DLLs)
Build eines Releases (keine Debug-Lösung geht
produktiv)
21.01.2010 27
Build
von den Artefakten… …zum installierbarem Package
© Steria Mummert Consulting AG
www.steria-mummert.de
Besonderheiten
Erstellung eines installierbaren
Packages häufig sehr aufwändig
Häufige Lösung: Erstellung von Batch-
Dateien, Konfigurationsdateien für
Parameter und URLs u.ä.
Erstellung eines MSIs meist nicht
zielführend
21.01.2010 28
Build
© Steria Mummert Consulting AG
www.steria-mummert.de
Demo
Vorstellung „SPSF SharePoint
Software Factory“
Erstellung eines Setuppackages
21.01.2010 29
Build
© Steria Mummert Consulting AG
www.steria-mummert.de
Agenda
Testing
21.01.2010 30
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Ziele
Hauptziel: Automatisierung von Tests
Regressionstests: Funktionieren noch alle
bestehenden Applikationen, wenn neue
Applikationen oder ein Patch installiert werden
Funktionale Tests: sind die Anforderungen des
Business erfüllt
Smoke Tests: Minimaler Test, um die
Grundfunktionen zu testen, z.B. nach einem
Deployment
Performance Tests: Wie verändert sich die
Performance durch Installation einer Applikation
oder Veränderung der Konfiguration
21.01.2010 31
Testing
© Steria Mummert Consulting AG
www.steria-mummert.de
Besonderheiten
Starke Homogenität von Lösungen
Standardtests sind möglich, z.B. „Standard TeamSite-Test:
Create Subsite, Upload Document, Create List usw
Wiederverwendbarkeit von Tests ist möglich
SharePoint ist webbasiert
Testtool muss entsprechende Funktionen von SharePoint
unterstützen (z.B. AJAX, verschiedene UIs, WebDav usw.)
Großes Problem: Unittests
Unittests sind sehr schwierig bis unmöglich: Mocking von
SharePoint-Objekten nur über Drittanbieter, z.B. TypeMock
21.01.2010 32
Testing
© Steria Mummert Consulting AG
www.steria-mummert.de
Demo
Vorstellung: Durchführung von parametrisierbaren
Webtests (basierend auf VS.NET Webtests und
MSBuild/MSTest.exe)
21.01.2010 33
Testing
© Steria Mummert Consulting AG
www.steria-mummert.de
Agenda
Quality Assurance und
Code Analyse
21.01.2010 34
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Ziele einer Code Analyse
Analyse des Codes, z.B.
Sicherheitsverstöße (CAS-
Policies, RunWith-
ElevatedPrivileges)
Supportability der SharePoint
Farm nicht gefährden
Verstöße gegen Best practices
(MS-Vorgaben,
Erfahrungswerte)
Verstöße gegen allgemeine
Vorgaben (Unterstützung von
Multilanguage,
Namenskonventionen)
21.01.2010 35
Code Analyse
© Steria Mummert Consulting AG
www.steria-mummert.de
Besonderheiten für SharePoint
Entwicklungsergebnis besteht nur zu
einem Teil aus C#-Code
Großer Teil besteht aus XML
(feature.xml, manifest.xml, usw.)
Entwicklung ist verteilt auf viele
einzelne Artefakten (XML, Bilder, CSS,
DLL usw.)
Hohe Abhängigkeit zwischen
Artefakten, verteilt auf einzelne Dateien
(z.B. Feature referenziert einen
ContentType)
21.01.2010 36
Code Analyse
© Steria Mummert Consulting AG
www.steria-mummert.de
Anwendungsfälle
Code Analyse unterstützt z.B.
Quality Assurance
(Zertifizierung einer WSP-
Lösung)
Prüfung auf Verwendbarkeit als
Sandboxed Solutions,
Prüfung auf Supportlevel
(Silver, Gold, Platinum)
Prüfung auf WSS oder MOSS-
Abhängigkeiten
Prüfung von
Drittanbieterlösungen oder
externen WSP
21.01.2010 37
Code Analyse
© Steria Mummert Consulting AG
www.steria-mummert.de
Demo
Toolbasierte Code Analyse auf Basis einer
Eigenentwicklung „ShareCop“
21.01.2010 38
Code Analyse
© Steria Mummert Consulting AG
www.steria-mummert.de
Code Metriken
Messbarkeit von SharePoint Applikationen
mit Zahlen, z.B.
Anzahl von Features, Worflows,
ContentTypes etc.
Anzahl von externe Abhängigkeiten
Anzahl von Dateien in einem WSP-
Package
Ziele
Supportability
Erkennen, ab wann wird eine Lösung
nicht mehr verwaltbar
21.01.2010 39
Code Analyse
© Steria Mummert Consulting AG
www.steria-mummert.de
Dependency Management
Verwaltung bzw. Analyse der Abhängigkeiten
zwischen Applikationen und Artefakten
Notwendig für Aktualisierung von
Komponenten oder Deinstallation
Beispiel: „Feature X aus Applikation
‚Intranet 2.0‘ referenziert Feature Y aus
Applikation ‚Compontents 1.0‘“
Problem: Abhängigkeiten stehen im Code,
in XML-Dateien oder sind gar nicht
erkennbar (z.b. durch „late binding“)
21.01.2010 40
Code Analyse
© Steria Mummert Consulting AG
www.steria-mummert.de
Demo
Toolbasierte Überprüfung von
Entwicklungscode auf Basis einer
Eigenentwicklung „ShareLog“
21.01.2010 41
Code Analyse
© Steria Mummert Consulting AG
www.steria-mummert.de
Agenda
Deployment
21.01.2010 42
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Ziele
Automatisierte Verteilung einer Applikation in
einer SharePoint Farm
Verteilung eines Installationspakets durch
mehrere Server (DEV, Staging, Produktion)
Deinstallation einer Applikation soll möglich
sein (möglichst spurlos)
Häufig auch Deployment von
Konfigurationsänderungen notwendig
21.01.2010 43
Deployment
Test Integration Produktion
© Steria Mummert Consulting AG
www.steria-mummert.de
Besonderheiten
Applikation besteht häufig aus mehreren WSPs, die deployed
werden müssen
Installationspaket benötigt häufig Parameter (z.B URLs für das
Deployment), deshalb muss das Installationspaket
parametrisierbar sein
Nachträgliche Konfigurationsschritte sind notwendig, z.B.
ActivateFeature, Anpassungen der Suchkonfigurationen o.ä.
Bei Aktualisierung eines Applikation (z.B. Version 2.0) sind häufig
sehr lang laufende Aktualisierungen notwendig (z.B. zur
Aktivierung eines neues Features in allen bestehenden Webs)
21.01.2010 44
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Demo
Vorstellung
MSBuild Deployment
Designer (Eigenentwicklung)
21.01.2010 45
Deployment
© Steria Mummert Consulting AG
www.steria-mummert.de
Zusammenfassung
ALM ist wichtig für
professionelle
Entwicklung im
Unternehmen
VS 2010 ist
unabdingbar für
Entwicklung im Team
und für große Projekte
Besonderheiten von
SharePoint machen
durchgängiges ALM
schwierig
VS.NET 2010 bringt
gute Unterstützung in
einigen Bereichen
21.01.2010 46
Anforderungen
Architektur
Development
Test
Quality Assurance
Deployment
© Steria Mummert Consulting AG