Contact Us

Great websites & web experiences result in seamless CX & customer delight. Another important dimension to this is how easy they are to maintain, develop new add modules & features to improve these experiences further. If your create your digital experiences & run your website on Sitecore, then a comprehensive understanding of Sitecore builds & having  processes and practices in place are needed.

Sitecore is powerful and flexible Web Experience Management Platform. While working on Sitecore Development Projects stay open minded till the time you’ve carried out a detailed pre-build process. Once you have carried out a pre-build there are a lot of tricks that can make the Sitecore Website build run seamlessly.

These are the practices or "lessons learnt" by working as an architect myself and building a team of Sitecore developers on non-linear Sitecore Implementation Projects- for over 15 years of my experience. So without further ado, let’s directly jump to the top 10 considerations for establishing a successful Sitecore Development Practice.

  1. Create an onboarding guide: Establishing a well-documented, tested and repeatable onboarding process can help ensure team velocity and consistency. When established effectively, this process can be especially beneficial for onboarding Sitecore developers, as it is can reduce their onboarding time down to hours instead of days.

  2. Pick the right development tools: Adoption of right set of tools for Sitecore development, both innovative and cutting-edge, can save tens if not hundreds of hours each sprint. Here is a short list of Sitecore development tools every Sitecore developer should have:

    • Latest version of Visual Studio Professional & Microsoft SQL Server
    • Git client such as TortoiseGit, SourceTree, GitKraken for distributed version control
    • Sitecore Unicorn or Team Development for Sitecore (TDS)
    • Glass.Mapper.Sc or custom T4 templates for ORM
    • Sitecore PowerShell Extensions
    • Visual Studio Code, Node.JS, NPM for Sitecore JSS development
    • Gulp, Grunt, MSBuild for automated build workflow
    • Yeoman for web scaffolding & Helix module scaffolding
    • FakeDB for Unit Testing
    • Docker for container orchestration
    • Vagrant or VMware for virtualization

  3. Scripted non-production environments: Establishing fully scripted deployment of both XP single and XP scaled topologies for non-production environments can help avoid any surprises when deploying the production environment.

  4. Strive for automation: Try and automate as much as you can. This may require some investment up font, but establishing automation in the beginning stages of software development will yield a huge return on investment over the life of the Sitecore development. Here are a few things to consider for automation:

    • Continuous Integration: Script out the entire build process using MSBuild including quality gates (use SonarQube). Ensure you have the appropriate triggers to fully automate the build process on code commits.
    • Continuous Delivery: Script out deployment to production even if it needs to be triggered manually.
    • Continuous Deployment: script out Blue/Green deployment if possible. This may be a project in itself but will guarantee and quick return on your investment with speedy production runs.
    • Testing Automation: introduce testing automation framework from the get go and include it in your build process to reduce load on the overall quality assurance process.
    • Performance Testing: performance monitoring and testing (load and stress tests) can be fully automated within continuous integration like TeamCity with the help of supported plugins.

  5. Sitecore testing: In addition to unit testing and testing automation, establish a Sitecore specific testing matrix and test management. This includes testing the following:
    • Testing the authoring experience using Experience editor
    • Testing field types, field sources, broken links, data sources, placeholder settings, insert options, custom ribbon buttons, custom edit frame buttons, rendering parameters.
    • Testing publishing workflows
    • Testing roles & permissions
    • Testing rules-based personalization
    • Testing content translation

  6. Establish quality gates: Establishing quality gates in your DevOps ensures enforcement of quality policy. Quality gates can ensure better code checks, better unit test coverage, more testing automation and less time spent on regression testing and avoiding slippage of known defects into production.

  7. Application Monitoring: Use tools such as Application Insights for monitoring builds deployments, performance, application telemetry etc.

  8. Collaboration tools: Effective use of collaboration tools within the development team can immensely help with productivity gains throughout the life of the development cycle. Here are some popular collaboration tools to consider:
    • Jira, Azure DevOps for agile development management
    • Confluence for knowledge base
    • Teams/SharePoint for document management
    • Teams, Skype for Business, Slack for meetings and instant messaging
    • InVisionApp for prototyping
    • Trello for work management

  9. Branching & release strategy: Establishing a strong branching and release strategy up front will save you a lot of overhead and speed up deployments during your the software development lifecycle. Gitflow is the probably the easiest to get started with. Here are a few branching models:
    • Master/develop branching
    • Feature branching
    • Feature toggles/Feature flags (optional technique)

  10. Create a knowledge base: Make sure you document everything. Creating a knowledge base helps successfully utilizing and implementing the above-mentioned tips. Make use of a simple wiki platform such as Confluence for effective knowledge management.

Considering the best practices for your Sitecore Development Project is important and should not be overlooked. If you’re planning to implement / in the process/ have implemented Sitecore, get on a no obligation free consultation call with our Sitecore Implementation experts to Realize true potential of Sitecore.

Need Help?