Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner:Best Practices for SharePointApplication Lifecycle Ma...
Contact@matteinmail@matthiaseinig.dewww.matthiaseinig.deWho is that guy?• SharePoint developer since SPS2003• MCSE, MCPD, ...
Application Lifecycle Management“is a continuous process of managing thelife of an application through governance,developm...
SharePointApplicationLifecycleSpecifyDesignCodeDeployValidate&TestRunBuild&Package1. Requirements Management2. Solution Ar...
Requirements ManagementObjectives• Stakeholder Analysis• Requirements analysis• Manage and trackrequirementsChallenges• Al...
• Business analyst knowSharePoint!• Demo SharePoint toStakeholders• Use Wireframes and UI mockups• Standardize the syntax ...
Work Items inTeam Foundation ServiceDEMO
Solution ArchitectureObjectives• Re-use components• Stability andPerformance• „Build to last, build tochange“Challenges• C...
Best Practices• Know SharePoint out-of-the-box capabilities!• Use SharePoint standard features wherepossible• Design reusa...
DevelopmentObjectives• High quality• Conformance to codingguidelines / conventions• TestabilityChallenges• Multiple langua...
• Use source control and workitems• Structure application in multiplesolutions• Be consistent in coding approach(declarati...
SharePoint Software Factory&TFS Source ControlDEMO
Build & PackageObjectives• Deployable solution package• Build against production-likeenvironment• Continuous integrationCh...
• Use central team build• Build server should runon production-likesystem• Integrate periodically tofind problems soonerBe...
Team Build inTeam Foundation ServiceDEMO
Quality AssuranceObjectives• Ensure maintainability of code• Validate against companyspecific rules and policies• Identify...
• Assure quality on check in• Establish software qualitygates• Use FxCop, StyleCop andSPDisposeChecker• Make regular code ...
No DEMOSee session at 16:00, room 3:Automated Code QualityAnalysis of SharePoint Solutions
TestingObjectives• Test against requirements• Identify bugs early• Test stress scenariosChallenges• Unit testing complicat...
• Specify test cases in TFS• Link tests to workitems• Separate business logic from SP Code• Use mocking frameworks(TypeMoc...
Solution DeploymentObjectives• Complete (customization,configuration, content)• Fully automated /reproducible• Support ret...
• Standardize deployment• Use PowerShell• Include configuration andcontent• Parameterize deployment fordifferent environme...
OperationObjectives• Maintain a stable farmenvironment• Allow application changeswith minimal impact• Reduce downtimesChal...
• Have a test farm!• Expect change and prepare• Classify and prioritize changes• Use scripts for changes• Import live cont...
SummarySharePoint ALM works for… any team size (even one person)… any project size… any project process (agile or classic)...
The SharePoint ALM toolkit!Download at www.spcaf.comMatthias Einig@matteinwww.matthiaseinig.deFollow us!TheSharePointCodeQ...
FRAGEN ?
SharePoint Campab 08. Juli in Münchenab 05. August in Berlinab 02. September in Karlsruhein zwei speziellen Versionenwww.S...
Hat Ihnen mein Vortrag gefallen?Ich freue mich auf Ihr Feedback!
VIELEN DANK!Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner:
Upcoming SlideShare
Loading in...5
×

Best Practices for SharePoint Application Lifecycle Management with Team Foundation Server

3,521

Published on

These are my slides from the SharePoint konferenz in Vienna on 17th/18th of June 2013 http://www.sharepointkonferenz.at

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
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,521
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "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 Assurancesharepoint-community.net
  3. 3. Application Lifecycle Management“is a continuous process of managing thelife of an application through governance,development and maintenance“ ** wikipedia.org
  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 Mandelkow@tmandelkowblogs.msdn.com/b/torstenmandelkowSharePoint 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:

×