In this post, I’m going to be sharing with you the skills and talent stack that are required to develop and deploy a chatbot at various stages of the formation of the team.
The common questions I often get for those that are wanting to implement a chatbot is: “what roles do I need in order to develop a chatbot” as well as “how do I organize a chatbot team”?
I’m an engineering manager that has been able to be part of the initial recruitment as my company rolled out an enterprise wide chatbot for an organization of over 30,000 employees. As such, I’ve been able to witness the successes as well as growing pains as we began filling roles and jobs that we needed on our team to implement a chatbot successfully.
As our team grew, we figured out that the types of roles we needed to patch holes in our talent stack and scale on the additional skills we already had.
In the beginning of our development, our team’s directive was to be able to prove out and provide an ROI on how implementation conversational chatbots and agents could help provide a return on investment for our company.
I am happy to say that we have been able to prove that implementing a chatbot did prove to be successful for the company’s bottomline as well as provide a positive engagement experience with our users, but that’s not without first learning the growing pains of what’s needed on an engineering for chatbot development.
The roles and organizations that I share below are meant to be representative, and your approach might differ slightly because of your company’s unique situation.
Building a Chatbot versus Building a Chatbot Platform
When you are looking for a team to build a chatbot, the first thing that your organization will need to consider is whether you are building a chatbot platform (where other companies can build their chatbots) or are you purely building a chatbot for your business using someone else’s platform.
Building a chatbot platform has a completely different audience and context as your audience will be the development teams creating the chatbots.
If you are just building a chatbot, most of heavy lifting has been done at the platform level. As long as you pick the platform that suits your stakeholders needs (as well as scaling considerations in the future), most of the heavy lifting should be done for you, so your initial team can start out as a very lean team.
Skills Needed on Agile Chatbot Development Teams: Small to Large Teams
Below, I’m going to talk through the roles in three specific phases of chatbot development that I think most teams will go through and the reasoning behind them.
I’ll also talk through what each of these roles do, how our team has used these roles successfully, and also lessons learned with each of these roles as we journeyed in our own chatbot development.
Small Lean Team for Discovery Phase
Building a simple chatbot to respond to quick questions and answers truly only takes a single software developer. Even then, there are a lot of different chatbot platforms that don’t require any type of software engineering or development required. You’ll just need a very technically inclined business strategist to implement a chatbot, as long as they have the ingenuity to learn the terms and definitions required for implementing a chatbot (intents, entities, conversational design elements).
Roles needed for a small, lean team in the discovery phase:
- Product Owner
- Software Developer
Medium Core Team During Growth Phase
In the growth phase of a chatbot, the business is looking towards expanding the bot’s skills and capabilities. As such, there will be more stakeholders to talk to, more issues/defects to go fix as the user base increases, and more reporting required to keep leadership happy. In my experience, these are the roles that you’ll need to consider.
Roles needed for a medium core team in the growth phase includes:
- Product Owner
- Software Developer
- Solution Designer OR User Experience Designer
- Testing and Data Analyst
Large Fully Staffed Team During Scaling Phase
Once the chatbot has taken off and gained an audience, the chatbot development team will find that there is going to be a concerted effort to review all of the data that is streaming in from the conversation logs. As the skills and intents begin to increase within the chatbot, the language understanding model and decision tree will need to be reviewed and refined. This process in itself will take on a life on it’s own, creating it’s own process for continuing to refine the model and create new releases. At this point, this is where you can hire more expensive roles like data scientists and data engineering.
- Product Owner
- Software Developer
- Solution Designer
- User Experience Designer
- Testing Analyst
- Data Analyst
- Data Scientist or Data Engineer
Chatbot Development Skills – Ratio for Developers to Other Roles
For chatbot development, for every three developers you hire, you should have:
- 1 product owner
- 1 solution designer
- 1 user experience designer
- 1 testing analyst
- 1 data analyst
- 1 data scientist or data engineer
This ratio has worked well for our teams.
With three developers, I find that the solution designers are able to keep up with their backlog, testing analysts can create test scripts for the skills that the developers crank out, and the data scientists and data engineers can review models to continue to refine them for old skills.
If you have hired too little data scientists or data engineers, the system breaks at the point where the developers are ready to write code, but they can inject the language understanding model because they are waiting on the data scientists to keep up with the backlog.
Skills Required for Chatbot Development
From a purely “how to build a chatbot” point of view, any business analyst can build a chatbot within an hour after reading a few tutorials.
However, to build a scalable enterprise chatbot that has testing embedded and can scale to hundreds of skills and thousands of users, the ability to hire a talent stack that can help with this scalability is important.
Below are the roles and the description of what each of the roles on a chatbot development team does and my thoughts on what it takes to be successful in this role (e.g. what you would say to a chatbot development recruiter).
Product Owner
A product owner is essentially the member of the team that works with the business stakeholders to gather detailed value propositions of building the chatbot or the chatbot skills. Their goal is to ensure that the development has merit, there is an ROI associated to development a chatbot.
They are at the center of every development cycle and their goal is to maximize the value of the products created by the chatbot development team. This includes:
- Collaborating with the communications and marketing team to get the message out about the chatbot
- Working as the business or customer relationship manager and liaison on issues
- Defining the vision of the chatbot development projects and managing the product backlog
- Prioritization of scope, budget, and cost by weighing priorities from the stakeholders
- Oversee the development of the product from planning, refining, reviewing, and releasing
- Anticipating what users and audiences are wanting based on feedback loops and reviewing this information with the data analysts
Software Developer
Chatbot software developers own the accountability of design code and quality of a chatbot. A software developer on a development team will facilitate business processes that include creating chatbots, automating workflows, and create small applications within the chatbot product line.
As a software engineer, the ability to anticipate strategic planning as well as scaling large challenges through short and long-term planning is important, especially on a emerging application development platform.
Software engineers need to write and configure new code according to technical specifications and requirements in Typescript, nodejS, and Javascript. They will need to interact and effectively communicate with functional experts, managers, leadership, and other stakeholders. Chatbot software developers are also expected to provide high-level architecture guidance and provide strategic technical designs.
In addition, chatbot developers need to perform quality assurance, participate in code reviews, attend requirement and design meetings, present at architecture meetings, and interact with partners and business stakeholders to further define business requirements for development.
Solution Designer
Solution designers within a chatbot development team will need to have experience in conversational design mixed with the ability to analyze quantitative and qualitative data to create functional requirements, use case models, activity diagrams or other artifacts and acceptance criteria for complex solutions.
It is important for the Solution Designer to have an understanding of how to use workflow diagram tools in order to sketch out the chatbot decision tree.
If at the beginning stages of your development team you are using your Solution Designer as a User Experience Designer, it is imperative that your Solution Designer understands conversation design and intent in order to ensure the quality of your bot’s conversational interface.
Solution Designers work with the product owner to manage relationships with stakeholders, and keep them informed and engaged throughout project lifecycles. They consult with development team in planning, estimating and allocating resources appropriately, to collaborate across solution groups on similar functionality to ensure common process and seamless integration.
User Experience Designer
A User Experience Designer ensures that the chatbot design meets the design ever-changing principles for conversational design. It is imperative that the conversational workflow and dialogues are handled well throughout the journey of a user.
User Experience Designers must be able to not only design the front-end skill specific to what the development team sees as the experience, but also understand how to manage situations where chatbot error message handling must be gracefully incorporated.
This role can also be more specific and called a Conversation Designer. A Conversation Designer needs the ability to have copywriting techniques that include both human and artificial logic.
Conversation Design is a fairly new, but ultimately very important field. As chatbots and voice assistants continue to get more popular, the need for better user design is important in order to showcase the value of a chatbot (and ultimately the need for a Conversational Designer).
Testing Analyst
As product owners and solution designers are gathering requirements, developers are developing, at the end of the cycle is the Testing Analyst whose job is to ensure that all the skills and enhancements that were added did not impact that quality of the current skills.
Data Analyst
The role of the data analyst is downstream, ensuring that the conversation logging is being reviewed and any trends in dialogue help dictate to the product owner areas in which users are expecting the chatbot to answer.
The role of the data analyst is extremely important. Even without the one on one conversations with users to get feedback, data from the conversation logs can provide a great peek inside what users are hoping and expecting to get out of a chatbot.
Data Scientist or Data Engineer
As the chatbot matures, it is up to the data scientist and engineer to maintain, recommend, or uplift the language model within the chatbot. The goal of the data scientist are to limit the confusion branches to ensure that users are getting the results they expect from the chatbot.
Data scientists need to ensure that they are focused on streamlining problem solving methods with natural language understanding. While natural language processing (NLP) and natural language understanding (NLU) are fairly new technologies, it is extremely important for data scientists and data engineers to be business focused and understanding the value of iterating on changes rather than getting mired in the details of building the best model, but taking on a lot of scope creep and extending timelines.
Summary of Skills Needed for Developing Chatbots
There are various skill sets needed in order to develop chatbots successfully and to fulfill the needs of stakeholders.
If you are a product owner or solution designer, being able to understand your stakeholders and manage business relationships will be key to your success. If you are a developer looking for a career in chatbot development, knowing skills like Javascript, nodeJS, and Python will definitely be helpful in your way to securing a role in this space. If you are a data scientist, being able to showcase how you’ve leverage NLP and NLU in a streamlined, iterative process to refine the language model will be key in creating a role for you on the team. If you are a user experience or conversation designer, your skillset in understanding dialogue flows and branches along with managing failure pathways will be very important. As a test analyst, ensuring that you have the proper workflows and testing strategies for each skill set along with testing negative pathways will be something most recruiters and hiring managers will be looking for.
I hope this provides you some insight on how to curate a team for chatbot development as well as provide insight if you are someone looking to getting into the field.
Other Posts You Might Like
- Chatbot RFP
- Chatbot Statistics
- Chatbot Error Handling Examples
- What is Azure Bot Service?
- Chatbot Lifecycle Services
- Create a Chatbot for Free Using Google Dialogflow