SSUG: SharePoint Application Lifecycle Management
Upcoming SlideShare
Loading in...5

SSUG: SharePoint Application Lifecycle Management



These slides have been presented at the Sweden SharePoint USer Group meeting 24/09/2012 by Matthias Einig. ...

These slides have been presented at the Sweden SharePoint USer Group meeting 24/09/2012 by Matthias Einig.

SPALM is Application Lifecycle Management for SharePoint development projects. It comes with a proven concepts and toolset which supports the programmer as well as the administrator to improve development and deployment of custom SharePoint applications. Main focus is to standardize and industrialize SharePoint development by filling the gaps which Microsoft left us with when programming for SharePoint.



Total Views
Views on SlideShare
Embed Views



2 Embeds 269 268 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

SSUG: SharePoint Application Lifecycle Management SSUG: SharePoint Application Lifecycle Management Presentation Transcript

  • SharePoint Application LifecycleManagement  www.steria.seSweden SharePoint User Group 25/09/2012
  •  www.steria.seAbout 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    Twitter: @mattein 25/09/2012 2
  •  www.steria.seWhat is Application Lifecycle Management? Application Lifecycle Management“is a continuous process of managing the life ofan application through governance, development and maintenance“ **
  •  www.steria.seSharePoint Application Lifecycle Management Operate Requirements Management Solution Deployment Solution SharePoint Architecture Application Lifecycle Testing Development & Quality Build Assurance
  •  www.steria.seRequirements 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.seRequirements 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.seSolution 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.seSolution 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.seDevelopment 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.seDevelopment 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
  •  www.steria.seSPSF DEMO  www.steria.se25/09/2012
  •  www.steria.seBuild 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.seBuild Steria approach  Use TFS team build  Build server should run on production-like system  Integrate periodically to realize problems sooner Team Build
  •  www.steria.seQuality 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.seQuality 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
  •  www.steria.seSPCop DEMO  www.steria.se25/09/2012
  •  www.steria.seTesting 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.seTesting 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.seSolution 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.seSolution Deployment Steria approach  Standardize deployment  Use PowerShell  Include configuration and content  Parameterize deployment for different environments  Detailed log of all deployment steps
  •  www.steria.seOperation 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.seOperation 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.seSummary  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.seThe Power of Sharing Community  Visit us at SEForum 22/23 October  CodePlex  @mattein 
  •  www.steria.seNow let’s have a beer!  www.steria.se25/09/2012