Situation
Open Web Technology, being a digital consulting firm, relies on strong information systems to manage its operational and administrative activities.
While the company puts emphasis on information transparency, our company information is spread across different systems using different formats. In this situation it can be very difficult sometimes to find the required information. Eventually, when our employees could not find the information they were looking for, they would request it from the administrative team creating overhead for everybody in the company.
To cope with this situation, OWT decided to set up an internal project to improve the information flow within the company. The team envisioned a solution capable of answering recurrent questions that were normally asked to the office administration team, such as:
- Contact - What are the contact details of Paul?
- Schedule - What project will Alex work on next month?
- Vacation - Will Valentin be on vacation in June?
Approach
The OWT team conducted this project following a 2-steps approach.
Blueprint - Identifying the needs and defining a solution
Understanding our internal needs for information
In a first stream, the team conducted interviews with employees from different practices and offices to understand their needs and pain points when it comes to information retrieval.
We identified that our employees were most frequently interested in contact and scheduling information about other employees or projects. At that time, the path to access this information was cumbersome, especially on mobile devices.
Based on these findings, we decided to design a solution accelerating the access to this information by building a Chatbot. The choice for this interface type was driven by our heavy use of internal chat and by its ability to deliver information faster than with traditional graphical interfaces.
This Chatbot would be loosely coupled with our enterprise systems to retrieve the necessary information and powered by Artificial Intelligence to understand our employees' questions.
Architecting for scalability and reusability
In a second stream, we defined the building blocks for a scalable and reusable architecture for a Chatbot. We analyzed existing Chatbot implementations and identified all the required services. The architecture we designed and implemented was composed as described below:
Architecture of an Artificial Intelligence powered Chatbot application
- Channel - One or multiple chat clients that users use to communicate with the Chatbot
- Conversational user experience platform - External service powered by Artificial Intelligence enabling natural language understanding and conversation management
- Enterprise systems - Enterprise services containing relevant information to answer a user's question
- Web Services - External services to measure users' engagement or to enhance Chatbot answers
- Back-End - The core of the Chatbot, responsible for orchestrating all the above services and fuse their data to provide a meaningful answers to the user
Development - Embracing the Agile mindset through Scrum and DevOps practices
We delivered this project leveraging our expertise in Agile methodologies for software development and delivery.
Scrum
The project was managed using Scrum, a framework which provides clear roles,
a simple timeboxed workflow and a set of artifacts to manage.
SCRUM relies on transparency, inspection and adaptation helping elevate the
product understanding within the team, leading to better quality and
fast-paced outputs.
DevOps
We followed DevOps practices, instructing that the continuous delivery of software increments reduces the time-to-market of new features while increasing the reliability of the delivery pipeline.
This goal was achieved by automating the building, testing and deployment of the software, which systematize their execution each time a modification is done and provide instantaneous feedback to the development team if an issue arises. This constant feedback loop allows to quickly react and benefits the software quality and reliability.
These practices allowed the regular delivery of high-quality features and a faster integration of users' feedback in the product.
We delivered this solution in only 3 months of development. The first version was strongly adopted by our employees and we received a lot of positive feedback and feature requests. In addition, we saw a decrease in the load of information requests made to the administrative team for the cases that were covered by our Chatbot.
As of today, the Chatbot is continuously improving and new features are constantly integrated into the solution thanks to our Agile way of working. New features being developed include the possibility to instantaneously book a meeting room or request an employee for a project. In addition, since our Chatbot is powered by Artificial Intelligence, it is constantly improving its understanding the employees' questions.
We would be happy to share our expertise in this domain with client projects - get in touch with us to develop your next generation Chatbot. If the subject interests you, you can read other of our chatbot related cases.