I’m Howard Pang, an apprentice developer in the Department for Transport Digital Service, and part of the newly formed DfT Lab. The past few months have been incredibly hectic for our Digital Service, rapidly scaling up as we ready ourselves to meet the demands of our staff and users. One of several new initiatives is the DfT Lab. This is a regular meetup that brings together colleagues from different disciplines to try out new ideas, based on the Scrum Agile framework.
The concept for the Lab is simple – to turn novel new ideas into reality. Our aim is to quickly move from that lightbulb moment to presenting a working prototype within a month. We’ll then pitch it to others to gather support and turn it into a fully developed service.
We divide our projects into tasks that are completed within fixed time boxes or ‘sprints’ – in our case, between 2 and 4 weeks. The Lab looks at all the key components of a digital project. So scoping the business case, user research, development and testing are all condensed into this tight period. However, unlike most Scrum projects, Lab projects only consist of a maximum of 2 sprints. Our progress and findings are then presented in meetup events, rather than going through Alpha, Beta and Live stages.
With all but the simplest of projects, a month would not be enough to complete a viable finished service. With the DfT Lab, the intention is to build a working ‘Alpha’ prototype as quickly as possible. This way, potential users can get early sight of how their concept may work, without the delay that comes with more traditional methods of project delivery.
And so to our first Lab project, a chatbot assistant for Human Resources.
Our HR colleagues wanted to find a way of automatically answering relatively routine enquiries. Doing so would give team members more time to focus on more complex cases.
At our initial meeting we established the requirements for a working version of a chatbot and assigned tasks to team members. We decided to focus on 3 initial topics for our prototype – annual leave, maternity leave and paternity leave.
After finalising the basic user journey, it was time to choose a framework to base the service on. One option was to develop it from scratch. But given the limited time and resources available, we opted to use DialogFlow, an established bot framework. Our long term goal is to design an assistant that could be used in a range of services across the department. DialogFlow’s ease of integration with different platforms (Skype, Slack and even Alexa) should prove useful when demonstrating the service to different audiences.
Whilst building the conversation trees was straightforward, presenting it to the team for testing revealed a potential time sink in the process – having to account for the breadth, and variation of user questions. Although it could make reasonable assumptions, it still needed some hand holding to select the correct response.
For example, if a user wanted to know about their annual leave entitlement, they could ask with a fully formed sentence – “How many days of annual leave am I entitled to?” Or they might get straight to the point and type “annual leave”. Even simple one word responses like yes and no would have countless variations to be accounted for, although in this regard the user may be more forgiving.
DialogFlow, however, is able to make suggestions with queries it is unsure about, giving the developer/administrator the final say in the most appropriate response. It’s a nice compromise between having to manually add a comprehensive and potentially infinite number of responses; and fully automated filtering, which could lead to incorrect (and sometimes comical) answers.
We have great plans for the chatbot beyond the Lab. In time, we hope to add personalisation, allowing it to calculate leave entitlement based on variables such as length of service or even due date for maternity and paternity leave. There are opportunities for bots to be used in many other areas - for example, training new starters, completing application forms and so on.
And for the DfT Lab in general, we look forward to welcoming participants across government, regardless of background and profession, as we aim to break down the barrier between those who make the services, and those who use them.
We will be posting regularly here about what we’ve cooked up in DfT Labs. Please sign up for alerts to be notified.
3 comments
Comment by Dave Howard posted on
Interesting and great to see this innovation and the DfT Lab's outputs. Great opportunity to extend this to areas such as facilities/building maintenance. Something we have been doing and linking to Alexa through Azure Cognitive Services to provide wider options, particularly when linked to Translator for folk whose 1st language may not be English
Comment by Kalbir Sohi posted on
Hi Howard,
Interesting project - anything that makes interacting with HR processes better is always welcome!
Do you have any plans to open source the project? Maybe other departments could use the same approach...
Comment by Miles Jackson posted on
Hi Kalbir. The responses for the prototype are available on Github: https://github.com/departmentfortransport/lab-HR-chatbot