The Solution
The first stage of taking over management of the Care Database Application was:
- Transitioning the source code into GIT Repos in Azure DevOps
- Creating a backlog of issues and new features in Azure DevOps
- Carrying out a thorough review of the Web App and SQL source code
- Making some selected code changes and ensuring these could be successfully be deployed to TEST and then LIVE
- Ensuring that CHT knew how to operate the Transparity online service desk for raising tickets
- Having successfully taken over management of the system, routine support could begin
The next stage was to look at how to improve the way the system is supported and developed by doing the following tasks. Each of these were specified and estimated as a new piece of work:
- Change the system so that the Web App and API work on Azure App Services (instead of IIS in a Virtual Machine (VM) per client) and then migrate all of the clients over to App Services
- Introduce fully automated deployment pipelines to ensure releases from DEV to TEST to UAT and LIVE servers are fast and robust
- For new features, introduce a new form of automated UI/Integration test that operates directly against the browser, in the same way a user does. These tests are based on Specflow and Selenium and are defined in Gherkin syntax. An example of which is shown below:
Feature: Roster a staff member
Background:
Given I have logged into and browsed to Roster page
Scenario: Find a roster slot that is unallocated that needs allocating
Given I have selected a roster slot
When I associate a staff member that is free and has the required skills
Then the roster is updated with the matching staff member