1 / 42

Application Lifecycle Management in SharePoint 2010

Application Lifecycle Management in SharePoint 2010. Jeremy Thake. Jeremy Thake. 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

fola
Télécharger la présentation

Application Lifecycle Management in SharePoint 2010

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Application Lifecycle Management in SharePoint 2010 Jeremy Thake

  2. Jeremy Thake 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 active SITE B SITE C SITE A SPDevWiki V3.0.0.0 SPDevWiki V3.0.0.0 SPDevWiki V1.0.0.0 SPDevWiki V3.0.0.0 SPDevWiki V2.0.0.0 SPDevWiki V1.0.0.0 SPDevWiki V2.0.0.0 SPDevWiki V3.0.0.0

  24. Automated Builds

  25. Build Process

  26. Build Process

  27. Dev PC Team Foundation Server Fix Bugs (repeat as necessary) Check In Development F5 Deploy Nightly build -OR- Continuous Integration Smoke Testing Check in WSP Staging Build Server Bugs Team Build Warm-blooded user testing WSP WSP Build SP2010 DLL’s Unit Testing Install and Activate [script] Automated testing

  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 SPSiteobjects • Validates server roles and hardware

  30. ALM Maturity Model

  31. Where are you?

  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 • SharePoint/TFS Continuous Integration Starter Pack http://sharepointci.codeplex.com/

  36. The cheaper • Source control • TortoiseHg and Mercurial • Continuous Integration • JetBrainsTeam City

  37. Case study NothingButsharepoint.com

  38. Approach • BitBucket.org • $10 a month for a mercurial solution • No automated builds • as I do releases...but from Source Code • Using AvePoint’sDocAve Deployment Manager to deploy from Dev to Test to Production

  39. Additional Tools • Developer Dashboard stsadm-o setproperty -pndeveloper-dashboard -pvondemand • SPDisposeCheck(bit.ly/iiE3D6) • VS2010 SharePoint Power Tools (bit.ly/hmx9hS) • CKS:Dev(bit.ly/4Gpju2) • WSPBuilder2010 (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 • Webcast • Introducing SharePoint 2010 (SP2010) Development to ALM (VS2010 and TFS2010) • SharePoint 2010 • http://sharepoint.microsoft.com/ • SharePoint ALM resource center • http://msdn.microsoft.com/en-us/sharepoint/dd552992 • SharePoint Patterns & Practices Group (SPG) • http://msdn.microsoft.com/en-us/library/ff770300.aspx • FREE conference videos & slides • http://msdn.microsoft.com/en-us/sharepoint/ff405669.aspx • http://www.microsoft.com/downloads/details.aspx?FamilyID=f8cb362c-75ad-4cb9-9fbc-3abcdf6afeaf • SPDisposeCheckStatic Rules • http://spdisposecheckstatic.codeplex.com/

  42. References • What is application lifecycle management by David Chappell • WikiPedia – ALM • Microsoft Visual Studio 2010 TFS

More Related