Transcript
Page 1: SPCA2013 - Building a SharePoint Factory
Page 2: SPCA2013 - Building a SharePoint Factory

Building a SharePoint Factory

Donald Hessing (@dhessing)

Page 3: SPCA2013 - Building a SharePoint Factory

3Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

[email protected] | @dhessing

Page 4: SPCA2013 - Building a SharePoint Factory

4Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Agenda

1. Considerations for building a SharePoint Factory?

2. Standardization

3. Code Analyses

4. Performance Testing

5. Deploy and Machine Provisioning

Some Demos:

Code Validation

Content Generation

Load Testing

Page 5: SPCA2013 - Building a SharePoint Factory

Boeing factory in Seattle

Page 6: SPCA2013 - Building a SharePoint Factory

6Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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)

Page 7: SPCA2013 - Building a SharePoint Factory

Bring new solutions to customers faster with lower cost

Page 8: SPCA2013 - Building a SharePoint Factory

8Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 9: SPCA2013 - Building a SharePoint Factory

10Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Standardized process

Plan Build Test DeployRoll-Out

Acceptance criteria

• PID Templates

• Infrastructure Intake

• Reference architecture

• Storage calculator

• Design std

• Coding std

• Environment std

• Test environment std

• Test scenarios std

• DTAP deployment std

• Installation std

• Operations std

• Change mg std

• Training std

Page 10: SPCA2013 - Building a SharePoint Factory

11Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Define your maturity…

One-off solutions

Reusable Components (Logging, Data Access, Display Templates, ..)

Reusable Solutions (Streaming Video, People Directory, ..)

Standard offerings (Intranet, Extranet, Records Management, …)

Page 11: SPCA2013 - Building a SharePoint Factory

12Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Requires organizational change

At project start-up identify potential re-usable components

Architecture board for deviations from the reference architecture

Peer reviews

Page 12: SPCA2013 - Building a SharePoint Factory

13Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Standardize….

Create/Improve the standard

Agree on the Standard (Adoption)

Add review processes

Automate standard

Automate Process

Page 13: SPCA2013 - Building a SharePoint Factory

14Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

…SharePoint Coding Standard Example

Create the standard “Coding

Standard for SP2013”

Agree on the Standard

(Adoption)

Add review processes

Automate Review

(FXCop, SPCop)

Automate Review Process in

Automated Builds (TFS)

Page 14: SPCA2013 - Building a SharePoint Factory

Code Analyses

Page 15: SPCA2013 - Building a SharePoint Factory

16Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 16: SPCA2013 - Building a SharePoint Factory

Enforce Code Conformance by Automation

Page 17: SPCA2013 - Building a SharePoint Factory

18Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Tools

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

SharePoint 2010 SharePoint 2013

• Only tool for SharePoint artefacts,

metrics, feature dependency,

managed code and C# analyses!

• Includes TFS and 3th Party

integration (FXCop, JSLint,CAT.NET)

Page 18: SPCA2013 - Building a SharePoint Factory

19Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 19: SPCA2013 - Building a SharePoint Factory

20Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 20: SPCA2013 - Building a SharePoint Factory

21Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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.0http://codeblog.vurdalakov.net/2012/05/how-to-download-fxcop-100.html

Page 21: SPCA2013 - Building a SharePoint Factory

22Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

DEMO

Page 22: SPCA2013 - Building a SharePoint Factory

Performance Testing

Page 23: SPCA2013 - Building a SharePoint Factory

24Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 24: SPCA2013 - Building a SharePoint Factory

SharePoint Performance Testing

Page 25: SPCA2013 - Building a SharePoint Factory

Valid testing data is essential for performance tests

Page 26: SPCA2013 - Building a SharePoint Factory

Md5Hash

SharePoint Search Duplicates

Page 27: SPCA2013 - Building a SharePoint Factory

28Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Content generation

Downloaded a copy of the wiki database http://en.wikipedia.org/wiki/Wikipedia:Database_download#English-

language_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

What we did at Capgemini…

Page 28: SPCA2013 - Building a SharePoint Factory

29Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 29: SPCA2013 - Building a SharePoint Factory

30Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

DEMO

Wiki based content generation

Page 30: SPCA2013 - Building a SharePoint Factory

31Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Type of Performance Tests

Page 31: SPCA2013 - Building a SharePoint Factory

32Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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 Applicationshttp://msdn.microsoft.com/en-us/library/vstudio/jj710162.aspx

Page 32: SPCA2013 - Building a SharePoint Factory

33Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

DEMO – Visual Studio 2012 Performance Test

Page 33: SPCA2013 - Building a SharePoint Factory

Machine provisioning

Page 34: SPCA2013 - Building a SharePoint Factory

Development Machine

Page 35: SPCA2013 - Building a SharePoint Factory

36Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Installation scripts

Consistent deployment of SharePoint machines though DTAP stages

Page 36: SPCA2013 - Building a SharePoint Factory

37Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 37: SPCA2013 - Building a SharePoint Factory

38Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 38: SPCA2013 - Building a SharePoint Factory

“It works on my machine”

Page 39: SPCA2013 - Building a SharePoint Factory

40Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

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

Page 40: SPCA2013 - Building a SharePoint Factory

41Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Thank You!

01010100 01101000 01100001 01101110

01101011 00100000 01011001 01101111

01110101 0100001

Page 41: SPCA2013 - Building a SharePoint Factory
Page 42: SPCA2013 - Building a SharePoint Factory

43Copyright © Capgemini 2012. All Rights Reserved

Presentation Title | Date

Donald Hessing

Thought Leader SharePoint @Capgemini

Microsoft Certified Master for SharePoint

Contact me:

@dhessing

[email protected]

http://nl.linkedin.com/pub/donald-hessing/4/250/924


Top Related