SlideShare una empresa de Scribd logo
1 de 58
Presented by Thomas Eldblom // Senior Solution Architect, Sitecore Australia
November 5, 2014
Sitecore Application Lifecycle Management.
A Strategy for Optimizing the Complete Sitecore Application Development and
Solution Management Lifecycle.
François de la Rochefoucauld (1613-1680)
“The Only Thing Constant in Life is Change”
Delivery vs. Evolution
Focused Approach
The capability to integrate, coordinate and manage the different
phases of the software development process.
From development to deployment, ALM is a set of pre-defined
process and tools that include definition, design, development,
testing, deployment and management.
Throughout the ALM process, each of these steps are closely
monitored and controlled.
Application Lifecycle Management
CONTINUOUS
INTEGRATION
s
Why Focus on Sitecore ALM?
Developer Production
Deployment
UAT
Deployment
Integration
Version
Control
Integration 2 Integration 3
Branching StrategyHotfixes and patching
Agile Development,
Continuous Deployment
Modules,
Dependencies and
Upgrading
Configuration
V1.0 V1.1 V1.2
And remember:
It’s Not About The Tools!
IT’S ALL ABOUT
PROCESSES!
Agenda
Requirements
Design
DevelopmentQA & Test
Release
11
Design and Architecture
SOLID Principles
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Layouts
Templates
Sublayouts
.NET code CSS &
Design files
Settings
in Sitecore
XSLT RenderingsConfig
files
Content
structure
Building Maintainable Solutions
The Release Reuse Equivalency
Principle
The granule of reuse is the granule of release.
The Common Closure Principle
Classes that change together, belong together.
The Common Reuse Principle
Classes that aren’t reused together should not
be grouped together.
Principles of Package Architecture
The Acyclic Dependencies Principle
The dependencies betwen packages must not
form cycles.
The Stable Dependencies Principle
Depend in the direction of stability.
The Stable Abstractions Principle
Stable packages should be abstract
packages.
Books to read
http://www.amazon.com/Agile-Principles-Patterns-Practices-
C/dp/0131857258
Agile Principles, Patterns, and Practices in C#
Robert C. Martin
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
Clean Code: A Handbook of Agile Software
CraftsmanshipRobert C. Martin
Establish a Domain Language with the Client
Define the Conventions to Fit Your Team and Processes
Build Features not Layers
Clear Separation of Concerns
Detectable Dependencies
Summary: Architecting your Solution
22
Development
Design
DevelopmentQA & Test
Release
SETUP DEVELOPMENT ENVIRONMENT
MANAGE SOLUTION CONFIGURATION
MANAGE MODULE DEPENDENCIES
DEVELOP SOLUTION FILES
VERSION CONTROL AND BRANCHING
Bad version control strategy = Failure!
Version Control is the One Stop Shop for your entire solution
Development environments are generated from version control
Integration environments and testing originates from version control
Releases are created from version control
Don’t overcomplicate: Think about what you version, not how you do it.
Only version control changes or additions - never standard files or modules
Version control your Solution Manifest
Version Control
YOUR #1 PRIORITY
What does it do?
Glues your bespoke code together with modules, content, configuration etc.
What is it?
One or more files describing the complete solution setup in a structured manner.
How is it used?
Used as input to automation scripts or tools
What is the aim?
Consistently recreate any version of your solution
Solution Manifest
Because you cannot version control everything!
Get any version of the solution from version control
Retrieve Sitecore, modules and all other dependencies
Configure solution for the development setup
Configure IIS and other environment services
Setup a local database instance and restore test content
Build solution
Restore solution items into Sitecore
Example of what a manifest should allow you to do in development:
Create a manifest to help you initialize and recreate development
Force conventions by automation and manifest
Other important disciplines:
• Configuration management
• Dependency management
Always be true to your architecture and conventions
Summary: Developing your Solution
28
QA & Test
Design
DevelopmentQA & Test
Release
CONTINUOUS BUILD
INTEGRATE SOLUTION AND DEPENDENCIES
SETUP TEST ENVIRONMENT
TEST BUILD
Be true to your architecture and conventions
Think lean and agile
Be able to recreate any version at any time
Quick deployments = higher quality
Don’t focus on tools and methodologies
Automated Testing is not a goal
Understand the platform
Quick wins to good Quality
Continuous Integration
What does it do?
Continuously integrates changes with the standard modules and establishes a consistent
setup for quality assurance.
What is it?
A central service supervising the version control system, automatically building, configuring
and establishing a running solution.
How is it used?
Establish environments for testing or create packages for
further processing.
What is the aim?
To be consistent and speed up processes.
Reflection:
What is Sitecore really?
Components of a Sitecore Solution
SITECORE INSTANCE
ITEMS
FILES
ENVIRONMENT
Components of a Sitecore Solution
SITECORE INSTANCE
ITEMS
FILES
ENVIRONMENT
Components of a Sitecore Solution
SITECORE INSTANCE
ITEMS
FILES
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
Hardware, VM,
OS
Software, IIS,
SQL Server…
Security, IIS
configuration …
Components of a Sitecore Solution
SITECORE INSTANCE
ITEMS
FILES
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
SITECORE INSTANCE
Components of a Sitecore Solution
ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
CONFIGURATION FILES
SOLUTION MODULES
.config
.dll, .aspx,
.cshtml, .css,
database files
SITECORE INSTANCE
FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
Components of a Sitecore Solution
ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
SOLUTION MODULES Connection
strings, …
CD, CM
configuration
SITECORE INSTANCE
FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
Components of a Sitecore Solution
ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
SOLUTION MODULES
SITECORE INSTANCE
Components of a Sitecore Solution
ITEMS
CONTENT
CONFIGURATION ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
Templates,
Layouts, …
SOLUTION MODULES
SITECORE INSTANCE
Components of a Sitecore Solution
ITEMS
CONTENT
CONFIGURATION ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
SOLUTION MODULES
In order to integrate
successfully and
consistently, you need
to control all
components.
Automate, Automate, Automate!
Consistency and speed is instrumental to good quality
Understand Sitecore and understand the implications in processes before
automating
Other important disciplines:
• Integration testing
• Performance and stress testing
• Branching and merging
If you are not true to conventions, you will not be able to automate!
Summary: QA and Test
43
Release
Design
DevelopmentQA & Test
Release
MANAGE ENVIRONMENT SERVERS
MANAGE SITECORE CONTENT
CONTINUOUS DEPLOYS
INITIAL DEPLOYS
MANAGE ENVIRONMENT CONFIGURATION
RELEASE MANAGEMENT
BUILD RELEASE
Sitecore Development and Release Process Example
RELEASE REPOSITORY
BUILD SERVER
DEVELOPER MACHINE
DEVELOPER MACHINE
DEVELOPER MACHINES
LOCAL
DATABASE
SERVER
VERSION CONTROL
SYSTEM
MODULE REPOSITORY
BACKUP REPOSITORY But what is
a Sitecore
Release?
Reflection:
What is Sitecore really?
Sitecore Servers and Technologies
DELIVERY
SERVER
MANAGEMENT
SERVER
CONTENT
DATABASE
SERVER
EXPERIENCE
DATABASE
SERVER
Microsoft Windows Server
IIS
Microsoft SQL Server
SOLR
MongoDB
.NET
AGGREGATION
SERVER
PUBLISHING
SERVER
REPORTING
DATABASE
SERVER
SESSION
DATABASE
SERVER
Sitecore Server Roles Example
SITECORE DELIVERY SERVER SITECORE MANAGEMENT SERVER CONTENT DATABASE SERVER
Initial Deployment
SITECORE DELIVERY SERVER
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
SOLUTION & MODULE FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
SITECORE MANAGEMENT SERVER CONTENT DATABASE SERVER
File Install
IIS Website,
App Pool, File
Security, …IIS
VM, Windows
Initial Deployment
SITECORE DELIVERY SERVER
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
SOLUTION & MODULE FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
SITECORE MANAGEMENT SERVER
ITEMS
CONFIGURATION ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
SOLUTION & MODULE FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
CONTENT DATABASE SERVER
Package Install
Initial Deployment
SITECORE DELIVERY SERVER
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
SOLUTION & MODULE FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
SITECORE MANAGEMENT SERVER
ITEMS
CONFIGURATION ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
SOLUTION & MODULE FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
CONTENT DATABASE SERVER
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
SQL Server
SQL Security
ITEMS
CONTENT
Database
Restore
Initial Deployment
SITECORE DELIVERY SERVER
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
SOLUTION & MODULE FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
SITECORE MANAGEMENT SERVER
ITEMS
CONFIGURATION ITEMS
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
FILES
SOLUTION & MODULE FILES
CONFIGURATION FILES
GENERAL ROLE ENVIRONMENT
CONTENT DATABASE SERVER
ENVIRONMENT
SERVER
SERVICES
CONFIGURATION
ITEMS
CONTENT
In order to deploy rapidly
and consistently, you need
to control all components
across all servers
DEVELOPER MACHINE
DEVELOPER MACHINE
SERVERS
Sitecore Development and Release Process Example
DEPLOYMENT SERVER
ENVIRONMENT
REPOSITORY
RELEASE REPOSITORY
BUILD SERVER
DEVELOPER MACHINE
DEVELOPER MACHINE
DEVELOPER MACHINES
LOCAL
DATABASE
SERVER
VERSION CONTROL
SYSTEM
MODULE REPOSITORY
BACKUP REPOSITORY
PowerShell
Sitecore Development and Release Process Example
DEVELOPER MACHINE
DEVELOPER MACHINE
SERVERSDEPLOYMENT SERVER
ENVIRONMENT
REPOSITORY
RELEASE REPOSITORY
BUILD SERVER
DEVELOPER MACHINE
DEVELOPER MACHINE
DEVELOPER MACHINES
VERSION CONTROL
SYSTEM
MODULE REPOSITORY
BACKUP REPOSITORY
TEAM DEVELOPMENT
FOR SITECORE
SlowCheetah
Network
Share
Network
Share
SOLUTION MANIFEST
BACKUP REPOSITORYMODULE REPOSITORY
Tools and Frameworks
RELEASE REPOSITORY
DEVELOPMENT ENVIRONMENT DEPLOYMENT ENVIRONMENTBUILD ENVIRONMENT
ENVIRONMENT
REPOSITORY
VERSION CONTROL
SYSTEM
TEAM DEVELOPMENT
FOR SITECORE
Sitecore
UnicornSitecore
Instance
Manager
SlowCheetah
Sitecore
Instance
Manager
Network
Share
Network
Share
Network
Share
Consistency is key!
If you nail development automation and CI, deployment is easy!
Deployment is only part of the release management process
Other important disciplines:
• Release Management
• Versioning strategy
• Backup management
• Environment management
If you are not true to conventions, you will not be able to automate!
Summary: Release
57
Final Comments
Processes
Requirements
Design
DevelopmentQA & Test
Release
MANAGE ENVIRONMENT SERVERS
MANAGE SITECORE CONTENT
CONTINUOUS DEPLOYS
INITIAL DEPLOYS
MANAGE ENVIRONMENT CONFIGURATION
RELEASE MANAGEMENT
BUILD RELEASE
CONTINUOUS BUILD
INTEGRATE SOLUTION AND DEPENDENCIES
SETUP TEST ENVIRONMENT
TEST BUILD
SETUP DEVELOPMENT ENVIRONMENT
MANAGE SOLUTION CONFIGURATION
MANAGE MODULE DEPENDENCIES
DEVELOP SOLUTION FILES
VERSION CONTROL AND BRANCHING
How Do You Do Sitecore?
Work on culture and conventions.
Start from your own maturity level.
Consider the why before the how.
Application Lifecycle
Management is a
process.
Learn and Grow with it.
Thomas Eldblom
the@sitecore.net
@teldblom

Más contenido relacionado

La actualidad más candente

Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large EnterprisesSalesforce Developers
 
Team Development on Force.com with Github and Ant
Team Development on Force.com with Github and AntTeam Development on Force.com with Github and Ant
Team Development on Force.com with Github and AntSalesforce Developers
 
DevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementDevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementMicrosoft Developer Norway
 
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB Applications
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB ApplicationsAlpha Five Version 8 - Rapid tool to build Web & Desktop DB Applications
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB ApplicationsRichard Rabins
 
Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016Serena Software
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best PracticesVivek Chawla
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful DeploymentSalesforce Developers
 
Continuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projectsContinuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projectsAldo Fernandez
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Microsoft 365 Developer
 
Enterprise class apex
Enterprise class apexEnterprise class apex
Enterprise class apexEnkitec
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationSebastian Wagner
 
Microsoft Partner Benefits for Software Companies
Microsoft Partner Benefits for Software CompaniesMicrosoft Partner Benefits for Software Companies
Microsoft Partner Benefits for Software CompaniesWes Yanaga
 
Salesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce Developers
 
Vsts Msdn Presentation2003
Vsts Msdn Presentation2003Vsts Msdn Presentation2003
Vsts Msdn Presentation2003John Sanderson
 
The definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosumThe definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosumFlosum
 

La actualidad más candente (20)

Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
What's new in SBM 11.1
What's new in SBM 11.1What's new in SBM 11.1
What's new in SBM 11.1
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large Enterprises
 
Team Development on Force.com with Github and Ant
Team Development on Force.com with Github and AntTeam Development on Force.com with Github and Ant
Team Development on Force.com with Github and Ant
 
DevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementDevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release management
 
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB Applications
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB ApplicationsAlpha Five Version 8 - Rapid tool to build Web & Desktop DB Applications
Alpha Five Version 8 - Rapid tool to build Web & Desktop DB Applications
 
Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best Practices
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful Deployment
 
Continuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projectsContinuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projects
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020
 
Lightning Components: The Future
Lightning Components: The FutureLightning Components: The Future
Lightning Components: The Future
 
Enterprise class apex
Enterprise class apexEnterprise class apex
Enterprise class apex
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous Integration
 
Microsoft Partner Benefits for Software Companies
Microsoft Partner Benefits for Software CompaniesMicrosoft Partner Benefits for Software Companies
Microsoft Partner Benefits for Software Companies
 
Salesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinar
 
Vsts Msdn Presentation2003
Vsts Msdn Presentation2003Vsts Msdn Presentation2003
Vsts Msdn Presentation2003
 
The definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosumThe definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosum
 

Destacado

Email Experience Manager - St. Louis Sitecore User Group Meetup
Email Experience Manager - St. Louis Sitecore User Group MeetupEmail Experience Manager - St. Louis Sitecore User Group Meetup
Email Experience Manager - St. Louis Sitecore User Group MeetupRoundedcube
 
Continuous Delivery with Sitecore
Continuous Delivery with SitecoreContinuous Delivery with Sitecore
Continuous Delivery with SitecoreCode Computerlove
 
Make Me Over! Real-time Site Renovations
Make Me Over! Real-time Site RenovationsMake Me Over! Real-time Site Renovations
Make Me Over! Real-time Site RenovationsSitecore
 
Sitecore 8 XP – A Dream for Digital Marketers
Sitecore 8 XP – A Dream for Digital MarketersSitecore 8 XP – A Dream for Digital Marketers
Sitecore 8 XP – A Dream for Digital Marketersedynamic
 
Sitecore & Microsoft Breakfast: Sitecore opening address
Sitecore & Microsoft Breakfast: Sitecore opening addressSitecore & Microsoft Breakfast: Sitecore opening address
Sitecore & Microsoft Breakfast: Sitecore opening addressSitecore
 
24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to Know24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to KnowAshish Bansal
 
Close the Gap - Understand your customer and enhance your digital experience ...
Close the Gap - Understand your customer and enhance your digital experience ...Close the Gap - Understand your customer and enhance your digital experience ...
Close the Gap - Understand your customer and enhance your digital experience ...edynamic
 

Destacado (8)

Email Experience Manager - St. Louis Sitecore User Group Meetup
Email Experience Manager - St. Louis Sitecore User Group MeetupEmail Experience Manager - St. Louis Sitecore User Group Meetup
Email Experience Manager - St. Louis Sitecore User Group Meetup
 
Digital trends 2016
Digital trends 2016Digital trends 2016
Digital trends 2016
 
Continuous Delivery with Sitecore
Continuous Delivery with SitecoreContinuous Delivery with Sitecore
Continuous Delivery with Sitecore
 
Make Me Over! Real-time Site Renovations
Make Me Over! Real-time Site RenovationsMake Me Over! Real-time Site Renovations
Make Me Over! Real-time Site Renovations
 
Sitecore 8 XP – A Dream for Digital Marketers
Sitecore 8 XP – A Dream for Digital MarketersSitecore 8 XP – A Dream for Digital Marketers
Sitecore 8 XP – A Dream for Digital Marketers
 
Sitecore & Microsoft Breakfast: Sitecore opening address
Sitecore & Microsoft Breakfast: Sitecore opening addressSitecore & Microsoft Breakfast: Sitecore opening address
Sitecore & Microsoft Breakfast: Sitecore opening address
 
24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to Know24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to Know
 
Close the Gap - Understand your customer and enhance your digital experience ...
Close the Gap - Understand your customer and enhance your digital experience ...Close the Gap - Understand your customer and enhance your digital experience ...
Close the Gap - Understand your customer and enhance your digital experience ...
 

Similar a Developer Group - Sitecore Application Lifecycle Management

DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdfDebasish Das
 
Agile DevOps Implementation
Agile DevOps ImplementationAgile DevOps Implementation
Agile DevOps ImplementationManikandan R
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseDBmaestro - Database DevOps
 
Azure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsAzure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsJoost Veldhuis, MSc
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOpsAbdullah al Mamun
 
Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Bill Duncan
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guidebigspire
 
Life cycle-management-for-oracle-data-integrator-(odi)
Life cycle-management-for-oracle-data-integrator-(odi)Life cycle-management-for-oracle-data-integrator-(odi)
Life cycle-management-for-oracle-data-integrator-(odi)Database & Technology s.r.l.
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughAngela Dugan
 
Whitepaper life cycle-management-for-odi
Whitepaper life cycle-management-for-odiWhitepaper life cycle-management-for-odi
Whitepaper life cycle-management-for-odiMinerva SoftCare GmbH
 
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...CA Technologies
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsTara Walker
 
Test Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps FrameworkTest Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps FrameworkEnov8
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaGlobant
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)Serena Software
 
2015-01-12 TechTalk - Continuous Delivery and Release Management
2015-01-12 TechTalk - Continuous Delivery and Release Management2015-01-12 TechTalk - Continuous Delivery and Release Management
2015-01-12 TechTalk - Continuous Delivery and Release ManagementMicrosoft Switzerland (DX)
 
Continuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOpsContinuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOpsSeaLights
 

Similar a Developer Group - Sitecore Application Lifecycle Management (20)

DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdf
 
Agile DevOps Implementation
Agile DevOps ImplementationAgile DevOps Implementation
Agile DevOps Implementation
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterprise
 
release management
release managementrelease management
release management
 
Azure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsAzure Devops Build Tools for Powerapps
Azure Devops Build Tools for Powerapps
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
 
Life cycle-management-for-oracle-data-integrator-(odi)
Life cycle-management-for-oracle-data-integrator-(odi)Life cycle-management-for-oracle-data-integrator-(odi)
Life cycle-management-for-oracle-data-integrator-(odi)
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
Whitepaper life cycle-management-for-odi
Whitepaper life cycle-management-for-odiWhitepaper life cycle-management-for-odi
Whitepaper life cycle-management-for-odi
 
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
 
Test Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps FrameworkTest Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps Framework
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 
2015-01-12 TechTalk - Continuous Delivery and Release Management
2015-01-12 TechTalk - Continuous Delivery and Release Management2015-01-12 TechTalk - Continuous Delivery and Release Management
2015-01-12 TechTalk - Continuous Delivery and Release Management
 
Continuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOpsContinuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOps
 

Más de Thomas Eldblom

Faster, faster, faster! a helix approach to dev ops in the light of the sitec...
Faster, faster, faster! a helix approach to dev ops in the light of the sitec...Faster, faster, faster! a helix approach to dev ops in the light of the sitec...
Faster, faster, faster! a helix approach to dev ops in the light of the sitec...Thomas Eldblom
 
Sitecore Commerce and Helix
Sitecore Commerce and HelixSitecore Commerce and Helix
Sitecore Commerce and HelixThomas Eldblom
 
Maintainable Sitecore Solutions
Maintainable Sitecore SolutionsMaintainable Sitecore Solutions
Maintainable Sitecore SolutionsThomas Eldblom
 
The Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing PlatformThe Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing PlatformThomas Eldblom
 
Trendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas EldblomTrendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas EldblomThomas Eldblom
 
Sitecore xDB - How it works
Sitecore xDB - How it worksSitecore xDB - How it works
Sitecore xDB - How it worksThomas Eldblom
 
Sitecore xPlatform - Introduction
Sitecore xPlatform - IntroductionSitecore xPlatform - Introduction
Sitecore xPlatform - IntroductionThomas Eldblom
 

Más de Thomas Eldblom (7)

Faster, faster, faster! a helix approach to dev ops in the light of the sitec...
Faster, faster, faster! a helix approach to dev ops in the light of the sitec...Faster, faster, faster! a helix approach to dev ops in the light of the sitec...
Faster, faster, faster! a helix approach to dev ops in the light of the sitec...
 
Sitecore Commerce and Helix
Sitecore Commerce and HelixSitecore Commerce and Helix
Sitecore Commerce and Helix
 
Maintainable Sitecore Solutions
Maintainable Sitecore SolutionsMaintainable Sitecore Solutions
Maintainable Sitecore Solutions
 
The Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing PlatformThe Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing Platform
 
Trendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas EldblomTrendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
Trendspot ANZ 2014 - Federated Experience Manager - Thomas Eldblom
 
Sitecore xDB - How it works
Sitecore xDB - How it worksSitecore xDB - How it works
Sitecore xDB - How it works
 
Sitecore xPlatform - Introduction
Sitecore xPlatform - IntroductionSitecore xPlatform - Introduction
Sitecore xPlatform - Introduction
 

Developer Group - Sitecore Application Lifecycle Management

  • 1. Presented by Thomas Eldblom // Senior Solution Architect, Sitecore Australia November 5, 2014 Sitecore Application Lifecycle Management. A Strategy for Optimizing the Complete Sitecore Application Development and Solution Management Lifecycle.
  • 2. François de la Rochefoucauld (1613-1680) “The Only Thing Constant in Life is Change”
  • 4. The capability to integrate, coordinate and manage the different phases of the software development process. From development to deployment, ALM is a set of pre-defined process and tools that include definition, design, development, testing, deployment and management. Throughout the ALM process, each of these steps are closely monitored and controlled. Application Lifecycle Management
  • 5. CONTINUOUS INTEGRATION s Why Focus on Sitecore ALM? Developer Production Deployment UAT Deployment Integration Version Control Integration 2 Integration 3 Branching StrategyHotfixes and patching Agile Development, Continuous Deployment Modules, Dependencies and Upgrading Configuration V1.0 V1.1 V1.2
  • 6. And remember: It’s Not About The Tools! IT’S ALL ABOUT PROCESSES!
  • 9.
  • 10.
  • 11.
  • 13. Layouts Templates Sublayouts .NET code CSS & Design files Settings in Sitecore XSLT RenderingsConfig files Content structure
  • 14.
  • 16. The Release Reuse Equivalency Principle The granule of reuse is the granule of release. The Common Closure Principle Classes that change together, belong together. The Common Reuse Principle Classes that aren’t reused together should not be grouped together. Principles of Package Architecture The Acyclic Dependencies Principle The dependencies betwen packages must not form cycles. The Stable Dependencies Principle Depend in the direction of stability. The Stable Abstractions Principle Stable packages should be abstract packages.
  • 17. Books to read http://www.amazon.com/Agile-Principles-Patterns-Practices- C/dp/0131857258 Agile Principles, Patterns, and Practices in C# Robert C. Martin http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 Clean Code: A Handbook of Agile Software CraftsmanshipRobert C. Martin
  • 18. Establish a Domain Language with the Client Define the Conventions to Fit Your Team and Processes Build Features not Layers Clear Separation of Concerns Detectable Dependencies Summary: Architecting your Solution
  • 20. Design DevelopmentQA & Test Release SETUP DEVELOPMENT ENVIRONMENT MANAGE SOLUTION CONFIGURATION MANAGE MODULE DEPENDENCIES DEVELOP SOLUTION FILES VERSION CONTROL AND BRANCHING
  • 21. Bad version control strategy = Failure! Version Control is the One Stop Shop for your entire solution Development environments are generated from version control Integration environments and testing originates from version control Releases are created from version control Don’t overcomplicate: Think about what you version, not how you do it. Only version control changes or additions - never standard files or modules Version control your Solution Manifest Version Control YOUR #1 PRIORITY
  • 22. What does it do? Glues your bespoke code together with modules, content, configuration etc. What is it? One or more files describing the complete solution setup in a structured manner. How is it used? Used as input to automation scripts or tools What is the aim? Consistently recreate any version of your solution Solution Manifest Because you cannot version control everything!
  • 23. Get any version of the solution from version control Retrieve Sitecore, modules and all other dependencies Configure solution for the development setup Configure IIS and other environment services Setup a local database instance and restore test content Build solution Restore solution items into Sitecore Example of what a manifest should allow you to do in development:
  • 24. Create a manifest to help you initialize and recreate development Force conventions by automation and manifest Other important disciplines: • Configuration management • Dependency management Always be true to your architecture and conventions Summary: Developing your Solution
  • 26. Design DevelopmentQA & Test Release CONTINUOUS BUILD INTEGRATE SOLUTION AND DEPENDENCIES SETUP TEST ENVIRONMENT TEST BUILD
  • 27. Be true to your architecture and conventions Think lean and agile Be able to recreate any version at any time Quick deployments = higher quality Don’t focus on tools and methodologies Automated Testing is not a goal Understand the platform Quick wins to good Quality
  • 28. Continuous Integration What does it do? Continuously integrates changes with the standard modules and establishes a consistent setup for quality assurance. What is it? A central service supervising the version control system, automatically building, configuring and establishing a running solution. How is it used? Establish environments for testing or create packages for further processing. What is the aim? To be consistent and speed up processes.
  • 30. Components of a Sitecore Solution SITECORE INSTANCE ITEMS FILES ENVIRONMENT
  • 31. Components of a Sitecore Solution SITECORE INSTANCE ITEMS FILES ENVIRONMENT
  • 32. Components of a Sitecore Solution SITECORE INSTANCE ITEMS FILES ENVIRONMENT SERVER SERVICES CONFIGURATION Hardware, VM, OS Software, IIS, SQL Server… Security, IIS configuration …
  • 33. Components of a Sitecore Solution SITECORE INSTANCE ITEMS FILES ENVIRONMENT SERVER SERVICES CONFIGURATION
  • 34. SITECORE INSTANCE Components of a Sitecore Solution ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION FILES CONFIGURATION FILES SOLUTION MODULES .config .dll, .aspx, .cshtml, .css, database files
  • 35. SITECORE INSTANCE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT Components of a Sitecore Solution ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION SOLUTION MODULES Connection strings, … CD, CM configuration
  • 36. SITECORE INSTANCE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT Components of a Sitecore Solution ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION SOLUTION MODULES
  • 37. SITECORE INSTANCE Components of a Sitecore Solution ITEMS CONTENT CONFIGURATION ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT Templates, Layouts, … SOLUTION MODULES
  • 38. SITECORE INSTANCE Components of a Sitecore Solution ITEMS CONTENT CONFIGURATION ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT SOLUTION MODULES In order to integrate successfully and consistently, you need to control all components.
  • 39. Automate, Automate, Automate! Consistency and speed is instrumental to good quality Understand Sitecore and understand the implications in processes before automating Other important disciplines: • Integration testing • Performance and stress testing • Branching and merging If you are not true to conventions, you will not be able to automate! Summary: QA and Test
  • 41. Design DevelopmentQA & Test Release MANAGE ENVIRONMENT SERVERS MANAGE SITECORE CONTENT CONTINUOUS DEPLOYS INITIAL DEPLOYS MANAGE ENVIRONMENT CONFIGURATION RELEASE MANAGEMENT BUILD RELEASE
  • 42. Sitecore Development and Release Process Example RELEASE REPOSITORY BUILD SERVER DEVELOPER MACHINE DEVELOPER MACHINE DEVELOPER MACHINES LOCAL DATABASE SERVER VERSION CONTROL SYSTEM MODULE REPOSITORY BACKUP REPOSITORY But what is a Sitecore Release?
  • 44. Sitecore Servers and Technologies DELIVERY SERVER MANAGEMENT SERVER CONTENT DATABASE SERVER EXPERIENCE DATABASE SERVER Microsoft Windows Server IIS Microsoft SQL Server SOLR MongoDB .NET AGGREGATION SERVER PUBLISHING SERVER REPORTING DATABASE SERVER SESSION DATABASE SERVER
  • 45. Sitecore Server Roles Example SITECORE DELIVERY SERVER SITECORE MANAGEMENT SERVER CONTENT DATABASE SERVER
  • 46. Initial Deployment SITECORE DELIVERY SERVER ENVIRONMENT SERVER SERVICES CONFIGURATION FILES SOLUTION & MODULE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT SITECORE MANAGEMENT SERVER CONTENT DATABASE SERVER File Install IIS Website, App Pool, File Security, …IIS VM, Windows
  • 47. Initial Deployment SITECORE DELIVERY SERVER ENVIRONMENT SERVER SERVICES CONFIGURATION FILES SOLUTION & MODULE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT SITECORE MANAGEMENT SERVER ITEMS CONFIGURATION ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION FILES SOLUTION & MODULE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT CONTENT DATABASE SERVER Package Install
  • 48. Initial Deployment SITECORE DELIVERY SERVER ENVIRONMENT SERVER SERVICES CONFIGURATION FILES SOLUTION & MODULE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT SITECORE MANAGEMENT SERVER ITEMS CONFIGURATION ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION FILES SOLUTION & MODULE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT CONTENT DATABASE SERVER ENVIRONMENT SERVER SERVICES CONFIGURATION SQL Server SQL Security ITEMS CONTENT Database Restore
  • 49. Initial Deployment SITECORE DELIVERY SERVER ENVIRONMENT SERVER SERVICES CONFIGURATION FILES SOLUTION & MODULE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT SITECORE MANAGEMENT SERVER ITEMS CONFIGURATION ITEMS ENVIRONMENT SERVER SERVICES CONFIGURATION FILES SOLUTION & MODULE FILES CONFIGURATION FILES GENERAL ROLE ENVIRONMENT CONTENT DATABASE SERVER ENVIRONMENT SERVER SERVICES CONFIGURATION ITEMS CONTENT In order to deploy rapidly and consistently, you need to control all components across all servers
  • 50. DEVELOPER MACHINE DEVELOPER MACHINE SERVERS Sitecore Development and Release Process Example DEPLOYMENT SERVER ENVIRONMENT REPOSITORY RELEASE REPOSITORY BUILD SERVER DEVELOPER MACHINE DEVELOPER MACHINE DEVELOPER MACHINES LOCAL DATABASE SERVER VERSION CONTROL SYSTEM MODULE REPOSITORY BACKUP REPOSITORY
  • 51. PowerShell Sitecore Development and Release Process Example DEVELOPER MACHINE DEVELOPER MACHINE SERVERSDEPLOYMENT SERVER ENVIRONMENT REPOSITORY RELEASE REPOSITORY BUILD SERVER DEVELOPER MACHINE DEVELOPER MACHINE DEVELOPER MACHINES VERSION CONTROL SYSTEM MODULE REPOSITORY BACKUP REPOSITORY TEAM DEVELOPMENT FOR SITECORE SlowCheetah Network Share Network Share SOLUTION MANIFEST
  • 52. BACKUP REPOSITORYMODULE REPOSITORY Tools and Frameworks RELEASE REPOSITORY DEVELOPMENT ENVIRONMENT DEPLOYMENT ENVIRONMENTBUILD ENVIRONMENT ENVIRONMENT REPOSITORY VERSION CONTROL SYSTEM TEAM DEVELOPMENT FOR SITECORE Sitecore UnicornSitecore Instance Manager SlowCheetah Sitecore Instance Manager Network Share Network Share Network Share
  • 53. Consistency is key! If you nail development automation and CI, deployment is easy! Deployment is only part of the release management process Other important disciplines: • Release Management • Versioning strategy • Backup management • Environment management If you are not true to conventions, you will not be able to automate! Summary: Release
  • 55. Processes Requirements Design DevelopmentQA & Test Release MANAGE ENVIRONMENT SERVERS MANAGE SITECORE CONTENT CONTINUOUS DEPLOYS INITIAL DEPLOYS MANAGE ENVIRONMENT CONFIGURATION RELEASE MANAGEMENT BUILD RELEASE CONTINUOUS BUILD INTEGRATE SOLUTION AND DEPENDENCIES SETUP TEST ENVIRONMENT TEST BUILD SETUP DEVELOPMENT ENVIRONMENT MANAGE SOLUTION CONFIGURATION MANAGE MODULE DEPENDENCIES DEVELOP SOLUTION FILES VERSION CONTROL AND BRANCHING
  • 56. How Do You Do Sitecore?
  • 57. Work on culture and conventions. Start from your own maturity level. Consider the why before the how.
  • 58. Application Lifecycle Management is a process. Learn and Grow with it. Thomas Eldblom the@sitecore.net @teldblom

Notas del editor

  1. We are all lazy gits! But this is not a bad thing… Some of my most brilliant work has been done simply to avoid me having to repeat boring things again and again. I think this is why we inherently all love the fact that DevOps My name is…
  2. The market changes and so will the requirements Marketeers will always want something else or more All marketing divisions will mature and need more tools and possibilities We are not in the business of making turnkey solution and we are not in the business of setting up standard systems. Everything we do is about customization and change. The market is changing, and the customers expectations on what service you can deliver and the time to market is changing. Meanwhile the enterprises are turning their marketing investments to larger platforms Just because the platform is best-of-breed, the solution might not be
  3. We are not in the business of making turnkey solution and we are not in the business of setting up standard systems. Everything we do is about customization and change. The market is changing, and the customers expectations on what service you can deliver and the time to market is changing. Meanwhile the enterprises are turning their marketing investments to larger platforms Just because the platform is best-of-breed, the solution might not be
  4. For many years IT projects has been treated like construction projects. Start, Build, Deliver – nothing more. Even agile methodology in SI’s and Agencies have typically been treated as a number of sprints ending with a release The “Build and Release” culture is deeply rooted in the development community “The only thing constant in life is change” We know that the market is changing all the time We know that the world of marketing and the tools and competencies are evolving Why are we as developers often building like there is no tomorrow? Why are many Sitecore implementation projects still acting like the up front requirements is eternal? We need to make it possible for the platforms we build to change and evolve We need to move from a project and delivery based approach to an agile and process based approach We need to focus on the entire application lifecycle, and not just the build and delivery
  5. Typical lifecycle Whether waterfall or agile methodology
  6. 1. We all know that developing a single Sitecore solution on our own machine is typically very simple and easy. If only all processes in software development was as easy as that, right? 2. Once you start scaling to multiple developers, that requires conventions, tools and meticulous processes 3. Likewise, deploying to a single server can be a simple manual process, and there are tools in Sitecore and out there to help you 4. But once you get multiple environments and scaled setups, things like configuration management and recovery processes needs to described and planned 5. Continuous integration, unit testing and DevOps is on everybody's lips these days. In many of these processes and tasks, Sitecore will not particularly lend a hand, and you have to define the conventions and processes to make it work for you. 6. And once you bring in versioning and perhaps have dependencies to external parties integrating with your solution, things like branching and release management becomes important. 7. And if major releases are being developed and tested while you need to do patching and hotfixes on specific environments, we need to be able to recreate every version, including the associated versions of Sitecore, modules, content databases and so on. Which in other words requires dependency manager processes and conventions. 8. Finally, all this naturally needs to be covered in the agile process that you are all running with 2 week sprints. We cannot afford to waste time setting up test or development environments or got through painful minor upgrades. So we need all these processes to be fully automated and completely trustworthy.
  7. Optimized Processes: Focus on What Is Important. Choosing the Right Tool for the Job. Support Distributed and Simultaneous Teams. Improved Quality Decrease Chances of Manual Errors. Make It Possible to Automate and Improve Testing. Tracability: Reproduce and Recreate. Greater Flexibility Faster Time to Market Predictability in the changes. Faster upgrades, additions, substitutions and alterations.
  8. We all love our power tools. Continuous Delivery, Continuous Integration and DevOps are the new shiny toys we all want to work with. We want to install those great pieces of software and watch them run. We all want unit testing because the cool guys says it what you should do. Remember to always keep the eyes on the WHY and not the HOW. Make sure that the tools are built around the processes. If you do not implement the processes and conventions successfully, the tools will be useless. And the key here is understanding: If the people you work with do not understand your processes or conventions or why they are needed, they are not the stupid ones! You have failed to explain it in the right manner. (Maybe example of timesheets)
  9. Function before Type
  10. Lets look at an example of a typical deployment of Sitecore and investigate what is involved
  11. In order to consistently
  12. In order to consistently
  13. Many processes in ALM Conventions which works across are key
  14. The work on culture and conventions never stops Don’t be overly ambitious and connects with the last point: Don’t do it because you think the tool or process is cool, do it because you have carefully considered why you want to do it. Thereby the business will buy in!