Building a SharePoint
Factory

Donald Hessing (@dhessing)
Who am I?

Donald Hessing
 Principal Consultant | Thought Leader SharePoint
@Capgemini Netherlands
 (Virtual) Technology...
Agenda
1.
2.
3.
4.
5.

Considerations for building a SharePoint Factory?
Standardization
Code Analyses
Performance Testing...
Boeing factory in Seattle
Goals

 Improve the Quality, Cost and Delivery
 Reducing Risks, Incidents and Project failures
 Improve Responsiveness ...
Bring new solutions to customers faster with lower cost
Why standardization?
 Users / Consumer






Easier to use
Compatibility & Reusability
Lower prices
Better Quality
T...
Standardized process
Acceptance criteria

Plan

•
•
•
•

Build

PID Templates
• Design std
•
Infrastructure Intake • Codin...
Define your maturity…

Reusable Solutions (Streaming
Video, People Directory, ..)
Standard offerings
(Intranet, Extranet,
...
Requires organizational change
 At project start-up identify potential re-usable components
 Architecture board for devi...
Standardize….
Create/Improve
the standard

Automate
Process

Automate
standard

Agree on the
Standard
(Adoption)

Add revi...
…SharePoint Coding Standard Example
Create the
standard “Coding
Standard for
SP2013”

Automate Review
Process in
Automated...
Code Analyses
Static versus Dynamic Testing

Static:
Testing by Reviews, Walkthroughs or inspection
 Code Analyses inspection (Phoenix...
Enforce Code Conformance by Automation
Tools
SharePoint 2013

SharePoint 2010
 SPDisposeCheck.exe
 MSOCAF 2010
 FXContrib
 SPCOP / SPCAF Foundation
 FXCop
...
FXCop versus StyleCop

Visual Studio 2012 Code
Analyses - FXCop
• Static Code Analyses on
the MSIL
• Code Safety
• Perform...
FXCop

“FxCop is a free static code analysis tool from Microsoft
that checks .NET managed code assemblies for
conformance ...
FXCop versions

 FXCop (11.0) is integrated with the code analyses features of Visual
Studio 2012
 Premium
 Ultimate

...
 DEMO

Presentation Title | Date
Copyright © Capgemini 2012. All Rights Reserved

22
Performance Testing
Types of testing
Common testing types and levels for SharePoint:
Type

Description

Unit

Ensures the working of an indivi...
SharePoint Performance Testing
Valid testing data is essential for performance tests
SharePoint Search Duplicates

Md5
Hash
Content generation
What we did at Capgemini…
Downloaded a copy of the wiki database
 http://en.wikipedia.org/wiki/Wikiped...
What is important for SharePoint?

 Unique FileRef and Title property
 Language
 Document Size
 Document Type
 Folder...
DEMO
Wiki based content generation

Presentation Title | Date
Copyright © Capgemini 2012. All Rights Reserved

30
Performance Tests
Type of Performance Tests
Type of Test

Description

Smoke

How your application performs under light lo...
Visual Studio Load Testing
Visual Studio 2010 Ultimate
 Load testing was possible, but not optimized for SharePoint
 Sh...
DEMO – Visual Studio 2012 Performance Test

Presentation Title | Date
Copyright © Capgemini 2012. All Rights Reserved

33
Machine provisioning
Development Machine
Installation scripts
 Consistent deployment of SharePoint machines though DTAP stages

Presentation Title | Date
Copyrigh...
SC - Virtual Machine Manager 2012 SP1

Virtual Machine Manager provides automation, configuration and management of
Virtua...
SC – Orchestrator Azure Integration Pack

Orchestrates Runbooks that can deploy Windows Azure Virtual Machines
• Public Cl...
“It works on my machine”
Key takeaways
 The goal for building a SharePoint factory can be different for every
organisation
 Building a software f...
Thank You!
01010100 01101000 01100001 01101110
01101011 00100000 01011001 01101111
01110101 0100001

Presentation Title | ...
Donald Hessing
 Thought Leader SharePoint @Capgemini
 Microsoft Certified Master for SharePoint
 Contact me:
 @dhessin...
SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint Factory
Upcoming SlideShare
Loading in...5
×

SPCA2013 - Building a SharePoint Factory

1,149

Published on

Building a SharePoint Factory

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,149
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
46
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SPCA2013 - Building a SharePoint Factory

  1. 1. Building a SharePoint Factory Donald Hessing (@dhessing)
  2. 2. Who am I? Donald Hessing  Principal Consultant | Thought Leader SharePoint @Capgemini Netherlands  (Virtual) Technology Solution Professional for Microsoft  Work full time on SharePoint since 2007  donald.hessing@capgemini.com | @dhessing Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 3
  3. 3. Agenda 1. 2. 3. 4. 5. Considerations for building a SharePoint Factory? Standardization Code Analyses Performance Testing Deploy and Machine Provisioning Some Demos:  Code Validation  Content Generation  Load Testing Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 4
  4. 4. Boeing factory in Seattle
  5. 5. Goals  Improve the Quality, Cost and Delivery  Reducing Risks, Incidents and Project failures  Improve Responsiveness and Reliability  Improve Predictability and Repeatability of outcomes  Bring new solutions to customers faster with lower cost  Building trust and confidence to all stakeholders (internal and external) Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 6
  6. 6. Bring new solutions to customers faster with lower cost
  7. 7. Why standardization?  Users / Consumer      Easier to use Compatibility & Reusability Lower prices Better Quality Trust & Confidence  Products  Larger market with fewer varieties  Increase productivity & effectiveness  Increased competition  Industry / Process     Benchmarking against best practices Time efforts savings Gaining competitive advantages Assures better alignment Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 8
  8. 8. Standardized process Acceptance criteria Plan • • • • Build PID Templates • Design std • Infrastructure Intake • Coding std • Reference architecture Environment std • Storage calculator Test Test environment std • Test scenarios std • Deploy RollOut DTAP deployment std • Installation std • • Operations std Change mg std Training std Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 10
  9. 9. Define your maturity… Reusable Solutions (Streaming Video, People Directory, ..) Standard offerings (Intranet, Extranet, Records Management, …) One-off solutions Reusable Components (Logging, Data Access, Display Templates, ..) Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 11
  10. 10. Requires organizational change  At project start-up identify potential re-usable components  Architecture board for deviations from the reference architecture  Peer reviews Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 12
  11. 11. Standardize…. Create/Improve the standard Automate Process Automate standard Agree on the Standard (Adoption) Add review processes Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 13
  12. 12. …SharePoint Coding Standard Example Create the standard “Coding Standard for SP2013” Automate Review Process in Automated Builds (TFS) Automate Review (FXCop, SPCop) Agree on the Standard (Adoption) Add review processes Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 14
  13. 13. Code Analyses
  14. 14. Static versus Dynamic Testing Static: Testing by Reviews, Walkthroughs or inspection  Code Analyses inspection (Phoenix)  Reflection Dynamic Testing during execution of the programmed code  Code Coverage  Code Profiling Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 16
  15. 15. Enforce Code Conformance by Automation
  16. 16. Tools SharePoint 2013 SharePoint 2010  SPDisposeCheck.exe  MSOCAF 2010  FXContrib  SPCOP / SPCAF Foundation  FXCop  StyleCop  Visual Studio 2010 / 2012  MSOCAF 2013  SPCOP / SPCAF Foundation  FXCop – Custom Rules  StyleCop  Visual Studio 2012 / 2013 • • Only tool for SharePoint artefacts, metrics, feature dependency, managed code and C# analyses! Includes TFS and 3th Party integration (FXCop, JSLint,CAT.NET) Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 18
  17. 17. FXCop versus StyleCop Visual Studio 2012 Code Analyses - FXCop • Static Code Analyses on the MSIL • Code Safety • Performance • Type hierarchy • Analyses of database objects StyleCop – C# Only • Static Code Analyses on the Source Code • Naming (casing, use of prefixes / suffixes) • Ordering (where different members are defined in the context of a class) • Comments (where they should be placed and how they should be formatted) • Spacing • Custom Rules Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 19
  18. 18. FXCop “FxCop is a free static code analysis tool from Microsoft that checks .NET managed code assemblies for conformance to Design Guidelines” Source: http://en.wikipedia.org/wiki/FxCop Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 20
  19. 19. FXCop versions  FXCop (11.0) is integrated with the code analyses features of Visual Studio 2012  Premium  Ultimate  FXCop 10.0 - standalone application  Windows 7 / 8 SDK  How to download FXCop 10.0 http://codeblog.vurdalakov.net/2012/05/how-to-download-fxcop-100.html Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 21
  20. 20.  DEMO Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 22
  21. 21. Performance Testing
  22. 22. Types of testing Common testing types and levels for SharePoint: Type Description Unit Ensures the working of an individual unit or group Functional Ensures that the specified functionality in the system works Usability Ensures an effective GUI for the end-user Acceptance Ensures the delivered product meets the requirements Regression Ensure that the modification is working correctly Performance Ensures that the system responses within specified time System Ensures the system works in different environments Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 24
  23. 23. SharePoint Performance Testing
  24. 24. Valid testing data is essential for performance tests
  25. 25. SharePoint Search Duplicates Md5 Hash
  26. 26. Content generation What we did at Capgemini… Downloaded a copy of the wiki database  http://en.wikipedia.org/wiki/Wikipedia:Database_download#Englishlanguage_Wikipedia  English ~40GB XML Data  Dutch ~ 10GB XML Data  Wrote custom wiki parser for generating     MS – Word document MS – Excel documents MS – PowerPoint documents HTML documents  Getting started : http://code.msdn.microsoft.com/Bulk-Loader-Create-Unique-eeb2d084#content Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 28
  27. 27. What is important for SharePoint?  Unique FileRef and Title property  Language  Document Size  Document Type  Folder and nesting  Unique users, groups and permissions  Impacts:  Search Performance and Results  Content Database Size Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 29
  28. 28. DEMO Wiki based content generation Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 30
  29. 29. Performance Tests Type of Performance Tests Type of Test Description Smoke How your application performs under light load for short duration Stress How your application runs under heavy load Performance To determine how responsive the application runs under expected load Capacity How your application performs at various capacities Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 31
  30. 30. Visual Studio Load Testing Visual Studio 2010 Ultimate  Load testing was possible, but not optimized for SharePoint  SharePoint is using a lot of GUID’s and control values which needed to be extracted manually Visual Studio 2012 Ultimate – CTP Update 2  Load testing is made easier with out of the box extraction and validation rules  Extracts SiteName, ListID, Form Fields, REQUEST DIGEST, Webpart, Calender, Document Item  Coded web performance tests are not supported for SharePoint Applications http://msdn.microsoft.com/en-us/library/vstudio/jj710162.aspx Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 32
  31. 31. DEMO – Visual Studio 2012 Performance Test Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 33
  32. 32. Machine provisioning
  33. 33. Development Machine
  34. 34. Installation scripts  Consistent deployment of SharePoint machines though DTAP stages Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 36
  35. 35. SC - Virtual Machine Manager 2012 SP1 Virtual Machine Manager provides automation, configuration and management of Virtualization Host • Private Cloud • Provision Virtual Machines based on templates • Service Templates allows you to deploy a multi tier SharePoint environment in one click • Still requires scripts to configure SharePoint Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 37
  36. 36. SC – Orchestrator Azure Integration Pack Orchestrates Runbooks that can deploy Windows Azure Virtual Machines • Public Cloud • SP1 ships with Windows Azure Integration Pack • Integration pack allows you to deploy, deprovision and move Azure VM • Requires scripts to install and configure all components and software Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 38
  37. 37. “It works on my machine”
  38. 38. Key takeaways  The goal for building a SharePoint factory can be different for every organisation  Building a software factory also requires organisational change  Start with defining your standards – validation can also done manually  The quality of software can be validated with automated tools  Most existing tools are limited to Managed Code or C#  Performance tests require bulk load that can be generated out of Wikipedia  Automating the deployment of SharePoint environments is an essential part of the validation  Have a look at System Center 2012 SP1 and Visual Studio 2012 TFS Lab Manager for automation your deployments and Test integration Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 40
  39. 39. Thank You! 01010100 01101000 01100001 01101110 01101011 00100000 01011001 01101111 01110101 0100001 Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 41
  40. 40. Donald Hessing  Thought Leader SharePoint @Capgemini  Microsoft Certified Master for SharePoint  Contact me:  @dhessing  donald.hessing@capgemini.com  http://nl.linkedin.com/pub/donald-hessing/4/250/924 Presentation Title | Date Copyright © Capgemini 2012. All Rights Reserved 43
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×