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.
Matthias EinigSharePoint Architect        SharePoint developer since 2005Steria AB, www.steria.comStockholm, Sweden       ...
Application Lifecycle Management “is a continuous process of managing thelife of an application through governance,       ...
SharePoint ALM1.   Requirements Management                 Run                                                            ...
SpecifyObjectives                          Challenges•   Stakeholder Analysis            •   Align requirements with SP us...
Best Practices•   Business analyst know SharePoint!•   Demo SharePoint to Stakeholders•   Use Wireframes and UI mockups•  ...
DesignObjectives                             Challenges•   Re-use components                  •   Complexity of SharePoint...
Best Practices• Know SharePoint out-of-the-box capabilities!• Use SharePoint standard features where possible• Design reus...
CodeObjectives                        Challenges•   High quality                  •   Multiple languages C#, XML,•   Confo...
Best Practices•   Use source control and workitems•   Structure application in multiple    solutions•   Be consistent in c...
Build & PackageObjectives                           Challenges•   Deployable solution package      •   Developer environme...
Best Practices• Use central team build                               Check In• Build server should run on  production-like...
ValidateObjectives                              Challenges•   Ensure maintainability of code      •    SP Solutions have l...
Best Practices•   Assure quality on check in•   Establish software quality gates•   Use FxCop, StyleCop and    SPDisposeCh...
SP CAF
TestObjectives                         Challenges•   Test against requirements      •   Unit testing complicated•   Identi...
Best Practices• Specify test cases in TFS• Link tests to workitems• Separate business logic from SP  Code• Use mocking fra...
DeployObjectives                             Challenges•   Complete (customization,           •   Manual steps often requi...
Best Practices•   Standardize deployment•   Use PowerShell•   Include configuration and content•   Parameterize deployment...
RunObjectives                             Challenges•   Maintain a stable farm             •   Multiple solutions on a far...
Best Practices•   Have a test farm!•   Expect change and prepare•   Classify and prioritize changes•   Use scripts for cha...
SharePoint ALM works for… any team size (even one person)… any project size… any project process (agile or classic)Introdu...
Interested?   Follow us!              The SharePoint Code Quality Team                      Torsten Mandelkow             ...
Best Practices for SharePoint Application Lifecycle Management
Best Practices for SharePoint Application Lifecycle Management
Best Practices for SharePoint Application Lifecycle Management
Best Practices for SharePoint Application Lifecycle Management
Best Practices for SharePoint Application Lifecycle Management
Best Practices for SharePoint Application Lifecycle Management
Upcoming SlideShare
Loading in …5
×

Best Practices for SharePoint Application Lifecycle Management

6,666 views

Published on

These are my slides from the ShareCamp2013 in Munich http;//www.sharecamp.de

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
  • Be the first to comment

Best Practices for SharePoint Application Lifecycle Management

  1. 1. Matthias EinigSharePoint Architect SharePoint developer since 2005Steria AB, www.steria.comStockholm, Sweden MCSE, MCPD, MCITP MSCA in , SharePoint 2007-2013 SCRUM Master and Product OwnerContact Main Focus:@mattein • Solution Architecture,mail@matthiaseinig.de • Solution Development,www.matthiaseinig.de • SharePoint ALM, • Solution Quality Assurance
  2. 2. Application Lifecycle Management “is a continuous process of managing thelife of an application through governance, development and maintenance“ * * wikipedia.org
  3. 3. SharePoint ALM1. Requirements Management Run Specify2. Solution Architecture3. Development Deploy4. Quality Assurance / Testing SharePoint Application Design5. Build and Package Lifecycle Build6. Solution Deployment & Package Code7. Operation Validate &8. Project and Release Test Management
  4. 4. SpecifyObjectives Challenges• Stakeholder Analysis • Align requirements with SP usability• Requirements analysis • Avoid re-implementing standard• Manage and track requirements functionality • Identifying „missing“ requirements
  5. 5. Best Practices• Business analyst know SharePoint!• Demo SharePoint to Stakeholders• Use Wireframes and UI mockups• Standardize the syntax of requirements• Avoid changing SharePoint standard behaviour• Manage and track requirements ie. in Team Foundations Server
  6. 6. DesignObjectives Challenges• Re-use components • Complexity of SharePoint• Stability and Performance • Requirements deviate from• „Build to last, build to change“ SharePoint standards • Existing solutions on environment
  7. 7. Best Practices• Know SharePoint out-of-the-box capabilities!• Use SharePoint standard features where possible• Design reusable modules• Use existing patterns i.e. service locator, repository pattern etc.• Build vs. buy?
  8. 8. CodeObjectives Challenges• High quality • Multiple languages C#, XML,• Conformance to coding HTML, CSS, JavaScript guidelines / conventions • Cryptic dependencies• Testability • Team development
  9. 9. Best Practices• Use source control and workitems• Structure application in multiple solutions• Be consistent in coding approach (declarative vs. programmatic)• Convention over Configuration• Specialized developers• Standardize development environment• Use SPSF
  10. 10. Build & PackageObjectives Challenges• Deployable solution package • Developer environment might• Build against production-like deviate from production environment • “It builds on my machine…”• Continuous integration • DEBUG build on PROD
  11. 11. Best Practices• Use central team build Check In• Build server should run on production-like system• Integrate periodically to find problems sooner Team Build
  12. 12. ValidateObjectives Challenges• Ensure maintainability of code • SP Solutions have loads of files• Validate against company • XML is not validated specific rules and policies • Do the same a 100 ways• Identify unneeded • Deploy into SharePoint “Hive” dependencies
  13. 13. Best Practices• Assure quality on check in• Establish software quality gates• Use FxCop, StyleCop and SPDisposeChecker• Make regular code reviews• Check SharePoint “code” automatically with SPCAF SP CAF SharePoint Code Analysis Framework
  14. 14. SP CAF
  15. 15. TestObjectives Challenges• Test against requirements • Unit testing complicated• Identify bugs early • Solution affects standard• Test stress scenarios functionality • XML code cannot be tested • Manual testing costs time
  16. 16. Best Practices• 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 TestManager
  17. 17. DeployObjectives Challenges• Complete (customization, • Manual steps often required configuration, content) • Multiple environments (DEV, TEST,• Fully automated / reproducable ACC, PROD)• Support retraction / upgrade • IT Pros don’t trust developers
  18. 18. Best Practices• Standardize deployment• Use PowerShell• Include configuration and content• Parameterize deployment for different environments• Log all deployment steps• Automate staging through TFS
  19. 19. RunObjectives Challenges• Maintain a stable farm • Multiple solutions on a farm environment • SP Updates might affect solutions• Allow application changes with • Some bugs can be only minimal impact reproduced on production• Reduce downtimes
  20. 20. Best Practices• Have a test farm!• Expect change and prepare• Classify and prioritize changes• Use scripts for changes• Import live content to test farm regularly• Use third party tools to manage your farm (i.e. DocAve)
  21. 21. SharePoint 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!
  22. 22. Interested? Follow us! The SharePoint Code Quality Team Torsten Mandelkow @tmandelkow blogs.msdn.com/b/torstenmandelkow Matthias Einig @mattein www.matthiaseinig.de

×