Learn all about the chatbot development lifecycle and the importance of each of these phases to ensure the performance, adoption, and support processes are in place for success.
New innovations like chatbots, virtual assistants, and other types of conversational agents are popular. There are more and more companies that are willing to invest in the research and development to explore what these new technologies can offer their businesses in terms of streamlining processes, creating efficiencies, and providing a return on investment.
In most organizations, engineers and developers are eager to use new technologies, especially during the research and development phase of a project. However, in order to be efficient and scale without going over budget, ensuring the team has an understanding of the lifecycle of a chatbot is very important.
The goal of this post is to not go through all of the architecture and technologies around creating a chatbot. Rather, it is to allow you to understand all of the various strategies around the different phases of the chatbot development lifecycle.
Each phase is important. While some businesses may skip some of these phases in order to move faster, they’ll find themselves having to use some of their time later to fix some of the issues they find downstream.
While creating a bot can seem like it’s easy work, ensuring that you are meeting the needs of your audience as well as your stakeholders for the bot is the hardest part. Product owners need to understand the importance of ensuring that you take time for getting the architecture right instead of just throwing out feature after feature. Developers need to appreciate and plan for all phases of the life cycle which includes fully testing the dialogue and monitoring the performance (like false positives). Users of the bot need to have education and expectations set as the bot is introduced as an available product at their disposal.
After explaining the importance of each of these phases, I’ll answer some of the common downfalls if you skip each of these different phases.
Chatbot Development Lifecycle Overview
The following are the steps of a chatbot development lifecycle that should be followed. This is for any team that is looking to build a new bot or adding a skill onto an existing bot:
- Requirements
- Specifications
- Conversational Flow
- Entity and Intent Models
- Architecture
- Development
- Automated Testing
- Deployment
- Publishing
- Monitoring
- Adoption and Marketing
- Evaluation
Each of these phases are really important, and I’m going to share with you my own personal journey in each of these phases with my own team.
The Bot Lifecycle Phases and Descriptions
Chatbot Development Lifecycle: Requirements
In the requirements phase, you’ll need to gather who your stakeholders are as well as THEIR audiences. In this phase, you’ll need to learn about what their expectations are in a bot. Be clear to not get solutions during this phase. The goal is to get an understanding of the businesses process that they are wanting to fix or streamline with a new chatbot.
The stakeholders at this point are the people or teams that will be helping champion the use of this chatbot.
What most chatbot teams forget is that there are USERS. Ensure that you also get a list of potential audiences or users from the stakeholder so that you can create the design and solve the problem for those end-users that can also solve the business problem for the people or teams.
For example, if the Human Resources team is your stakeholder and their problem is that people can’t find the onboarding documents that they’ve created, you’ll need to ask them for end-users that are having the most angst with the current process. At this point, you can then ask questions to the end-users to design to help them self-service. In this example, you may find that the Human Resources onboarding documents don’t use the same terminology as what employee’s use, thereby no one is able to find the documentation they need. Instead of building based off of the HR stakeholder designs, if you design with the end-user in mind, but also knowing the pain points that Human Resources is trying to solve, you’ll build a better bot from the beginning.
Chatbot Development Lifecycle: Specifications
In this phase, the solution designer on the chatbot product management team is designing solutions based on the user stories gathered during the requirements phase. At this point, a product specification document should list out the features and benefits of what the chatbot will provide.
If you already have a chatbot platform and are just adding small skills and apps, you’ll be going through the same lifecycle for each skill.
An example of a specification document is an wiki, intranet, or Microsoft Word document that lists out all of the capabilities of what the chatbot can do.
Chatbot Development Lifecycle: Conversational Flow
When designing the conversational flow, the solution designer generally works with a human factors or user experience designer to draw out the flow using a workflow based tool. This will allow the team to see visually how the conversation dialogue will flow to the end user. Often, it is good to have an engineering technical lead to be present during this conversations to ensure that the wireframes and design aren’t too far out of reach from a development perspective in order to save time later on if re-design is needed because something is not possible.
There is also a discussion with the data scientist or whoever is handling your natural language processing capabilities within the chatbot. Being able to design with the NLP in mind and considering utterances, intents, and entities will also help wireframing the dialogue flow in a manner in which the chatbot can context-switch as needed. In this phase, all workflows must also consider how error handling will be managed.
Problems that I have had personally in this phase is designing a good workflow, but realizing that due to technical, cost, or scope limitations that a design is not possible, we’ve had to settle for less than the best of designs. In order to mitigate this, ensuring that you have multiple dialogue flows ready will allow you to be flexible in this phase.
Chatbot Development Lifecycle: Entity and Intent Models
Utterances (what a user says to a chatbot) must be managed through entity and intent models. Generally, most chatbot platforms will have an easy way to manage these entities and intents along with utterances. However, if your team has a data scientist, they would be best suited to help handle how the chatbot will handle a wide range of user inputs, especially if the chatbot platform already exists and the development team is just adding apps/skills to the existing platform.
Chatbot Development Lifecycle: Architecture
When designing a chatbot for the first time, the architecture and documentation of said architecture is very important. The engineering design for the front-end and back-end needs to be sound. The front-end is the conversational interface that the user will see. The back-end refers to the various web services, integrations, and hooks into other systems to pull back information.
Chatbot Development Lifecycle: Development
The development phase is when the chatbot is being developed and code is being written. Engineers will look at the requirements and specifications, and build based off of those designs and requirements. They will also work closely with the data scientists in order to ensure that the entity and intent models are being used.
Often, the front-end chatbot user interface and back-end services can be worked on in parallel, allow features to be released quicker.
Chatbot Development Lifecycle: Automated Testing
Testing is normally embedded in the development lifecycle, but it’s called out in the chatbot development lifecycle because various platforms and apps have differences in the way that the messages are rendered. The key here is to understand which apps and platforms that the chatbot will be available and marketed to use for, and ensuring that the tests occur in each of those platforms.
Since this is a time consuming process, part of the bot development lifecycle needs to include being able to write code for automated testing to ensure that regression testing is happening without the need for manual testing.
Outside of the chatbot project team, the stakeholders and a few users they’ve appointed should test out the bot to ensure that it is working prior to releasing the bot or skill.
Chatbot Development Lifecycle: Deployment
Once the bot is designed, built, and tested, the bot must be deployed through a hosted environment. During the deployment phase, the engineers are ensuring that the code is moving from the testing environment and production environment.
Meanwhile, the solution designer, stakeholders, and users are setting up adoption plans and communication plans to ensure that audiences will know about the chatbot and it’s new features.
Chatbot Development Lifecycle: Publishing
Once the bot has been deployed, if it is a brand new chatbot, generally it will need to be published to app stores for approval. Submissions to various messaging platforms will need a wide ranging list of documentation including a logo, description (short and long), images, videos, scripts, etc in order for it to be approved.
For a new bot, this can take several days to almost a few months. For those that are deploying skills on an already approved chatbot, this would probably be a fairly quick process.
Chatbot Development Lifecycle: Monitoring
In this phase, monitoring both the operational/technical side of the house and the conversation side of the house is very important.
Being able to understand what people are asking the bot, the response time, the transaction time, types of missed intents, and what types of error handling messages are generally being shown the most will help provide you a list of support and maintenance items that you should think about prioritizing.
Chatbot Development Lifecycle: Adoption and Marketing
Being able to advertise your chatbot is immensely important. Getting a stakeholder engaged to help champion the tool or an influencer will help in ensuring that your chatbot gets adopted.
If your chatbot is for business-to-business, this might be as easy as getting the leader in that organization to help promote the bot in their advertising channels.
If your chatbot is for consumers, being able to use social media ads, email marketing, and influencer marketing will help get the word out about your chatbot. In addition, if you add proactive or push notifications as a skill within your chatbot, you’ll be able to have your own advertising channel right within your platform as you release new skills.
Chatbot Development Lifecycle: Evaluation
As your chatbot is being adopted and used, key performance metrics must be tracked to ensure that the adoption continues to go up and performance doesn’t dwindle.
The goal during this phase is to review conversation logs, review usage metrics, document false positives, and understanding missed intents.
The evaluation phase and review of dialogue will allow your team to get ideas on the future roadmap as well as small enhancements that you can make to the bot for a better user experience.
Repeating the Lifecycle
When you are done with the evaluation phase, you can then cycle back, hence the lifecycle of the chatbot, and make better improvements to the bot as you go.
In addition, you can use machine learning and self learning programs and platforms to train the bot to continuously improve itself as users continue to use the bot.
Frequently Asked Questions About the Chatbot Development Process
How is a chatbot developed?
A chatbot is developed most often by a software engineer or citizen engineer to program tasks without the help of people. In an enterprise system, chatbot development follows the chatbot development lifecycle. For small businesses developing chatbots, chatbot development may leave out or combine the various phases of the chatbot development lifecycle in order to release the chatbot faster to get feedback and quickly iterate on that feedback. The chatbot is created using a multitude of available platforms and can be injected into a wide array of messaging platforms once it’s approved in channel’s app store.
How long does it take to develop a bot?
Developing a simple bot with easy question and answers only takes a couple of weeks. Creating a bot that has multiple skills and capabilities outside of the input/output scenarios and being able to context switch can take several months in order to ensure that the natural language processing models incorporate the various pathways users will go in the conversation.
What is needed to build a bot?
To build a bot, you’ll need to consider two types of resources: the technologies and the human resources. From a technology perspective, at a minimum you’ll need a bot platform to build the bot, a hosting environment, and a place to deploy the bot. From a resources perspective, to have a successful bot that is well adopted, you’ll need to have an engineer, user experience designer, product owner/manager, and stakeholder at a miniumum.
How much does it cost to develop a bot?
The costs to consider when developing a bot includes the cost of an engineer’s salary at a minimum. Generally, it takes about 4-5 weeks to develop a bot (if you skip or combine some of the chatbot development lifecycle). Another is the cost of the platform that is being used to maintain and host the bot. This can be anywhere from several hundred dollars to millions of dollars (in scenarios where you want to build an enterprise chatbot that is extensible).
Summary About the Chatbot Development Lifecycle
Building a bot can be easy. Building a good bot that has users involves complexity and strategy.
If your team takes the time to set up structure, processes, and guidelines, your bot development team will have set itself up for success as you continue to build skills to your chatbot and improve the features as you go.
Other Chatbot Posts You Might Like
- Employee Chatbots
- Conversational Agent vs Chatbot
- Chatbot Sentiment Analysis
- Chatbot Implementation Challenges
- Azure vs GCP vs AWS Chatbot Services and Solutions
- Chatbots vs Robotic Process Automation
- Chatbot Architecture Overview