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_0001
jucaab
 
PSI Corporate Profile
PSI Corporate ProfilePSI Corporate Profile
PSI Corporate Profile
mike_vincent
 
[Webinar] Introduction to the Nuxeo Platform
[Webinar] Introduction to the Nuxeo Platform[Webinar] Introduction to the Nuxeo Platform
[Webinar] Introduction to the Nuxeo Platform
Nuxeo
 

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 SSUG: SharePoint Application Lifecycle Management

Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
Assuringthecodequalityofsharepointsolutionsandapps 141023024802-conversion-ga...
Vanessa Santangelo
 
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
Christian Thilmany
 
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
Saul Cunningham
 

Similar a SSUG: SharePoint Application Lifecycle Management (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

SPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutionsSPSOslo: Automated code quality analysis of SharePoint solutions
SPSOslo: Automated code quality analysis of SharePoint solutions
Matthias Einig
 

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

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
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
Earley Information Science
 

Último (20)

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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
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
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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
 

SSUG: SharePoint Application Lifecycle Management

  • 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