SPALM - SharePoint Applikation Lifecycle Management - ist ein bei Steria Mummert Consulting entwickeltes Prozessmodell zur effizienten SharePoint Entwicklung. SPALM wird unterstützt durch verschiedene von Steria Mummert Consulting erstellte Tools wie SharePoint Software Factory (SPSF) und SharePoint Cop (SPCop). Der Vortrag vermittelt praktische Erfahrungen bei der Entwicklung mit Microsoft Team Foundation Server, Visual Studio und SharePoint und zeigt auf, wie SPALM zur Standardisierung von Methoden und Tools beitragen kann. Autor: Torsten Mandelkow, Steria Mummert
2. Vorstellung Vorstellung Torsten Mandelkow
Diplom-Informatiker(FH) Seit 2007 bei Steria Mummert Mehrjhrige
SharePoint-Erfahrung als Berater, Architekt, Entwickler
Kernkompetenzen Architekturen von groen, globalen SharePoint-Farmen
Einfhrung von SharePoint-Entwicklungsprozessen in Unternehmen
Kontakt: [email protected] www.steria-mummert.de
21.01.2010 3 Steria Mummert Consulting AG
3. Das Unternehmen Steria: Beratung, IT- und Outsourcing
Services Belgien Dnemark Prsenz in Deutschland 16 Lndern ...
Frankreich Hongkong Prsenz in Europa Indien Luxemburg Marokko
Norwegen sterreich Vor Ort in Polen Off-/Nearshore in Asien
Singapur Indien, Osteuropa Spanien und Schweden Marokko Schweiz UK
www.steria-mummert.de 21.01.2010 4 Steria Mummert Consulting
AG
4. Das Unternehmen Ein Top 10 Player in Europa 1,8 Mrd. Umsatz
(Top 10 in Europa) 19.000 Mitarbeiter in Europa Prsenz 25%
Mitarbeiter in Indien (grter Anteil fr ein europisches Unternehmen)
Vor Ort in Off-/Nearshore in Asien Indien, Osteuropa und Marokko
www.steria-mummert.de 21.01.2010 5 Steria Mummert Consulting
AG
5. Das Unternehmen Leistungsstarke, kundennahe Organisation
Prsenz in Deutschland und sterreich Prsenz in Europa Berlin
Dsseldorf Frankfurt Hamburg Kln Vor Ort in Leipzig Off-/Nearshore
in Asien Mnchen Indien, Osteuropa Mnster und Wien Marokko
www.steria-mummert.de 21.01.2010 6 Steria Mummert Consulting
AG
6. Das Unternehmen Marktposition Ranking 2008 TOP 15 der
Managementberatungs-Unternehmen in Deutschland 2008 Unternehmen
Umsatz in Mio. Euro 2008 im Inland 1 McKinsey & Company Inc.
Deutschland, Dsseldorf *) 645,0 2 Roland Berger Strategy
Consultants GmbH, Mnchen *) 398,0 3 The Boston Consulting Group
GmbH, Dsseldorf/Mnchen *) 369,0 4 Deloitte Consulting GmbH,
Hannover 286,0 5 Booz & Company GmbH, Dsseldorf *) 1) 262,0 6
BearingPoint GmbH, Frankfurt am Main *) 246,0 7 Steria Mummert
Consulting AG, Hamburg 239,0 8 Capgemini Consulting, Berlin 2)
231,0 9 Oliver Wyman Group, Mnchen *) 228,0 10 A.T. Kearney GmbH,
Dsseldorf 209,0 11 Bain & Company Germany Inc., Mnchen 193,0 12
Droege International Group AG, Dsseldorf *) 3) 122,0 13 Horvth AG
(Horvth & Partners-Gruppe), Stuttgart 83,1 14 Simon, Kucher
& Partners GmbH, Bonn *) 80,7 15 Mercer Deutschland GmbH,
Frankfurt am Main *) 79,5 Quelle: Lnendonk, 2009 *) Daten teilweise
geschtzt 1) Bis 05/2008 Booz Allen Hamilton GmbH, Vernderung
SMC_Unternehmen_20091202.ppt www.steria-mummert.de 21.01.2010 7
durch Split des Unternehmens beeinflusstt 2) OhneSteria Mummert
Consulting AG IT-Beratung und Systemintegration 3) Umsatz inkl.
Erfolgshonorare
7. Das Unternehmen Kompetenz in Microsoft Technologien Steria
Mummert Consulting AG Enge Microsoft Partnership Information Worker
Custom Development TFS Inner Circle Partner Team System Quality
Board member www.steria-mummert.de
8. SPALM SPALM = SharePoint ALM Durchgngiger SharePoint
Entwicklungsprozess Designer Developer Automatisierung
wiederkehrender Architect Tester Prozesse Nachvollziehbarkeit aller
nderungen Business Project Analyst Manager www.steria-mummert.de
21.01.2010 9 Steria Mummert Consulting AG
9. SPALM SPALM = SharePoint ALM Durchgngiger SharePoint
Entwicklungsprozess Designer Developer Automatisierung
wiederkehrender Architect Tester Prozesse Nachvollziehbarkeit aller
nderungen Business Project Analyst Manager www.steria-mummert.de
21.01.2010 10 Steria Mummert Consulting AG
10. Agenda Ausgangspunkte ALM Anforderungen Besonderheiten im
SharePoint Umfeld Wie weit hilft eine Deployment Architektur
Untersttzung durch VS 2010 Was muss man noch manuell oder
automatisiert Quality machen Development Assurance Test
www.steria-mummert.de 21.01.2010 11 Steria Mummert Consulting
AG
11. Agenda Anforderungen Anforderungen Deployment Architektur
Quality Development Assurance Test www.steria-mummert.de 21.01.2010
12 Steria Mummert Consulting AG
13. Anforderungserhebung Anforderungserhebung Besonderheiten
Technisches Wissen bei Anwendern vorhanden -> Anwender
formulieren hufig sehr technisch Homogenitt der Plattform:
Anforderungen wiederholen oder hneln sich Generelle Anforderung:
Nah am Standard Vermeidung von Zusatzentwicklung, wenn hnliche
Funktion bereits vorhanden Erleichterung einer spteren
Migrierbarkeit www.steria-mummert.de 21.01.2010 14 Steria Mummert
Consulting AG
14. Anforderungserhebung SMC Best Practices Erhebungsmethoden
Einsatz eines abstrakten Abfragerasters (z.B. Informationraster)
Formulierung mit Hilfe einer Anforderungsschablone ( Das System
muss dem User die Mglichkeit bieten Metadaten einzugeben.)
Funktionales Clustering der Anforderungen (z.B. Dokumenten
Management, Personalisierung, Suche, Navigation etc.)
www.steria-mummert.de 21.01.2010 15 Steria Mummert Consulting
AG
15. Anforderungserhebung RE-Erfahrungen in MOSS Projekten
Klaren RE Prozess vereinbaren Frhe Beteiligung der Fachabwendern
Demonstration von MOSS Standard vor Fachanwendern vereinfacht RE
Prototyping schafft Transparenz der Anforderungen Design und Layout
ist die halbe Miete www.steria-mummert.de 21.01.2010 16 Steria
Mummert Consulting AG
16. Anforderungserhebung Best Practice: Abfrageraster Abstrakte
Einordung der Anforderungen mit Hilfe des SMC Informationrasters
Abfragebereich Beschreibung Information aufbereiten Information fr
die Zielgruppen bearbeiten, berarbeiten und mit einem geeigneten
Layout versehen. Anwendersicht Information verwalten Information
strukturieren und organisieren. (Hierarchie, Metadaten,..)
Information verteilen Aufbereitete Information den Zielgruppen zur
Nutzung bereitstellen. Information suchen/finden Gewnschte
Information finden und nutzen. (Suche, Navigation usw.) Information
austauschen Interaktiver Informationsaustausch zwischen Anwendern.
Information integrieren Information mit anderen Systemen ber eine
technische Systemsicht Schnittstelle austauschen. Information
schtzen Unberechtigten Zugriff auf Information verhindern.
Information sammeln Zugriff auf Informationen protokollieren und
aufbereiten. www.steria-mummert.de 21.01.2010 17 Steria Mummert
Consulting AG
17. Anforderungserhebung Best Practise: Anforderungsschablone
Abstrakte Einordung der Anforderungen mit Hilfe des SMC
Informationrasters - muss System Objekts> sollte die Mglichkeit
bieten Beispiele Das System muss dem Redakteur die Mglichkeit
bieten Metadaten einzugeben. Das System sollte eingegebene
Metadaten abhngig vom Dokumenttyp prfen. Das System muss fhig sein
Organisationsdaten aus SAP zu importieren. www.steria-mummert.de
21.01.2010 18 Steria Mummert Consulting AG
18. Agenda Architektur Anforderungen Deployment Architektur
Quality Development Assurance Test www.steria-mummert.de 21.01.2010
19 Steria Mummert Consulting AG
19. Architektur Ziele und Besonderheiten Hufige Ziele
Architektur von Lsungen, die nah am Standard sind (Vermeidung von
Zusatzentwicklungen) keine Verschlechterung der Performance und
Stabilitt Abgrenzung zu anderen Lsungen und Reduzierung von
Abhngigkeiten Besonderheiten Wiederkehrende Anforderungen mssen
umgesetzt werden Viel SharePoint-Fachwissen notwendig Erfahrung
wichtig: vieles, was gehen soll, geht doch nicht wie beschrieben
ASP.NET Kenntnisse sehr hilfreich www.steria-mummert.de 21.01.2010
20 Steria Mummert Consulting AG
20. Architektur SMC Best Practices Wiederverwendbarkeit von
Lsungen ermglichen Entwicklung im Rahmen von SharePoints
Featuremodell (nicht alles in ASP.NET neu machen) Verwendung von
Pattern fr die Entwicklung (ServiceLocator, RepositoryPattern),
analog zu Empfehlung von Microsoft Klassifizierung von
Anwendungsfllen (z.B. Contentorientiert, Applikationsorientiert,
Listenorientiert usw.) Testbarkeit von Lsungen ermglichen (z.B.
MVP- Pattern fr Webparts) www.steria-mummert.de 21.01.2010 21
Steria Mummert Consulting AG
21. Agenda Development Anforderungen Deployment Architektur
Quality Development Assurance Test www.steria-mummert.de 21.01.2010
22 Steria Mummert Consulting AG
22. Development Ziele Untersttzung des Entwicklers (Developer
Productivity) wichtig Konformitt des erstellten Codes zur Microsoft
Vorgaben sicherstellen Konformitt zu Unternehmensvorgaben (Aufbau
der Projekte, Namenskonventionen) sicherstellen Hohe Codequalitt
(Performance, Stabilitt) erreichen Managebarkeit der Lsung
sicherstellen (zentrale Komponenten z.B. fr Logging, Konfiguration
usw. bereitstellen) www.steria-mummert.de 21.01.2010 23 Steria
Mummert Consulting AG
23. Development Besonderheiten SharePoint Code besteht aus
vielen einzelnen Dateien, die untereinander referenziert sind Code
besteht viel aus .xml, der hufig manuell erstellt werden muss
Referenzen zwischen Artefakten luft hufig ber Guids, die vom
Entwickler (mhsam) ausgelesen werden mssen Stark eingeschrnkte
Freiheitsgrade innerhalb SharePoint Viel Spezialwissen notwendig
www.steria-mummert.de 21.01.2010 24 Steria Mummert Consulting
AG
24. Development Demo Vorstellung SPSF SharePoint Software
Factory (Eigenentwicklung, basierend auf Microsoft Guidance
Automation Extension (GAX)) www.steria-mummert.de 21.01.2010 25
Steria Mummert Consulting AG
25. Agenda Build Anforderungen Deployment Architektur Quality
Development Assurance Test www.steria-mummert.de 21.01.2010 26
Steria Mummert Consulting AG
26. Build Ziele Zentraler Build einer Lsung Erzeugung eines
installierbaren Packages Ablage und Versionierung des
Buildergebnisse, um es jederzeit verwenden zu knnen Build gegen
eine Konfiguration analog zur produktiven Farm (keine zustzlichen
DLLs) Build eines Releases (keine Debug-Lsung geht produktiv) Build
von den Artefakten zum installierbarem Package
www.steria-mummert.de 21.01.2010 27 Steria Mummert Consulting
AG
27. Build Besonderheiten Erstellung eines installierbaren
Packages hufig sehr aufwndig Hufige Lsung: Erstellung von Batch-
Dateien, Konfigurationsdateien fr Parameter und URLs u.. Erstellung
eines MSIs meist nicht zielfhrend www.steria-mummert.de 21.01.2010
28 Steria Mummert Consulting AG
28. Build Demo Vorstellung SPSF SharePoint Software Factory
Erstellung eines Setuppackages www.steria-mummert.de 21.01.2010 29
Steria Mummert Consulting AG
29. Agenda Testing Anforderungen Deployment Architektur Quality
Development Assurance Test www.steria-mummert.de 21.01.2010 30
Steria Mummert Consulting AG
30. Testing 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
erfllt Smoke Tests: Minimaler Test, um die Grundfunktionen zu
testen, z.B. nach einem Deployment Performance Tests: Wie verndert
sich die Performance durch Installation einer Applikation oder
Vernderung der Konfiguration www.steria-mummert.de 21.01.2010 31
Steria Mummert Consulting AG
31. Testing Besonderheiten Starke Homogenitt von Lsungen
Standardtests sind mglich, z.B. Standard TeamSite-Test: Create
Subsite, Upload Document, Create List usw Wiederverwendbarkeit von
Tests ist mglich SharePoint ist webbasiert Testtool muss
entsprechende Funktionen von SharePoint untersttzen (z.B. AJAX,
verschiedene UIs, WebDav usw.) Groes Problem: Unittests Unittests
sind sehr schwierig bis unmglich: Mocking von SharePoint-Objekten
nur ber Drittanbieter, z.B. TypeMock www.steria-mummert.de
21.01.2010 32 Steria Mummert Consulting AG
32. Testing Demo Vorstellung: Durchfhrung von
parametrisierbaren Webtests (basierend auf VS.NET Webtests und
MSBuild/MSTest.exe) www.steria-mummert.de 21.01.2010 33 Steria
Mummert Consulting AG
33. Agenda Quality Assurance und Anforderungen Code Analyse
Deployment Architektur Quality Development Assurance Test
www.steria-mummert.de 21.01.2010 34 Steria Mummert Consulting
AG
34. Code Analyse Ziele einer Code Analyse Analyse des Codes,
z.B. Sicherheitsverste (CAS- Policies, RunWith- ElevatedPrivileges)
Supportability der SharePoint Farm nicht gefhrden Verste gegen Best
practices (MS-Vorgaben, Erfahrungswerte) Verste gegen allgemeine
Vorgaben (Untersttzung von Multilanguage, Namenskonventionen)
www.steria-mummert.de 21.01.2010 35 Steria Mummert Consulting
AG
35. Code Analyse Besonderheiten fr SharePoint
Entwicklungsergebnis besteht nur zu einem Teil aus C#-Code Groer
Teil besteht aus XML (feature.xml, manifest.xml, usw.) Entwicklung
ist verteilt auf viele einzelne Artefakten (XML, Bilder, CSS, DLL
usw.) Hohe Abhngigkeit zwischen Artefakten, verteilt auf einzelne
Dateien (z.B. Feature referenziert einen ContentType)
www.steria-mummert.de 21.01.2010 36 Steria Mummert Consulting
AG
36. Code Analyse Anwendungsflle Code Analyse untersttzt z.B.
Quality Assurance (Zertifizierung einer WSP- Lsung) Prfung auf
Verwendbarkeit als Sandboxed Solutions, Prfung auf Supportlevel
(Silver, Gold, Platinum) Prfung auf WSS oder MOSS- Abhngigkeiten
Prfung von Drittanbieterlsungen oder externen WSP
www.steria-mummert.de 21.01.2010 37 Steria Mummert Consulting
AG
37. Code Analyse Demo Toolbasierte Code Analyse auf Basis einer
Eigenentwicklung ShareCop www.steria-mummert.de 21.01.2010 38
Steria Mummert Consulting AG
38. Code Analyse Code Metriken Messbarkeit von SharePoint
Applikationen mit Zahlen, z.B. Anzahl von Features, Worflows,
ContentTypes etc. Anzahl von externe Abhngigkeiten Anzahl von
Dateien in einem WSP- Package Ziele Supportability Erkennen, ab
wann wird eine Lsung nicht mehr verwaltbar www.steria-mummert.de
21.01.2010 39 Steria Mummert Consulting AG
39. Code Analyse Dependency Management Verwaltung bzw. Analyse
der Abhngigkeiten zwischen Applikationen und Artefakten Notwendig
fr Aktualisierung von Komponenten oder Deinstallation Beispiel:
Feature X aus Applikation Intranet 2.0 referenziert Feature Y aus
Applikation Compontents 1.0 Problem: Abhngigkeiten stehen im Code,
in XML-Dateien oder sind gar nicht erkennbar (z.b. durch late
binding) www.steria-mummert.de 21.01.2010 40 Steria Mummert
Consulting AG
40. Code Analyse Demo Toolbasierte berprfung von
Entwicklungscode auf Basis einer Eigenentwicklung ShareLog
www.steria-mummert.de 21.01.2010 41 Steria Mummert Consulting
AG
41. Agenda Deployment Anforderungen Deployment Architektur
Quality Development Assurance Test www.steria-mummert.de 21.01.2010
42 Steria Mummert Consulting AG
42. Deployment Ziele Automatisierte Verteilung einer
Applikation in einer SharePoint Farm Verteilung eines
Installationspakets durch mehrere Server (DEV, Staging, Produktion)
Deinstallation einer Applikation soll mglich sein (mglichst
spurlos) Hufig auch Deployment von Konfigurationsnderungen
notwendig Test Integration Produktion www.steria-mummert.de
21.01.2010 43 Steria Mummert Consulting AG
43. Deployment Besonderheiten Applikation besteht hufig aus
mehreren WSPs, die deployed werden mssen Installationspaket bentigt
hufig Parameter (z.B URLs fr das Deployment), deshalb muss das
Installationspaket parametrisierbar sein Nachtrgliche
Konfigurationsschritte sind notwendig, z.B. ActivateFeature,
Anpassungen der Suchkonfigurationen o.. Bei Aktualisierung eines
Applikation (z.B. Version 2.0) sind hufig sehr lang laufende
Aktualisierungen notwendig (z.B. zur Aktivierung eines neues
Features in allen bestehenden Webs) www.steria-mummert.de
21.01.2010 44 Steria Mummert Consulting AG
45. Zusammenfassung ALM ist wichtig fr professionelle
Anforderungen Entwicklung im Unternehmen VS 2010 ist Deployment
Architektur unabdingbar fr Entwicklung im Team und fr groe Projekte
Besonderheiten von SharePoint machen durchgngiges ALM Quality
Development Assurance schwierig VS.NET 2010 bringt gute
Untersttzung in Test einigen Bereichen www.steria-mummert.de
21.01.2010 46 Steria Mummert Consulting AG