SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
SharePoint Application Lifecycle
Management                          www.steria.se




Sweden SharePoint User Group




 25/09/2012
 www.steria.se
About Matthias Einig



          SharePoint
           SharePoint developer since 2005
           Certified MCPD, MCITP, MCTS in SP and TFS, SCRUM Master and PO
           Main Focus:
            - Solution Architecture,
            - SharePoint ALM,
            - Solution Quality Assurance

          Steria
           At Steria since 2008 (since 2012 in Sweden)
           Team Lead SharePoint Consulting @ Steria Sweden

          Contact
           matthias.einig@steria.se
           www.matthiaseinig.de
           Twitter: @mattein



 25/09/2012   2
 www.steria.se
What is Application Lifecycle Management?




          Application Lifecycle Management
“is a continuous process of managing the life of
an application through governance, development
               and maintenance“ *




* wikipedia.org
 www.steria.se
SharePoint Application Lifecycle Management




                             Operate
                                           Requirements
                                           Management


                 Solution
                Deployment                          Solution
                                 SharePoint       Architecture
                                 Application
                                  Lifecycle

                   Testing
                                             Development
                                                  &
                                Quality         Build
                               Assurance
 www.steria.se
Requirements Management




                              Specify


   Objectives
      Stakeholder Analysis
      Requirements analysis
      Manage and track requirements

   Challenges
      Aligning requirements with SharePoint usability
      Avoid re-implementing standard functionality
      Identifying „missing“ requirements
 www.steria.se
Requirements Management




   Steria approach
    Business analyst should know SharePoint!
    Educate stakeholders in SharePoint
    Create wireframes and UI mockups
    Standardize the syntax of requirements
    Avoid changing SharePoint standard behaviour
    Manage requirements in Team Foundations Server
 www.steria.se
Solution Architecture




                                 Design


    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
 www.steria.se
Solution Architecture




    Steria approach
     Know SharePoint ootb functionalities!
     Use as much SharePoint standard as possible
     Design reusable modules
     Use existing patterns i.e. service locator, repository
      pattern etc.
     Build vs. buy?
 www.steria.se
Development




                              Code


   Objectives
      High quality (stability, performance, maintainability)
      Conformance to coding guidelines and naming conventions
      Testability

   Challenges
      Multiple languages C#, XML, HTML, CSS, JavaScript
      Cryptic dependencies
      No guidelines on solution structure
      Team development
 www.steria.se
Development




   Steria approach
      Use TFS for source control and workitems
      Structure application in multiple solutions
      Be consistent in coding approach
       (declarative vs. programmatic)
      Convention over Configuration
      Enforce coding guidelines
      Specialized developers
      Standardize development environment




   http://spsf.codeplex.com
 www.steria.se




SPSF DEMO     www.steria.se




25/09/2012
 www.steria.se
Build




                        Compile & Package


    Objectives
       Deployable solution package (WSP-file)
       Build against production-like environment
       Continuous integration

    Challenges
       Developer environment might deviate from production
       Not using latest sources on local build
       Integration problems are often realized too late
 www.steria.se
Build




    Steria approach
       Use TFS team build
       Build server should run on production-like system
       Integrate periodically to realize problems sooner




                                         Team Build
 www.steria.se
Quality Assurance




                               Validate


    Objectives
       Identify weaknesses
       Ensure maintainability of code
       Validate against company specific rules and policies
       Identify unneeded dependencies
    Challenges
       SP Solutions have loads of files
       Content of XML is not validated
       Too many ways to implement the same requirement
       Solutions deploy into the SharePoint “Hive”
 www.steria.se
Quality Assurance




    Steria approach
     Assure quality before check in
     Establish software quality gates
     Use FxCop, StyleCop and
      SPDisposeChecker
     Make regular code reviews
     Check SharePoint “code”
      automatically



    http://sharepointcop.codeplex.com
 www.steria.se




SPCop DEMO    www.steria.se




25/09/2012
 www.steria.se
Testing




                                  Test


    Objectives
       Test against requirements
       Identify bugs early
       Automate tests
       Test stress scenarios
    Challenges
       Unit testing complicated
       Solution might affect standard functionality
       XML code cannot be tested directly
       Manual tests very time consuming
 www.steria.se
Testing




    Steria approach
     Specify test cases in TFS
     Link tests to workitems
     Separate business logic from SP Code
     Use mocking frameworks
     Use Coded UI Tests in VS
     Use VS TestManager
 www.steria.se
Solution Deployment




                               Deploy


    Objectives
       Complete (customization, configuration, content)
       Fully automated / reproducable
       Support undeployment
       Support solution upgrade
    Challenges
       Manual steps often required
       Multiple environments (DEV, INT, ACC, PROD)
       IT Pros don’t trust developers on their farms
 www.steria.se
Solution Deployment




    Steria approach
     Standardize deployment
     Use PowerShell
     Include configuration and content
     Parameterize deployment for
      different environments
     Detailed log of all deployment
      steps



    http://spsd.codeplex.com
 www.steria.se
Operation




                                Run


    Objectives
       Maintain a stable farm environment
       Allow application changes with minimal impact
       Be able to roll back changes
       Reduce downtimes
    Challenges
       Multiple custom solutions on a farm
       SP Updates might affect custom solutions
       Some bugs can be only reproduced on production
 www.steria.se
Operation




    Steria approach
       Have a test farm!
       Expect change and prepare
       Classify changes and prioritize them
       Create scripts for configuration changes
       Import live content to test farm regularly
       Use third party tools to manage your farm
        (i.e. DocAve)
 www.steria.se
Summary



      ALM is a MUST for development in teams
      ALM works for both small and big projects
      ALM works both for agile and waterfall projects
      Team Foundation Server is required for SharePoint ALM
      Gaps in the ALM process can be improved with custom tools
 www.steria.se
The Power of Sharing




    Community
       Visit us at SEForum 22/23 October

       CodePlex
            http://spalm.codeplex.com
            http://spsf.codeplex.com
            http://sharepointcop.codeplex.com
            http://spsd.codeplex.com

       @mattein

       http://www.matthiaseinig.de
 www.steria.se




Now let’s have a beer!    www.steria.se




25/09/2012

Mais conteúdo relacionado

Mais procurados

Soa cloud con8968_pdf_8968_0001
Soa cloud con8968_pdf_8968_0001Soa cloud con8968_pdf_8968_0001
Soa cloud con8968_pdf_8968_0001jucaab
 
Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...ORACLE USER GROUP ESTONIA
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentationMayank Singh
 
PSI Corporate Profile
PSI Corporate ProfilePSI Corporate Profile
PSI Corporate Profilemike_vincent
 
[Webinar] Introduction to the Nuxeo Platform
[Webinar] Introduction to the Nuxeo Platform[Webinar] Introduction to the Nuxeo Platform
[Webinar] Introduction to the Nuxeo PlatformNuxeo
 
Soa Offerings
Soa OfferingsSoa Offerings
Soa OfferingsImaginea
 
PSI corporate profile
PSI corporate profilePSI corporate profile
PSI corporate profilesanirudha
 
Oracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovationOracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovationAlicja Sieminska
 
Open World Forum 2012 - Nuxeo
Open World Forum 2012 - NuxeoOpen World Forum 2012 - Nuxeo
Open World Forum 2012 - NuxeoNuxeo
 
Intro to Advanced PLM Capabilities in Aras Innovator
Intro to Advanced PLM Capabilities in Aras InnovatorIntro to Advanced PLM Capabilities in Aras Innovator
Intro to Advanced PLM Capabilities in Aras InnovatorAras
 
WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011Fumiko Yamashita
 
Turning your Private Cloud into an Automated Delivery Platform
Turning your Private Cloud into an Automated Delivery PlatformTurning your Private Cloud into an Automated Delivery Platform
Turning your Private Cloud into an Automated Delivery PlatformXebiaLabs
 
The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012Imaginet
 
Fusion Middleware 11g Keynote Foundation For Innovation
Fusion Middleware 11g Keynote Foundation For InnovationFusion Middleware 11g Keynote Foundation For Innovation
Fusion Middleware 11g Keynote Foundation For InnovationMark Rabne
 
SaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSoftServe
 

Mais procurados (20)

Soa cloud con8968_pdf_8968_0001
Soa cloud con8968_pdf_8968_0001Soa cloud con8968_pdf_8968_0001
Soa cloud con8968_pdf_8968_0001
 
Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle University - Your Complete Training Source for Oracle Software and Har...
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentation
 
PSI Corporate Profile
PSI Corporate ProfilePSI Corporate Profile
PSI Corporate Profile
 
[Webinar] Introduction to the Nuxeo Platform
[Webinar] Introduction to the Nuxeo Platform[Webinar] Introduction to the Nuxeo Platform
[Webinar] Introduction to the Nuxeo Platform
 
Soa Offerings
Soa OfferingsSoa Offerings
Soa Offerings
 
PSI corporate profile
PSI corporate profilePSI corporate profile
PSI corporate profile
 
Oracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovationOracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovation
 
Shikha Gupta
Shikha GuptaShikha Gupta
Shikha Gupta
 
Open World Forum 2012 - Nuxeo
Open World Forum 2012 - NuxeoOpen World Forum 2012 - Nuxeo
Open World Forum 2012 - Nuxeo
 
Resume raushan
Resume raushanResume raushan
Resume raushan
 
OpenERP 6.0
OpenERP 6.0OpenERP 6.0
OpenERP 6.0
 
Intro to Advanced PLM Capabilities in Aras Innovator
Intro to Advanced PLM Capabilities in Aras InnovatorIntro to Advanced PLM Capabilities in Aras Innovator
Intro to Advanced PLM Capabilities in Aras Innovator
 
WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011
 
Corporate overview the services story
Corporate overview the services storyCorporate overview the services story
Corporate overview the services story
 
Turning your Private Cloud into an Automated Delivery Platform
Turning your Private Cloud into an Automated Delivery PlatformTurning your Private Cloud into an Automated Delivery Platform
Turning your Private Cloud into an Automated Delivery Platform
 
The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012
 
Fusion Middleware 11g Keynote Foundation For Innovation
Fusion Middleware 11g Keynote Foundation For InnovationFusion Middleware 11g Keynote Foundation For Innovation
Fusion Middleware 11g Keynote Foundation For Innovation
 
SaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOps
 
Imaginea qa&automation
Imaginea qa&automationImaginea qa&automation
Imaginea qa&automation
 

Semelhante a Manage SharePoint Apps with ALM Process

AvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle MgmntAvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle MgmntMary Leigh Mackie
 
Implementing dev ops to face a two speed it architecture
Implementing dev ops to face a two speed it architectureImplementing dev ops to face a two speed it architecture
Implementing dev ops to face a two speed it architectureDavide Veronese
 
UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008Christian Thilmany
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTSMicrosoft Iceland
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Steve Lange
 
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)Sogeti Nederland B.V.
 
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...Vanessa Santangelo
 
SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactoryNCCOMMS
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep DiveChristian Thilmany
 
OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...VarunNehra
 
Managing Internal, Private External, and Open Developer Ecosystems
Managing Internal, Private External, and Open Developer EcosystemsManaging Internal, Private External, and Open Developer Ecosystems
Managing Internal, Private External, and Open Developer EcosystemsLarry McDonough
 
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic ServerPeter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic ServerSaul Cunningham
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesAmazon Web Services
 

Semelhante a Manage SharePoint Apps with ALM Process (20)

AvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle MgmntAvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle Mgmnt
 
Developing for SP2013
Developing for SP2013Developing for SP2013
Developing for SP2013
 
Sakeesoft
Sakeesoft Sakeesoft
Sakeesoft
 
Introduction to CodeFactory
Introduction to CodeFactoryIntroduction to CodeFactory
Introduction to CodeFactory
 
Implementing dev ops to face a two speed it architecture
Implementing dev ops to face a two speed it architectureImplementing dev ops to face a two speed it architecture
Implementing dev ops to face a two speed it architecture
 
SharePoint Development
SharePoint DevelopmentSharePoint Development
SharePoint Development
 
Profile_Ahmad2
Profile_Ahmad2Profile_Ahmad2
Profile_Ahmad2
 
UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTS
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
 
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
 
SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint Factory
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
 
OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...
 
Niharika_Shukla_CV
Niharika_Shukla_CVNiharika_Shukla_CV
Niharika_Shukla_CV
 
Managing Internal, Private External, and Open Developer Ecosystems
Managing Internal, Private External, and Open Developer EcosystemsManaging Internal, Private External, and Open Developer Ecosystems
Managing Internal, Private External, and Open Developer Ecosystems
 
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic ServerPeter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
 
Agile testing
Agile testingAgile testing
Agile testing
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
 

Mais 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
 
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
 

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
 
Professional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShellProfessional SharePoint Solution Deployment with PowerShell
Professional SharePoint Solution Deployment with PowerShell
 
SPSD SharePoint Solution Deployer
SPSD SharePoint Solution DeployerSPSD SharePoint Solution Deployer
SPSD SharePoint Solution Deployer
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
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 WorkerThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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...
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Manage SharePoint Apps with ALM Process

  • 1. SharePoint Application Lifecycle Management  www.steria.se Sweden SharePoint User Group 25/09/2012
  • 2.  www.steria.se About Matthias Einig SharePoint  SharePoint developer since 2005  Certified MCPD, MCITP, MCTS in SP and TFS, SCRUM Master and PO  Main Focus: - Solution Architecture, - SharePoint ALM, - Solution Quality Assurance Steria  At Steria since 2008 (since 2012 in Sweden)  Team Lead SharePoint Consulting @ Steria Sweden Contact  matthias.einig@steria.se  www.matthiaseinig.de  Twitter: @mattein 25/09/2012 2
  • 3.  www.steria.se What is Application Lifecycle Management? Application Lifecycle Management “is a continuous process of managing the life of an application through governance, development and maintenance“ * * wikipedia.org
  • 4.  www.steria.se SharePoint Application Lifecycle Management Operate Requirements Management Solution Deployment Solution SharePoint Architecture Application Lifecycle Testing Development & Quality Build Assurance
  • 5.  www.steria.se Requirements Management Specify Objectives  Stakeholder Analysis  Requirements analysis  Manage and track requirements Challenges  Aligning requirements with SharePoint usability  Avoid re-implementing standard functionality  Identifying „missing“ requirements
  • 6.  www.steria.se Requirements Management Steria approach  Business analyst should know SharePoint!  Educate stakeholders in SharePoint  Create wireframes and UI mockups  Standardize the syntax of requirements  Avoid changing SharePoint standard behaviour  Manage requirements in Team Foundations Server
  • 7.  www.steria.se Solution Architecture Design 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
  • 8.  www.steria.se Solution Architecture Steria approach  Know SharePoint ootb functionalities!  Use as much SharePoint standard as possible  Design reusable modules  Use existing patterns i.e. service locator, repository pattern etc.  Build vs. buy?
  • 9.  www.steria.se Development Code Objectives  High quality (stability, performance, maintainability)  Conformance to coding guidelines and naming conventions  Testability Challenges  Multiple languages C#, XML, HTML, CSS, JavaScript  Cryptic dependencies  No guidelines on solution structure  Team development
  • 10.  www.steria.se Development Steria approach  Use TFS for source control and workitems  Structure application in multiple solutions  Be consistent in coding approach (declarative vs. programmatic)  Convention over Configuration  Enforce coding guidelines  Specialized developers  Standardize development environment http://spsf.codeplex.com
  • 11.  www.steria.se SPSF DEMO  www.steria.se 25/09/2012
  • 12.  www.steria.se Build Compile & Package Objectives  Deployable solution package (WSP-file)  Build against production-like environment  Continuous integration Challenges  Developer environment might deviate from production  Not using latest sources on local build  Integration problems are often realized too late
  • 13.  www.steria.se Build Steria approach  Use TFS team build  Build server should run on production-like system  Integrate periodically to realize problems sooner Team Build
  • 14.  www.steria.se Quality Assurance Validate Objectives  Identify weaknesses  Ensure maintainability of code  Validate against company specific rules and policies  Identify unneeded dependencies Challenges  SP Solutions have loads of files  Content of XML is not validated  Too many ways to implement the same requirement  Solutions deploy into the SharePoint “Hive”
  • 15.  www.steria.se Quality Assurance Steria approach  Assure quality before check in  Establish software quality gates  Use FxCop, StyleCop and SPDisposeChecker  Make regular code reviews  Check SharePoint “code” automatically http://sharepointcop.codeplex.com
  • 16.  www.steria.se SPCop DEMO  www.steria.se 25/09/2012
  • 17.  www.steria.se Testing Test Objectives  Test against requirements  Identify bugs early  Automate tests  Test stress scenarios Challenges  Unit testing complicated  Solution might affect standard functionality  XML code cannot be tested directly  Manual tests very time consuming
  • 18.  www.steria.se Testing Steria approach  Specify test cases in TFS  Link tests to workitems  Separate business logic from SP Code  Use mocking frameworks  Use Coded UI Tests in VS  Use VS TestManager
  • 19.  www.steria.se Solution Deployment Deploy Objectives  Complete (customization, configuration, content)  Fully automated / reproducable  Support undeployment  Support solution upgrade Challenges  Manual steps often required  Multiple environments (DEV, INT, ACC, PROD)  IT Pros don’t trust developers on their farms
  • 20.  www.steria.se Solution Deployment Steria approach  Standardize deployment  Use PowerShell  Include configuration and content  Parameterize deployment for different environments  Detailed log of all deployment steps http://spsd.codeplex.com
  • 21.  www.steria.se Operation Run Objectives  Maintain a stable farm environment  Allow application changes with minimal impact  Be able to roll back changes  Reduce downtimes Challenges  Multiple custom solutions on a farm  SP Updates might affect custom solutions  Some bugs can be only reproduced on production
  • 22.  www.steria.se Operation Steria approach  Have a test farm!  Expect change and prepare  Classify changes and prioritize them  Create scripts for configuration changes  Import live content to test farm regularly  Use third party tools to manage your farm (i.e. DocAve)
  • 23.  www.steria.se Summary  ALM is a MUST for development in teams  ALM works for both small and big projects  ALM works both for agile and waterfall projects  Team Foundation Server is required for SharePoint ALM  Gaps in the ALM process can be improved with custom tools
  • 24.  www.steria.se The Power of Sharing Community  Visit us at SEForum 22/23 October  CodePlex http://spalm.codeplex.com http://spsf.codeplex.com http://sharepointcop.codeplex.com http://spsd.codeplex.com  @mattein  http://www.matthiaseinig.de
  • 25.  www.steria.se Now let’s have a beer!  www.steria.se 25/09/2012