25
www.steria.se SharePoint Application Lifecycle Management Sweden SharePoint User Group 25/09/2012

SharePoint Application Lifecycle Management … · SharePoint Application Lifecycle Management ... Convention over Configuration ... ALM works both for agile and waterfall projects

Embed Size (px)

Citation preview

www.steria.se

SharePoint Application Lifecycle

Management

Sweden SharePoint User Group

25/09/2012

www.steria.se About Matthias Einig

25/09/2012 2

SharePoint SharePoint developer since 2005

Certified MCPD, MCITP, MCTS in SP and TFS, SCRUM Master and PO

Main Focus: - Solution Architecture, - SharePoint ALM, - Solution Quality Assurance

Steria At Steria since 2008 (since 2012 in Sweden)

Team Lead SharePoint Consulting @ Steria Sweden

Contact [email protected]

www.matthiaseinig.de Twitter: @mattein

www.steria.se What is Application Lifecycle Management?

Application Lifecycle Management

“is a continuous process of managing the life of

an application through governance, development

and maintenance“ *

* wikipedia.org

www.steria.se SharePoint Application Lifecycle Management

SharePoint

Application

Lifecycle

Requirements

Management

Solution

Architecture

Development

&

Build

Solution

Deployment

Quality

Assurance

Operate

Testing

www.steria.se

Specify

Requirements Management

Objectives Stakeholder Analysis

Requirements analysis

Manage and track requirements

Challenges Aligning requirements with SharePoint usability

Avoid re-implementing standard functionality

Identifying „missing“ requirements

www.steria.se Requirements Management

Steria approach

Business analyst should know SharePoint!

Educate stakeholders in SharePoint

Create wireframes and UI mockups

Standardize the syntax of requirements

Avoid changing SharePoint standard behaviour

Manage requirements in Team Foundations Server

www.steria.se

Design

Solution Architecture

Objectives Re-use components

Stability and Performance

„Build to last, build to change“

Challenges Complexity of SharePoint

Requirements deviate from SharePoint standards

Existing solutions on environment

www.steria.se Solution Architecture

Steria approach

Know SharePoint ootb functionalities!

Use as much SharePoint standard as possible

Design reusable modules

Use existing patterns i.e. service locator, repository

pattern etc.

Build vs. buy?

www.steria.se

Code

Development

Objectives High quality (stability, performance, maintainability)

Conformance to coding guidelines and naming conventions

Testability

Challenges Multiple languages C#, XML, HTML, CSS, JavaScript

Cryptic dependencies

No guidelines on solution structure

Team development

www.steria.se Development

Steria approach

Use TFS for source control and workitems

Structure application in multiple solutions

Be consistent in coding approach

(declarative vs. programmatic)

Convention over Configuration

Enforce coding guidelines

Specialized developers

Standardize development environment

http://spsf.codeplex.com

www.steria.se

www.steria.se

25/09/2012

SPSF DEMO

www.steria.se Build

Compile & Package

Objectives Deployable solution package (WSP-file)

Build against production-like environment

Continuous integration

Challenges Developer environment might deviate from production

Not using latest sources on local build

Integration problems are often realized too late

www.steria.se

Team Build

Build

Steria approach

Use TFS team build

Build server should run on production-like system

Integrate periodically to realize problems sooner

www.steria.se

Validate

Quality Assurance

Objectives Identify weaknesses

Ensure maintainability of code

Validate against company specific rules and policies

Identify unneeded dependencies

Challenges SP Solutions have loads of files

Content of XML is not validated

Too many ways to implement the same requirement

Solutions deploy into the SharePoint “Hive”

www.steria.se Quality Assurance

http://sharepointcop.codeplex.com

Steria approach

Assure quality before check in

Establish software quality gates

Use FxCop, StyleCop and

SPDisposeChecker

Make regular code reviews

Check SharePoint “code”

automatically

www.steria.se

www.steria.se

25/09/2012

SPCop DEMO

www.steria.se

Test

Testing

Objectives Test against requirements

Identify bugs early

Automate tests

Test stress scenarios

Challenges Unit testing complicated

Solution might affect standard functionality

XML code cannot be tested directly

Manual tests very time consuming

www.steria.se Testing

Steria approach

Specify test cases in TFS

Link tests to workitems

Separate business logic from SP Code

Use mocking frameworks

Use Coded UI Tests in VS

Use VS TestManager

www.steria.se

Deploy

Solution Deployment

Objectives Complete (customization, configuration, content)

Fully automated / reproducable

Support undeployment

Support solution upgrade

Challenges Manual steps often required

Multiple environments (DEV, INT, ACC, PROD)

IT Pros don’t trust developers on their farms

www.steria.se Solution Deployment

Steria approach

Standardize deployment

Use PowerShell

Include configuration and content

Parameterize deployment for

different environments

Detailed log of all deployment

steps

http://spsd.codeplex.com

www.steria.se

Run

Operation

Objectives Maintain a stable farm environment

Allow application changes with minimal impact

Be able to roll back changes

Reduce downtimes

Challenges Multiple custom solutions on a farm

SP Updates might affect custom solutions

Some bugs can be only reproduced on production

www.steria.se Operation

Steria approach

Have a test farm!

Expect change and prepare

Classify changes and prioritize them

Create scripts for configuration changes

Import live content to test farm regularly

Use third party tools to manage your farm

(i.e. DocAve)

www.steria.se Summary

ALM is a MUST for development in teams

ALM works for both small and big projects

ALM works both for agile and waterfall projects

Team Foundation Server is required for SharePoint ALM

Gaps in the ALM process can be improved with custom tools

www.steria.se

Community

Visit us at SEForum 22/23 October

CodePlex

http://spalm.codeplex.com

http://spsf.codeplex.com

http://sharepointcop.codeplex.com

http://spsd.codeplex.com

@mattein

http://www.matthiaseinig.de

The Power of Sharing

www.steria.se

www.steria.se

25/09/2012

Now let’s have a beer!