Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Best Practices for SharePoint Application Lifecycle Management with Team Foundation Server


Published on

These are my slides from the SharePoint konferenz in Vienna on 17th/18th of June 2013

SharePoint is typically a strategic decision for companies who intend to use it on a long-term basis. Customizations and enhancements, which means usually farm solutions or apps, are often designed and implemented with disregard to the overall life cycle of the platform.
Future changes of the solutions, changing developers with different preferences in the code design, technical knowledge, documentation standards and quality understanding cause a considerable additional expense for maintenance and operation of solutions.
By applying consistent SharePoint Application Lifecycle Management with Team Foundation Server 2010/2012 and simple "rules of conduct" will allow you to prevent having to start over again when the "expert who knew everything" suddenly leaves the company or the CIO decides once again to replace the consulting firm.
This session presents best practices for SharePoint ALM and tools which can help to spare you the “why didn’t we think about that”-moment in a couple of years from now.

Published in: Technology

Best Practices for SharePoint Application Lifecycle Management with Team Foundation Server

  1. 1. Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner:Best Practices for SharePointApplication Lifecycle Management withTeam Foundation ServerMatthias Einig
  2. 2. Contact@matteinmail@matthiaseinig.dewww.matthiaseinig.deWho is that guy?• SharePoint developer since SPS2003• MCSE, MCPD, MCITP, MSCA inSharePoint 2007-2013• SCRUM Master and Product OwnerMatthias EinigSharePoint ArchitectSteria AB, www.steria.comStockholm, SwedenMain Focus:• Solution Architecture,• Solution Development,• SharePoint ALM,• Solution Quality
  3. 3. Application Lifecycle Management“is a continuous process of managing thelife of an application through governance,development and maintenance“ **
  4. 4. SharePointApplicationLifecycleSpecifyDesignCodeDeployValidate&TestRunBuild&Package1. Requirements Management2. Solution Architecture3. Development4. Quality Assurance / Testing5. Build and Package6. Solution Deployment7. Operation8. Project and ReleaseManagementWhat is SharePoint ALM?
  5. 5. Requirements ManagementObjectives• Stakeholder Analysis• Requirements analysis• Manage and trackrequirementsChallenges• Align requirements with SPusability• Avoid re-implementing standardfunctionality• Identifying „missing“requirements
  6. 6. • Business analyst knowSharePoint!• Demo SharePoint toStakeholders• Use Wireframes and UI mockups• Standardize the syntax ofrequirements• Avoid changing SharePointstandard behaviour• Manage and track requirementsie. in Team Foundations Server<role><can|must><verb><object><condition>Auser can upload a document with member permissions.Best Practices
  7. 7. Work Items inTeam Foundation ServiceDEMO
  8. 8. Solution ArchitectureObjectives• Re-use components• Stability andPerformance• „Build to last, build tochange“Challenges• Complexity of SharePoint• Requirements deviatefrom SharePointstandards• Existing solutions onenvironment
  9. 9. Best Practices• Know SharePoint out-of-the-box capabilities!• Use SharePoint standard features wherepossible• Design reusable modules• Use existing patterns i.e. service locator,repository pattern etc.• Build vs. buy?
  10. 10. DevelopmentObjectives• High quality• Conformance to codingguidelines / conventions• TestabilityChallenges• Multiple languages C#, XML,HTML, CSS, JavaScript• Cryptic dependencies• Team development
  11. 11. • Use source control and workitems• Structure application in multiplesolutions• Be consistent in coding approach(declarative vs. programmatic)• Convention over Configuration• Specialized developers• Standardize development environment• Use the SharePoint Software FactoryDownload for free! http://spsf.codeplex.comBest Practices
  12. 12. SharePoint Software Factory&TFS Source ControlDEMO
  13. 13. Build & PackageObjectives• Deployable solution package• Build against production-likeenvironment• Continuous integrationChallenges• Developer environment mightdeviate from production• “It builds on my machine…”• DEBUG build on PROD
  14. 14. • Use central team build• Build server should runon production-likesystem• Integrate periodically tofind problems soonerBest Practices
  15. 15. Team Build inTeam Foundation ServiceDEMO
  16. 16. Quality AssuranceObjectives• Ensure maintainability of code• Validate against companyspecific rules and policies• Identify unneeded dependenciesChallenges• SP Solutions have loads of files• XML is not validated• Do the same a 100 ways• Deploy into SharePoint “Hive”
  17. 17. • Assure quality on check in• Establish software qualitygates• Use FxCop, StyleCop andSPDisposeChecker• Make regular code reviews• Check SharePoint “code”automatically with SPCAFDownload free beta at http://www.spcaf.comBest Practices
  18. 18. No DEMOSee session at 16:00, room 3:Automated Code QualityAnalysis of SharePoint Solutions
  19. 19. TestingObjectives• Test against requirements• Identify bugs early• Test stress scenariosChallenges• Unit testing complicated• Solution affects standardfunctionality• XML code cannot be tested• Manual testing costs time
  20. 20. • Specify test cases in TFS• Link tests to workitems• Separate business logic from SP Code• Use mocking frameworks(TypeMock, JustMock, Moles, Shims)• Use Coded UI Tests in VS• Use VS TestManagerBest Practices
  21. 21. Solution DeploymentObjectives• Complete (customization,configuration, content)• Fully automated /reproducible• Support retraction / upgradeChallenges• Manual steps often required• Multiple environments (DEV,TEST, ACC, PROD)• IT Pros don’t trust developers
  22. 22. • Standardize deployment• Use PowerShell• Include configuration andcontent• Parameterize deployment fordifferent environments• Log all deployment steps• Automate staging through TFSDownload for free! http://spsd.codeplex.comBest Practices
  23. 23. OperationObjectives• Maintain a stable farmenvironment• Allow application changeswith minimal impact• Reduce downtimesChallenges• Multiple solutions on a farm• SP Updates might affectsolutions• Some bugs can be onlyreproduced on production
  24. 24. • Have a test farm!• Expect change and prepare• Classify and prioritize changes• Use scripts for changes• Import live content to test farmregularly• Use third party tools to manageyour farm (i.e. DocAve)Best Practices
  25. 25. SummarySharePoint ALM works for… any team size (even one person)… any project size… any project process (agile or classic)Introduce it step by step!Use ALM tools like TFS!
  26. 26. The SharePoint ALM toolkit!Download at www.spcaf.comMatthias Einig@matteinwww.matthiaseinig.deFollow us!TheSharePointCodeQualityTeamTorsten Code Quality Tools
  27. 27. FRAGEN ?
  28. 28. SharePoint Campab 08. Juli in Münchenab 05. August in Berlinab 02. September in Karlsruhein zwei speziellen Versionenwww.SharePointCamp.deTrainings und Events der ppedvMehr als 100 verschiedene Trainings aufMicrosoft-Technologien spezialisiert11 Standorte in AT & D Maßgeschneiderte Trainings direkt bei Ihnen vor Ort!www.ppedv.atWir sehen uns wieder!
  29. 29. Hat Ihnen mein Vortrag gefallen?Ich freue mich auf Ihr Feedback!
  30. 30. VIELEN DANK!Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner: