Encompass Best Practices for Development and Deployment

  1. Formulate Acceptance Criteria
    • Analyze the problem we are trying to solve
    • Write up a one or two-page Requirements Document
      • Include a diagram if possible
      • Use the document when validating requirements with the Business
      • Use the document when communicating with QA and Training
    • Come up with a solution
      • Reach out to fellow Admins and/or Developers to brainstorm
      • Document components that will make up the solution
        • plugin, codebase, custom fields, screens, etc.
  2. Come up with a Business Communication Plan
    • Do we need Compliance approval?
    • What users will be affected by the change?
    • Do we need Training involved?
    • Do we create a wiki that will help explain the feature?
    • Inform Support Teams
  3. Once Development is completed, the feature must pass:
    • Unit testing by the developer/admin
    • Dev Demo to Stakeholders
    • Code Review including
      • forms, code-behind
      • custom fields, biz rules
      • custom C# code
    • QA Testing by QA 
    • User Acceptance Testing by Stakeholder
    • Explicit Approval by Stakeholders Ideally via Email with Product Owner and Scrum Master Copied in the email
  4. Come up with a Deployment Plan – Build a list of steps that will be needed in order to deploy the feature depending on the work that was done. For Example:
    • Deploy Master Plugin
    • Import UW Summary Form
    • Import 2 Modified Custom Fields
      • CX.ModifiedFieldOne
      • CX.ModifiedFieldTwo
    • Import 3 New Custom Fields
      • CX.CustomFieldOne
      • CX.CustomFieldTwo
      • CX.CustomFieldThree
    • Import 1 modified Business Rule
      • Auto-Populate Closing Date Rule
  5. Come up with a Roll Back Plan – Build a list of steps that will be needed to put things back the way they were before your deployment. For Example:
    • Rollback Master Plugin
      • Get the latest from Master
      • Increment Version Number
      • Deploy Master Plugin
    • Rollback UW Summary Form
      • Import from Backup made just before deployment
      • Rollback 2 Modified Custom Fields
      • Import from Backup made just before deployment
      • CX.ModifiedFieldOne
      • CX.ModifiedFieldTwo
    • Remove New Custom Fields (if needed)
      • Delete CX.CustomFieldOne
      • Delete CX.CustomFieldTwo
      • Delete CX.CustomFieldThree
  6. Execute Rollback Preparation – For Example:
    • Backup UW Summary form by exporting the form only from Input Form Builder
    • Back up existing Custom Fields and Biz Rules modified by exporting them from Input Form Builder
    • Add all backups in the Jira Story that governs the feature you are working on (source control, separate conversation)
  7. Execute Deployment – Pair Up with someone whenever possible
    • Announce deployment in Release Chat/Team Chat
      • Announce all components and services 
    • Stage your Deployment objects (separate best practice) 
    • Execute Deployment Plan
    • Smoke Test (separate conversation)
    • Be aware of reports of things not working as expected in and around the area that your feature touched
    • Make sure to over Communicate in Release Chat or Telephone and not Email if you have questions or input on any existing issues or outages post your deployment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.