SlideShare une entreprise Scribd logo
1  sur  28
Matthias Einig
SharePoint Architect        SharePoint developer since 2005
Steria AB, www.steria.com
Stockholm, Sweden           MCSE, MCPD, MCITP MSCA in
                                               ,
                            SharePoint 2007-2013
                            SCRUM Master and Product Owner
Contact                     Main Focus:
@mattein                    •   Solution Architecture,
mail@matthiaseinig.de       •   Solution Development,
www.matthiaseinig.de        •   SharePoint ALM,
                            •   Solution Quality Assurance
Application Lifecycle Management
 “is a continuous process of managing the
life of an application through governance,
       development and maintenance“ *

                                      * wikipedia.org
SharePoint ALM
1.   Requirements Management                 Run
                                                            Specify
2.   Solution Architecture
3.   Development                   Deploy

4.   Quality Assurance / Testing              SharePoint
                                              Application
                                                                      Design

5.   Build and Package                         Lifecycle
                                    Build
6.   Solution Deployment              &
                                   Package                    Code
7.   Operation                               Validate
                                                &
8.   Project and Release                       Test

     Management
Specify


Objectives                          Challenges
•   Stakeholder Analysis            •   Align requirements with SP usability
•   Requirements analysis           •   Avoid re-implementing standard
•   Manage and track requirements       functionality
                                    •   Identifying „missing“ requirements
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
Design


Objectives                             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
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?
Code


Objectives                        Challenges
•   High quality                  •   Multiple languages C#, XML,
•   Conformance to coding             HTML, CSS, JavaScript
    guidelines / conventions      •   Cryptic dependencies
•   Testability                   •   Team development
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
Build & Package


Objectives                           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
Best Practices
• Use central team build




                               Check In
• Build server should run on
  production-like system
• Integrate periodically to
  find problems sooner
                               Team
                               Build
Validate


Objectives                              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
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
SP CAF
Test


Objectives                         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
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
Deploy


Objectives                             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
Best Practices
•   Standardize deployment
•   Use PowerShell
•   Include configuration and content
•   Parameterize deployment for
    different environments
•   Log all deployment steps
•   Automate staging through TFS
Run


Objectives                             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
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)
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!
Interested?   Follow us!
              The SharePoint Code Quality Team

                      Torsten Mandelkow
                      @tmandelkow
                        blogs.msdn.com/b/torstenmandelkow



                       Matthias Einig
                       @mattein
                        www.matthiaseinig.de

Contenu connexe

Plus de Matthias Einig

Keynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recapKeynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recapMatthias Einig
 
SPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutionsSPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutionsMatthias Einig
 
Professional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShellProfessional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShellMatthias Einig
 
SPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerSPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerMatthias Einig
 
SSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementSSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementMatthias Einig
 

Plus de Matthias Einig (6)

Keynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recapKeynote - The future of SharePoint - SPC14 recap
Keynote - The future of SharePoint - SPC14 recap
 
SPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutionsSPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutions
 
Professional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShellProfessional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShell
 
Developing for SP2013
Developing for SP2013Developing for SP2013
Developing for SP2013
 
SPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerSPSD SharePoint Solution Deployer
SPSD SharePoint Solution Deployer
 
SSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementSSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle Management
 

Dernier

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 

Dernier (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 

Best Practices for SharePoint Application Lifecycle Management

  • 1.
  • 2. Matthias Einig SharePoint Architect SharePoint developer since 2005 Steria AB, www.steria.com Stockholm, Sweden MCSE, MCPD, MCITP MSCA in , SharePoint 2007-2013 SCRUM Master and Product Owner Contact Main Focus: @mattein • Solution Architecture, mail@matthiaseinig.de • Solution Development, www.matthiaseinig.de • SharePoint ALM, • Solution Quality Assurance
  • 3. Application Lifecycle Management “is a continuous process of managing the life of an application through governance, development and maintenance“ * * wikipedia.org
  • 4. SharePoint ALM 1. Requirements Management Run Specify 2. Solution Architecture 3. Development Deploy 4. Quality Assurance / Testing SharePoint Application Design 5. Build and Package Lifecycle Build 6. Solution Deployment & Package Code 7. Operation Validate & 8. Project and Release Test Management
  • 5. Specify Objectives Challenges • Stakeholder Analysis • Align requirements with SP usability • Requirements analysis • Avoid re-implementing standard • Manage and track requirements functionality • Identifying „missing“ requirements
  • 6. 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
  • 7.
  • 8. Design Objectives 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
  • 9. 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?
  • 10. Code Objectives Challenges • High quality • Multiple languages C#, XML, • Conformance to coding HTML, CSS, JavaScript guidelines / conventions • Cryptic dependencies • Testability • Team development
  • 11. 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
  • 12.
  • 13.
  • 14. Build & Package Objectives 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
  • 15. Best Practices • Use central team build Check In • Build server should run on production-like system • Integrate periodically to find problems sooner Team Build
  • 16.
  • 17. Validate Objectives 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
  • 18. 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
  • 20. Test Objectives 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
  • 21. 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
  • 22. Deploy Objectives 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
  • 23. Best Practices • Standardize deployment • Use PowerShell • Include configuration and content • Parameterize deployment for different environments • Log all deployment steps • Automate staging through TFS
  • 24.
  • 25. Run Objectives 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
  • 26. 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)
  • 27. 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!
  • 28. Interested? Follow us! The SharePoint Code Quality Team Torsten Mandelkow @tmandelkow blogs.msdn.com/b/torstenmandelkow Matthias Einig @mattein www.matthiaseinig.de

Notes de l'éditeur

  1. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.
  2. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.
  3. - Multiple Skills required, XML is a pain- Dependencies: content type ids, feature guids, SharePoint artefacts (SiteTemplates etc.)-
  4. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.
  5. ObjectivesError free compilation and packaging of a deployable SharePoint solution package (WSP-file)Build against assembly versions as present on production environmentBuild in “Release” configurationIntegrate continuouslyChallengesCode builds locally but not integrated with code of other developersDeveloper build against different solution versions (i.e. forgot to update local sources)Integration problems are often realised too late
  6. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.
  7. ObjectivesIdentify weaknesses in SharePoint code (memory leaks, upgradeability, performance)Ensure maintainability of code (e.g. coding guidelines)Validate code against company specific rules and policiesIdentify unneeded dependencies in the codeChallengesSharePoint solutions contain a lots of files XML, assemblies, resources, etc.XML is not validated by any available tool, but wrong “code” can cause serious problemsToo many ways to implement the same code (naming, solution structure, dependencies)Solution could overwrite system files upon deployment
  8. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.
  9. Demo VS integrationSPCopSPDependSPMetricsSPInventoryDevelop a rule
  10. ObjectivesAssure that solution meets user requirementsFind bugs before deploying solution to productionAutomate tests for easier regression testingTest stress scenarios (performance testing, load testing, server failure) ChallengesUnit tests require SharePoint installation to runStandard SharePoint functionality can be affected by solutionXML code cannot be tested directly, only the resultManual tests are time-consuming
  11. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.
  12. ObjectivesComplete installation of a SharePoint application (content, configuration, customization)Automated installation with detailed deployment logSupport uninstallationSupport upgrade of existing releasesChallengesDeployment often requires manual stepsDeployment has to be done on multiple environments (integration, acceptance, production)Deployment process over the different stages should be managed to prevent shortcuts
  13. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.
  14. ObjectivesMaintain a stable farm environmentAllow application changes with minimal impact on rest of the farmBe able to roll back changesReduce downtimesChallengesSharePoint solutions are running run side-by-side with other custom solutionsSharePoint server updates may have negative impact on custom solutionsBugs can still occur only on production, as no SharePoint installation is exactly the sameErrors are often not detected immediately after the change
  15. Best PracticeBusiness Analyst should know SharePoint from a user perspectiveStructure requirements analysis based on information lifecycleStandardize syntax of requirementsQuestion and re-question the necessity of every standard SharePoint functionality changeUse tools to manage requirements i.e. Quality Center, Team Foundation Server etc.