SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar 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
 

Similar 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
 

Más 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
 

Más 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

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

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