Step 6: Building, Testing, Improving

So far we've made sure we understand the context of our bot, created a list of intents, trained our bot to understand those intents, decided on a persona, and designed our conversation flow.

The bot is now ready to be built.


We won't get into the technology and architecture used to develop our bots in this blog series, but it's worth mentioning that take an agile approach to the development cycle.

Agile development allows for close collaboration with our clients. In this approach, development is iterative and organised into 1 – 3 week "sprints". The early sprints will prioritise functionality needed for the minimum viable product (MVP) to be released. Later sprints will improve the MVP with updates.


After testing our software internally, we move in to the user acceptance testing (UAT) phase to get real-life user input as soon as possible to validate our design choices. We often use focus groups in early development, where we give participants a task (such as retrieving a tax certificate) without any instructions. Here we can see how easily (and how) the users navigate the bot naturally, where they get stuck, and what their impressions of the bot are.

Once the bot is live, we also have a look at our conversation data , which can tell us where users get stuck in dead ends or loops, as well as what the most popular routes users take are. This kind of data can also show us the main user drop-off points, which offers valuable insight into where users are getting frustrated or bored.


The building and testing phases can be repeated once the bot is live and feedback is coming in. We constantly tweak our language, logic, flows, and design along the way, aiming for continuous improvement in the user experience, as well as the bot's functionality and natural language processing capabilities.