SlideShare uma empresa Scribd logo
1 de 30
Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner:
Best Practices for SharePoint
Application Lifecycle Management with
Team Foundation Server
Matthias Einig
Contact
@mattein
mail@matthiaseinig.de
www.matthiaseinig.de
Who is that guy?
• SharePoint developer since SPS2003
• MCSE, MCPD, MCITP, MSCA in
SharePoint 2007-2013
• SCRUM Master and Product Owner
Matthias Einig
SharePoint Architect
Steria AB, www.steria.com
Stockholm, Sweden
Main Focus:
• Solution Architecture,
• Solution Development,
• SharePoint ALM,
• Solution Quality Assurance
sharepoint-community.net
Application Lifecycle Management
“is a continuous process of managing the
life of an application through governance,
development and maintenance“ *
* wikipedia.org
SharePoint
Application
Lifecycle
Specify
Design
Code
Deploy
Validate
&
Test
Run
Build
&
Package
1. Requirements Management
2. Solution Architecture
3. Development
4. Quality Assurance / Testing
5. Build and Package
6. Solution Deployment
7. Operation
8. Project and Release
Management
What is SharePoint ALM?
Requirements Management
Objectives
• Stakeholder Analysis
• Requirements analysis
• Manage and track
requirements
Challenges
• Align requirements with SP
usability
• Avoid re-implementing standard
functionality
• Identifying „missing“
requirements
• 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
<role><can|must><verb><object><condition>
Auser can upload a document with member permissions.
Best Practices
Work Items in
Team Foundation Service
DEMO
Solution Architecture
Objectives
• Re-use components
• Stability and
Performance
• „Build to last, build to
change“
Challenges
• Complexity of SharePoint
• Requirements deviate
from 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?
Development
Objectives
• High quality
• Conformance to coding
guidelines / conventions
• Testability
Challenges
• Multiple languages C#, XML,
HTML, CSS, JavaScript
• Cryptic dependencies
• Team development
• 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 the SharePoint Software Factory
Download for free! http://spsf.codeplex.com
Best Practices
SharePoint Software Factory
&
TFS Source Control
DEMO
Build & Package
Objectives
• Deployable solution package
• Build against production-like
environment
• Continuous integration
Challenges
• Developer environment might
deviate from production
• “It builds on my machine…”
• DEBUG build on PROD
• Use central team build
• Build server should run
on production-like
system
• Integrate periodically to
find problems sooner
Best Practices
Team Build in
Team Foundation Service
DEMO
Quality Assurance
Objectives
• Ensure maintainability of code
• Validate against company
specific rules and policies
• Identify unneeded dependencies
Challenges
• SP Solutions have loads of files
• XML is not validated
• Do the same a 100 ways
• Deploy into SharePoint “Hive”
• Assure quality on check in
• Establish software quality
gates
• Use FxCop, StyleCop and
SPDisposeChecker
• Make regular code reviews
• Check SharePoint “code”
automatically with SPCAF
Download free beta at http://www.spcaf.com
Best Practices
No DEMO
See session at 16:00, room 3:
Automated Code Quality
Analysis of SharePoint Solutions
Testing
Objectives
• Test against requirements
• Identify bugs early
• Test stress scenarios
Challenges
• Unit testing complicated
• Solution affects standard
functionality
• XML code cannot be tested
• Manual testing costs time
• 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
Best Practices
Solution Deployment
Objectives
• Complete (customization,
configuration, content)
• Fully automated /
reproducible
• Support retraction / upgrade
Challenges
• Manual steps often required
• Multiple environments (DEV,
TEST, ACC, PROD)
• IT Pros don’t trust developers
• Standardize deployment
• Use PowerShell
• Include configuration and
content
• Parameterize deployment for
different environments
• Log all deployment steps
• Automate staging through TFS
Download for free! http://spsd.codeplex.com
Best Practices
Operation
Objectives
• Maintain a stable farm
environment
• Allow application changes
with minimal impact
• Reduce downtimes
Challenges
• Multiple solutions on a farm
• SP Updates might affect
solutions
• Some bugs can be only
reproduced on production
• 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)
Best Practices
Summary
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!
The SharePoint ALM toolkit!
Download at www.spcaf.com
Matthias Einig
@mattein
www.matthiaseinig.de
Follow us!
TheSharePointCodeQualityTeam
Torsten Mandelkow
@tmandelkow
blogs.msdn.com/b/torstenmandelkow
SharePoint Code Quality Tools
FRAGEN ?
SharePoint Camp
ab 08. Juli in München
ab 05. August in Berlin
ab 02. September in Karlsruhe
in zwei speziellen Versionen
www.SharePointCamp.de
Trainings und Events der ppedv
Mehr als 100 verschiedene Trainings auf
Microsoft-Technologien spezialisiert
11 Standorte in AT & D Maßgeschneiderte Trainings direkt bei Ihnen vor Ort!
www.ppedv.at
Wir sehen uns wieder!
Hat Ihnen mein Vortrag gefallen?
Ich freue mich auf Ihr Feedback!
VIELEN DANK!
Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner:

Mais conteúdo relacionado

Destaque

Responsive design SharePoint
Responsive design SharePointResponsive design SharePoint
Responsive design SharePoint
spdlabs
 
Unit Testing in SharePoint 2010
Unit Testing in SharePoint 2010Unit Testing in SharePoint 2010
Unit Testing in SharePoint 2010
Chris Weldon
 
V Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointV Greavu - Testing with Sharepoint
V Greavu - Testing with Sharepoint
TestCampRO
 

Destaque (19)

Responsive design SharePoint
Responsive design SharePointResponsive design SharePoint
Responsive design SharePoint
 
Best practices for share point solution deployment
Best practices for share point solution deploymentBest practices for share point solution deployment
Best practices for share point solution deployment
 
Managesp 160805190411
Managesp 160805190411Managesp 160805190411
Managesp 160805190411
 
Unit Testing in SharePoint 2010
Unit Testing in SharePoint 2010Unit Testing in SharePoint 2010
Unit Testing in SharePoint 2010
 
Unit Testing SharePoint Applications
Unit Testing SharePoint ApplicationsUnit Testing SharePoint Applications
Unit Testing SharePoint Applications
 
Risk Management in SharePoint Governance
Risk Management in SharePoint GovernanceRisk Management in SharePoint Governance
Risk Management in SharePoint Governance
 
V Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointV Greavu - Testing with Sharepoint
V Greavu - Testing with Sharepoint
 
Professional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShellProfessional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShell
 
Case Study for a SharePoint SDLC
Case Study for a SharePoint SDLCCase Study for a SharePoint SDLC
Case Study for a SharePoint SDLC
 
Agile SharePoint Development With Scrum
Agile SharePoint Development With ScrumAgile SharePoint Development With Scrum
Agile SharePoint Development With Scrum
 
SPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerSPSD SharePoint Solution Deployer
SPSD SharePoint Solution Deployer
 
Migrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlineMigrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint Online
 
Information architecture and SharePoint
Information architecture and SharePointInformation architecture and SharePoint
Information architecture and SharePoint
 
An SDLC for SharePoint
An SDLC for SharePointAn SDLC for SharePoint
An SDLC for SharePoint
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
SharePoint Permissions Worst Practices
SharePoint Permissions Worst PracticesSharePoint Permissions Worst Practices
SharePoint Permissions Worst Practices
 
Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013
 
Quality Assurance in SDLC
Quality Assurance in SDLCQuality Assurance in SDLC
Quality Assurance in SDLC
 
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
 

Mais de Matthias 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 solutions
Matthias Einig
 

Mais de Matthias Einig (10)

Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365
 
The Evolution of SharePoint
The Evolution of SharePointThe Evolution of SharePoint
The Evolution of SharePoint
 
Transforming SharePoint Farm Solutions to the App Model
Transforming SharePoint Farm Solutions to the App ModelTransforming SharePoint Farm Solutions to the App Model
Transforming SharePoint Farm Solutions to the App Model
 
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App ModelSPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
 
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
Transforming SharePoint Farm Solutions to the App Model #SPSSTHLM23
 
Developing high quality SharePoint solutions/apps with SPCAF #SP24
Developing high quality SharePoint solutions/apps with SPCAF #SP24Developing high quality SharePoint solutions/apps with SPCAF #SP24
Developing high quality SharePoint solutions/apps with SPCAF #SP24
 
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
 
Developing for SP2013
Developing for SP2013Developing for SP2013
Developing for SP2013
 
SSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementSSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle Management
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Best Practices for SharePoint Application Lifecycle Management with Team Foundation Server

  • 1. Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner: Best Practices for SharePoint Application Lifecycle Management with Team Foundation Server Matthias Einig
  • 2. Contact @mattein mail@matthiaseinig.de www.matthiaseinig.de Who is that guy? • SharePoint developer since SPS2003 • MCSE, MCPD, MCITP, MSCA in SharePoint 2007-2013 • SCRUM Master and Product Owner Matthias Einig SharePoint Architect Steria AB, www.steria.com Stockholm, Sweden Main Focus: • Solution Architecture, • Solution Development, • SharePoint ALM, • Solution Quality Assurance sharepoint-community.net
  • 3. Application Lifecycle Management “is a continuous process of managing the life of an application through governance, development and maintenance“ * * wikipedia.org
  • 4. SharePoint Application Lifecycle Specify Design Code Deploy Validate & Test Run Build & Package 1. Requirements Management 2. Solution Architecture 3. Development 4. Quality Assurance / Testing 5. Build and Package 6. Solution Deployment 7. Operation 8. Project and Release Management What is SharePoint ALM?
  • 5. Requirements Management Objectives • Stakeholder Analysis • Requirements analysis • Manage and track requirements Challenges • Align requirements with SP usability • Avoid re-implementing standard functionality • Identifying „missing“ requirements
  • 6. • 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 <role><can|must><verb><object><condition> Auser can upload a document with member permissions. Best Practices
  • 7. Work Items in Team Foundation Service DEMO
  • 8. Solution Architecture Objectives • Re-use components • Stability and Performance • „Build to last, build to change“ Challenges • Complexity of SharePoint • Requirements deviate from 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. Development Objectives • High quality • Conformance to coding guidelines / conventions • Testability Challenges • Multiple languages C#, XML, HTML, CSS, JavaScript • Cryptic dependencies • Team development
  • 11. • 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 the SharePoint Software Factory Download for free! http://spsf.codeplex.com Best Practices
  • 12. SharePoint Software Factory & TFS Source Control DEMO
  • 13. Build & Package Objectives • Deployable solution package • Build against production-like environment • Continuous integration Challenges • Developer environment might deviate from production • “It builds on my machine…” • DEBUG build on PROD
  • 14. • Use central team build • Build server should run on production-like system • Integrate periodically to find problems sooner Best Practices
  • 15. Team Build in Team Foundation Service DEMO
  • 16. Quality Assurance Objectives • Ensure maintainability of code • Validate against company specific rules and policies • Identify unneeded dependencies Challenges • SP Solutions have loads of files • XML is not validated • Do the same a 100 ways • Deploy into SharePoint “Hive”
  • 17. • Assure quality on check in • Establish software quality gates • Use FxCop, StyleCop and SPDisposeChecker • Make regular code reviews • Check SharePoint “code” automatically with SPCAF Download free beta at http://www.spcaf.com Best Practices
  • 18. No DEMO See session at 16:00, room 3: Automated Code Quality Analysis of SharePoint Solutions
  • 19. Testing Objectives • Test against requirements • Identify bugs early • Test stress scenarios Challenges • Unit testing complicated • Solution affects standard functionality • XML code cannot be tested • Manual testing costs time
  • 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 TestManager Best Practices
  • 21. Solution Deployment Objectives • Complete (customization, configuration, content) • Fully automated / reproducible • Support retraction / upgrade Challenges • Manual steps often required • Multiple environments (DEV, TEST, ACC, PROD) • IT Pros don’t trust developers
  • 22. • Standardize deployment • Use PowerShell • Include configuration and content • Parameterize deployment for different environments • Log all deployment steps • Automate staging through TFS Download for free! http://spsd.codeplex.com Best Practices
  • 23. Operation Objectives • Maintain a stable farm environment • Allow application changes with minimal impact • Reduce downtimes Challenges • Multiple solutions on a farm • SP Updates might affect solutions • Some bugs can be only reproduced on production
  • 24. • 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) Best Practices
  • 25. Summary 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!
  • 26. The SharePoint ALM toolkit! Download at www.spcaf.com Matthias Einig @mattein www.matthiaseinig.de Follow us! TheSharePointCodeQualityTeam Torsten Mandelkow @tmandelkow blogs.msdn.com/b/torstenmandelkow SharePoint Code Quality Tools
  • 28. SharePoint Camp ab 08. Juli in München ab 05. August in Berlin ab 02. September in Karlsruhe in zwei speziellen Versionen www.SharePointCamp.de Trainings und Events der ppedv Mehr als 100 verschiedene Trainings auf Microsoft-Technologien spezialisiert 11 Standorte in AT & D Maßgeschneiderte Trainings direkt bei Ihnen vor Ort! www.ppedv.at Wir sehen uns wieder!
  • 29. Hat Ihnen mein Vortrag gefallen? Ich freue mich auf Ihr Feedback!
  • 30. VIELEN DANK! Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner: