Download presentation
Presentation is loading. Please wait.
Published byGiles Townsend Modified over 9 years ago
1
Application Lifecycle Management in SharePoint 2010 Jeremy Thake
2
Enterprise Architect – AvePoint SharePoint MVP since July ‘10 Founded SharePointDevWiki.com Co-founder of NothingButSharePoint.com Speaker at MS TechEd 2009/10, SPC 11 jeremy.thake@avepoint.com gplus.to/jthake @jthake
3
Agenda What ALM is Approaches to ALM ALM Maturity Model Getting started Case Study
4
WHAT IS ALM?
5
Application Lifecycle Management (ALM) is a continuous process of managing the life of an application through governance, development and maintenance. WikiPedia
6
ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management. WikiPedia
7
Three aspects of ALM David Chappell (2008)
8
Governance David Chappell (2008)
9
Development David Chappell (2008)
10
Operations David Chappell (2008)
11
Focus for today…development Requirements management Architecture Coding Testing Tracking Release management
12
APPROACHES OF ALM
13
Today’s poll question I am developing Visual Studio SharePoint projects I am packaging all custom code as a WSP I am using source control I am using a build server I am using SPDisposeCheck I am doing unit testing
14
Coding Source Control – “Copy of” projects – No source code for a build (labeling) – Branching – Shelving
15
Coding Code Analysis – Consistent code Naming standards Casing Formatting – Disposing correctly – Defensive coding – Readable coding
16
Coding Debugging – Breakpoints in code – Inspecting live objects – Prevents debug statements throughout code unnecessary logging whilst in development that stays
17
Testing Unit Testing Integration Testing Web Testing Lab Management
18
Tracking Tasks Issues Bugs Risks
19
Release management Continuous Integration Automation! – release packages – unit testing – code analysis – build numbers Red/Green – Don’t break the build!
20
Artifact Provisioning
21
Declarative vs. Imperative Declaratively – Provision some artifacts – SPI’s built into Visual Studio Imperatively – Provision / de-provision all – Run class methods – Easier to debug & test – Defensive coding – Code samples – Wrapper classes
22
SharePoint Designer Promotion between environments Should certain artifacts be packaged as a WSP? Manual copying and pasting files Restricting use by policy Using third party tools to manage deployments
23
One farm, many feature versions activeSPDevWikiV1.0.0.0 SPDevWikiV2.0.0.0 SITE A SITE B SITE C SPDevWikiV3.0.0.0 SPDevWikiV3.0.0.0 SPDevWiki V1.0.0.0 SPDevWiki V2.0.0.0 SPDevWiki V3.0.0.0 SPDevWikiV3.0.0.0
24
Automated Builds
25
Build Process
27
Dev PC Development Smoke Testing F5 Deploy Team Foundation Server Check In Staging Automated testing Warm-blooded user testing Build Server Team Build SP2010 DLL’s Build Unit Testing Fix Bugs (repeat as necessary) Nightly build -OR-ContinuousIntegration Check in WSP Install and Activate [script] Bugs WSP WSP
28
Unit and Integration Testing No interfaces Integration Tiered layer development Design Patterns TypeMock Isolator and Moles/Pex
29
Load and Performance Testing Visual Studio Ultimate Stress test code – Simulating users Highlights overuse of creating new SPSite objects Validates server roles and hardware
30
ALM MATURITY MODEL
31
Where are you? No Source Control Source control Automated Builds Automated Testing Automated Deployment
32
GETTING STARTED
33
The Microsoft approach Visual Studio 2010 Team System – Visual Studio 2010 – Team Foundation Server 2010 – Test Professional 2010 – Project Server 2010 ALL INTEGRATED TFS in the cloud is coming!
34
Visual Studio 2010
35
Things to know It doesn’t work out of the box ;-) – Need to put assemblies on TFS server http://msdn.microsoft.com/en-us/ff622991.aspx http://msdn.microsoft.com/en-us/ff622991.aspx SharePoint/TFS Continuous Integration Starter Pack http://sharepointci.codeplex.com/http://sharepointci.codeplex.com/
36
The cheaper Source control – TortoiseHg and Mercurial Continuous Integration – JetBrains Team City
37
NOTHINGBUTSHAREPOINT.COM Case study
38
Approach BitBucket.org – $10 a month for a mercurial solution No automated builds – as I do releases...but from Source Code Using AvePoint’s DocAve Deployment Manager to deploy from Dev to Test to Production
39
Additional Tools Developer Dashboard stsadm -o setproperty -pn developer-dashboard -pv ondemand SPDisposeCheck (bit.ly/iiE3D6) VS2010 SharePoint Power Tools (bit.ly/hmx9hS) CKS:Dev (bit.ly/4Gpju2) WSPBuilder 2010 (bit.ly/c5HtIZ) Fiddler (www.fiddler2.com) SharePoint Manager 2010 (bit.ly/4dtX5A)
40
Q&A
41
References My Links – http://delicious.com/jthake/alm+sharepoint http://delicious.com/jthake/alm+sharepoint Webcast – Introducing SharePoint 2010 (SP2010) Development to ALM (VS2010 and TFS2010) Introducing SharePoint 2010 (SP2010) Development to ALM (VS2010 and TFS2010 SharePoint 2010 – http://sharepoint.microsoft.com/ http://sharepoint.microsoft.com/ SharePoint ALM resource center – http://msdn.microsoft.com/en-us/sharepoint/dd552992 http://msdn.microsoft.com/en-us/sharepoint/dd552992 SharePoint Patterns & Practices Group (SPG) – http://msdn.microsoft.com/en-us/library/ff770300.aspx http://msdn.microsoft.com/en-us/library/ff770300.aspx FREE conference videos & slides – http://msdn.microsoft.com/en-us/sharepoint/ff405669.aspx http://msdn.microsoft.com/en-us/sharepoint/ff405669.aspx – http://www.microsoft.com/downloads/details.aspx?FamilyID=f8cb362c-75ad- 4cb9-9fbc-3abcdf6afeaf http://www.microsoft.com/downloads/details.aspx?FamilyID=f8cb362c-75ad- 4cb9-9fbc-3abcdf6afeaf SPDisposeCheckStatic Rules – http://spdisposecheckstatic.codeplex.com/ http://spdisposecheckstatic.codeplex.com/
42
References What is application lifecycle management by David Chappell What is application lifecycle management by David Chappell WikiPedia – ALM Microsoft Visual Studio 2010 TFS
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.