SlideShare une entreprise Scribd logo
1  sur  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:

Contenu connexe

En vedette

Responsive design SharePoint
Responsive design SharePointResponsive design SharePoint
Responsive design SharePointspdlabs
 
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 deploymentSalaudeen Rajack
 
Unit Testing in SharePoint 2010
Unit Testing in SharePoint 2010Unit Testing in SharePoint 2010
Unit Testing in SharePoint 2010Chris Weldon
 
Unit Testing SharePoint Applications
Unit Testing SharePoint ApplicationsUnit Testing SharePoint Applications
Unit Testing SharePoint ApplicationsGil Zilberfeld
 
Risk Management in SharePoint Governance
Risk Management in SharePoint GovernanceRisk Management in SharePoint Governance
Risk Management in SharePoint GovernanceChristian Buckley
 
V Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointV Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointTestCampRO
 
Professional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShellProfessional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShellMatthias Einig
 
Agile SharePoint Development With Scrum
Agile SharePoint Development With ScrumAgile SharePoint Development With Scrum
Agile SharePoint Development With ScrumAndrew Woodward
 
SPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerSPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerMatthias Einig
 
Migrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlineMigrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlinePerficient, Inc.
 
Information architecture and SharePoint
Information architecture and SharePointInformation architecture and SharePoint
Information architecture and SharePointLulu Pachuau
 
An SDLC for SharePoint
An SDLC for SharePointAn SDLC for SharePoint
An SDLC for SharePointgvaughan
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808slovejoy
 
SharePoint Permissions Worst Practices
SharePoint Permissions Worst PracticesSharePoint Permissions Worst Practices
SharePoint Permissions Worst PracticesBobby Chang
 
Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Vishal Pawar
 
Quality Assurance in SDLC
Quality Assurance in SDLCQuality Assurance in SDLC
Quality Assurance in SDLCAdil Mughal
 
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 2013K.Mohamed Faizal
 

En vedette (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
 

Plus de Matthias Einig

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 365Matthias Einig
 
The Evolution of SharePoint
The Evolution of SharePointThe Evolution of SharePoint
The Evolution of SharePointMatthias Einig
 
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 ModelMatthias Einig
 
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 ModelMatthias Einig
 
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 #SPSSTHLM23Matthias Einig
 
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 #SP24Matthias 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
 
SSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementSSUG: SharePoint Application Lifecycle Management
SSUG: SharePoint Application Lifecycle ManagementMatthias Einig
 

Plus 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
 

Dernier

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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...Drew Madelung
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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 DevelopmentsTrustArc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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 Takeoffsammart93
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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 educationjfdjdjcjdnsjd
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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...Martijn de Jong
 

Dernier (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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...
 

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: