Application Development
RSS feed
  • 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