IQ Dental - an innovative application for managing dental clinics.
IQ Dental is a SaaS (Software as a Service) application that serves as an advanced CRM for dental clinics. It focuses on a modern approach to managing the functioning of dental offices, the work of dentists, and patient service. The creators' mission is to raise the standard of medical services in Poland and, in the future, on foreign markets. As a software house, we have had the pleasure of supporting IQ Dental from the application analysis stage to the implementation of the first version of the software, as well as its commercial development and enhancement with additional features.
Beginning of cooperation
Our cooperation with the IQ Dental team started with initial discussions in December 2017 when we received a phone inquiry from the client. During a fifteen-minute conversation, we conducted a preliminary assessment of business needs to determine if we were able to undertake such an ambitious project at that stage. It is worth noting that until then, as a company, we had extensive experience in e-commerce, insurance, banking, nutrition, and even data science, but healtech was something new to us.
At this stage, which involved gathering data from the client, we paid close attention to understanding the client's needs and the specific nature of the tool. Before engaging in any project, we try to understand the intentions of its owners and the potential needs of the end-user as well as possible to determine if we have the appropriate programming, design, and process competencies to implement the project. Over the last ten years of the company's existence, this strategy has allowed us to collaborate with the right clients who, like us, understand the essence and challenges of the IT world. The same was true for the IQ Dental project.
In its assumptions, the application was supposed to stand out from competitive programs by:
- High usability (intuitiveness and simplicity of the application) for both the dentist and the patient;
- Supporting dentists in the process of treating patients by using a treatment algorithm;
- Facilitating the presentation of procedures performed on patients by dentists through the implementation of the entire patient service process in the dental clinic;
- Supporting the management of dental offices by introducing processes that streamline patient scheduling, monitoring, and planning;
- Increasing the profitability of dental practices through advanced reporting mechanisms (work, service sales, employee bonuses).
Both our project team and the client were fully aware of the challenge that we were about to face. The project already looked ambitious and demanding at this stage, particularly due to the limited time for implementing the MVP within the next 12 months. We wanted to take on this task, on the one hand, because of the programming curiosity that drove this venture, and on the other hand, due to the mission and values that guided the IQ Dental team. Arek Buziewicz, Wojtek Fąferko, Michał Katarzyński, Tomek Łukasik - the idea creators and program developers - set out to improve the standards of dental practice functioning and the way dentists work by providing them with a comprehensive, innovative, and process-enhancing tool for both patient service and procedures performed by staff.
Conducting a preliminary project analysis
At this stage of collaboration, the client had conducted solid research on their side, which provided us with a lot of valuable data. We could then proceed with the initial analysis. It is worth mentioning the detailed mind map that IQ Dental created, identifying the most important application functionalities. These were described by the client to the extent that they could, and further specified by reference mockups. The IQ Dental team also provided interactive models that graphically described key aspects of the program, such as the "Consultation" module or the intelligent "Treatment Plan."
We also conducted an internal analysis and estimated the costs of project implementation. The former involved, among other things, preparing a benchmark of applications also operating in the SaaS model and selecting the most important elements from a business point of view. At this stage, project estimation was only possible within a predicted range. Despite spending time on the initial analysis, given the level of feature advancement and complexity of the program that IQ Dental was to become, we could only offer an estimated project cost, with the guarantee of presenting a specific budget in a fixed price model, after completing a full-fledged project analysis stage.
By operating iteratively, we could determine:
- how attractive the project is to us;
- what competencies we possess (and which we lack) to carry out this venture;
- what potential implementation costs will be.
This last piece of information was particularly important from the perspective of the IQ Dental team. Both parties (EENGINE and the client) agreed on the necessity of conducting a holistic analysis of the project. We began working on this innovative project for the dental industry in January 2018.
Analysis of the IQ Dental project (first stage of cooperation)
YThe IQ Dental team was aware of the challenge of creating an application with advanced features that were necessary for optimal management of a dental clinic. We decided to proceed with a separate stage of application analysis during which we:
- broke down the application into its primary components;
- defined the scope and functioning of the most important program elements;
- identified and eliminated faulty business assumptions;
- investigated the needs of users who would be using the application (program creators, dental clinic owners and employees, and registered patients who use these clinics).
At this stage, it was crucial to have a deep understanding of the business for which we were preparing:
- functional documentation for the project;
- graphic design of the most important screens of the application;
- to choose technology (programming language/framework, libraries, etc.) that would enable us to create software tailored to the specifics of a SaaS-type application (we had to focus on scalable, easy-to-integrate with external systems, and easy-to-expand solutions).
We conducted the analysis over almost six months, from January to May 2018. At this stage, we worked regularly and intensively with the IQ Dental team. On the one hand, this was due to our internal procedures for cooperation with clients, and on the other hand, the dental industry was new to us. The goal was to gain a deep understanding of the specific nature of dental practices, their interactions with patients, and workflows, both for doctors, assistants, and registrars. We also considered clinic managers and patients in the process.
Each of the above-mentioned roles is crucial for dental practices, so in the analysis process, we focused heavily on hands-on work, especially with people working in clinics (at all levels). This was one of the three pillars of this stage.
The second pillar was working with the EENGINE project team to prepare the functional documentation for the IQ Dental application. The titanic effort of Kamil (project manager), Arkadiusz (designer), and myself (consultation) resulted in the preparation of a 650-page document that described in detail the functional operation of the IQ Dental application. Bartek (tech leader) oversaw the programming work, preparing the program architecture and selecting the tools used. Finally, we decided to use the Ruby on Rails framework for the backend, and React and JavaScript for the front-end (the visible layer for the user). For some elements of the program, we used microservices written using the Symfony framework, with dynamic program development in mind.
Preparing functional documentation was a demanding process, primarily in terms of time. We worked on it to include all client business expectations and turn them into written functionality. We divided these into scenarios, and the basis of our activities was the methodology based on user stories (agile methods have been with us from the very beginning of the project). At the same time, it was important to take care of those mechanisms that the IQ Dental team could not foresee but were crucial for the functioning of the application, which is a CRM for a dental clinic.
Simultaneously, we created interactive mockups/screen models that described the processes included in the prepared documentation. Using our experience in designing online stores and all kinds of web applications, we set ourselves the goal of preparing a friendly and intuitive UI and UX. When the product reached its first beta testers, we received a lot of feedback, which described the IQ Dental application with these adjectives. For the client, it was particularly important because until now, dentists had to use programs that fulfilled their needs, but they were far from thinking in terms of "the fewest clicks to the goal." We started to implement this concept already at the analysis stage (writing documentation).
The third pillar of the IQ Dental project analysis stage is the ongoing cooperation with the client team. We knew from the very beginning that we were dealing with a large and advanced project. It was not easy to imagine that the documentation would grow week by week. It was unimaginable to deliver the final "product" to the client at the end of the project. Eventually, the documentation reached 650 pages, which made it extensive enough to require an agile approach to verification on the part of the software developers. Therefore, as soon as we completed the analysis of a given module, it was sent to IQ Dental. At this stage, one of three scenarios unfolded:
- the client received the module documentation - we had it!
- the client requested changes to the functioning of specific features;
- the client noticed that something was missing, such as an essential scenario of the functionality's operation from the perspective of a dental clinic.
An agile approach to creating documentation allowed us to take a holistic approach to the IQ Dental project, resulting in a comprehensive and coherent whole. It was also the perfect material for preparing the MVP (Minimum Viable Product), the first version of the application that would have the most important functionalities from a business point of view, and enable the first clinics to use it in their daily work.
Throughout the analysis stage of the IQ Dental project, the tech leader responsible for the subsequent implementation of the software verified the compliance of the assumptions made. We wanted to avoid situations where non-technical descriptions of functionalities would generate unnecessary work during development. Simultaneous cooperation with the UI/UX designer, who prepared interactive mockups, allowed us to visualize user stories, so that everyone involved in the project (the EENGINE team, the IQ Dental team) could easily understand how the application would work.
The tools we used during the analysis work included the G Suite office suite (preparing documentation, "drawing" prototype mockups, ongoing cooperation with the client) and Adobe XD (creating interactive mockups). We opted for the simplest solutions, both for us and for the IQ Dental team.
If you want to learn more about how to prepare this type of documentation, check out this article. You'll find an example functional documentation (user stories with mockups) there.
Some time ago, we recorded a vlog about why the analysis stage in an IT project is one of its most important elements. TL;DW:
- saves time;
- saves money;
- saves nerves.
In summary, our cooperation with IQ Dental so far has shown that preparation and analysis are the foundation of effective IT operations. And a client who understands and is aware of this is worth their weight in gold. Watch the vlog before you start your programming work at full speed.
Preparing a comprehensive, in-depth, and holistic analysis allowed us to determine the fixed price budget necessary to achieve the MVP. The documentation was also prepared in a way that it could serve as a source for independent valuations by third-party companies.
Work on the implementation of the IQ Dental MVP
In May 2018, we completed the analysis process, which was finally accepted and approved by the client. We started the implementation at full speed at the end of June 2018, with an ambitious task of completing the MVP application by the end of January 2019. The timeline was dependent on the internal development schedule of the IQ Dental team. Therefore, the gap between each stage was a time for us to regroup and prepare ourselves (process-wise and team-wise) for the start of programming work.
Our preparation involved selecting the optimal project team and preparing the application architecture. It was a time for internal meetings and further analyses, this time focusing on programming and DevOps.
We retained the core project team from the previous stage because our experience showed that the most effective way to execute a project is to have people who know it inside and out. Therefore, project management, tech leadership, and design competencies remained in the hands of the same people. Three programmers joined the team to provide development support for the project tech leader. At the same time, we also looked at the team from the FRIS® perspective, trying to create synergy among people with complementary predispositions.
Although the project budget was clearly defined, the implementation process was carried out in the spirit of agile methodologies. The implementation process progressed in two-week sprints, with each ending with a review of what we had accomplished so far. Daily scrums complemented the process, which were daily meetings during which each member of the project team answered three (iconic) questions:
- What did I do yesterday?
- What will I be working on today?
- Did I encounter any problems?
We intentionally decided to carry out the project in two-week sprints. This period allowed us to:
- learn the project and manage it flexibly;
- quickly respond in problematic moments;
- easily close sprints.
This approach allowed us to work efficiently and at the same time ensure simplicity of solutions and quality of what we finally delivered. We knew the plans of the IQ Dental team for the further development of the application, so we had to take care of scalability and reliability of what we programmed during implementation.
At this stage, planning tasks and monitoring progress compared to the remaining time until the end of the project (January 2019) was crucial. On the one hand, the challenge was to meet the established implementation deadline, and on the other hand, to ensure that people had planned work in the perspective of the entire sprint.
The challenge that we faced perfectly tested internal project management processes at EENGINE. Three of them were key:
1. Our system for managing current tasks programmed in our own tool (used, among others, for managing vacation policy or reporting working time). Thanks to it, the project manager could plan work for individual team members every day, monitor their workload, or move tasks in time. For programmers, this system provided specific information: what tasks do you have today on your plate.
2. Trello - a kanban application for project management is deeply embedded in the DNA of EENGINE. It served (and still helps us today) to visualize to the client the process of creating the IQ Dental application. Through Trello, supported by Slack (messenger), we maintained regular contact with the client team, discussed the most important issues from the project's point of view. At the same time, the product owners had constant insight into the stage of work and the progress of the implementation of individual sprints.
3. Weekly statuses - in the projects we run, we place a strong emphasis on ensuring that the client is fully aware of what is happening in their project in a given week. Especially if, as in the case of IQ Dental, we are dealing with a complex and extensive undertaking. Therefore, every week, the client's team received a summary of the work done over the last 7 days. We did this using Google Documents, informing the client about such matters as what we are doing in a given week (divided into individual people), what we could not realize and/or what difficulties we encountered, who and when will be unavailable, etc.
The procedures we applied were primarily aimed at implementing the application according to the schedule and maintaining continuous and detailed communication with the client. This was particularly important because we were working on a project that required significant programming resources over several months, and the IQ Dental team did not have the physical ability to assess the progress of the work. It is worth emphasizing here how much trust between business partners is a crucial issue in any project, especially one with a broad and specialized scope.
In order to maintain a culture of trust and close collaboration, we regularly met with the IQ Dental team to work through the most important assumptions or doubts using workshop methods. This also served both sides to build mutual business relationships and directly resolve the most complicated issues related to the functioning of individual software mechanisms. During these meetings, we often evaluated the assumptions we had made during the analysis phase.
Working on the implementation of the MVP was a very intense period in which we had to demonstrate great flexibility and effectiveness.
Perfecting the "diamond," or developing the software in the BETA version
After completing the implementation of the IQ Dental application MVP, we moved on to work on the BETA version, which was to be tested by the first users. During this period, the program underwent a series of internal UI/UX tests, both on our side and the client's side, following the principle of "as few clicks as possible."
In our industry, the quality of services provided is also reflected in, among other things, consistent and optimal processes. These have remained unchanged since the start of programming work. The IQ Dental team still received weekly updates, we worked using workshop methods and agile methodologies. At the same time, the product was still (and is still) being developed by the same people on the EENGINE side. A consolidated and well-coordinated team is the foundation of everything.
It might seem that at this stage, the pace of work would slow down. Nothing could be further from the truth. When we launched the first instances of IQ Dental for invited clinics in the summer of 2019, our main task was to verify the feedback received. The end users (doctors, managers, receptionists, coordinators) spoke very highly of the program, appreciating its simplicity and intuitive operation. On the other hand, many needs and requirements arose, which the IQ Dental team (together with us) prioritized and determined over time.
Commercial launch of the IQ Dental application
The fourth quarter of 2019 was a special time for us. The first clinics began to use the IQ Dental SaaS solution commercially, testing the application in real battle. The "proof of concept" received a positive status from the market, which meant further development of the program for us. Especially since with each passing month, more and more dental offices began to test and then switch to a full-fledged subscription.
The growing interest and engagement of IQ Dental clients require continuous support from us in the further development of the application. In the coming months, we will be working on, among other things:
- a dedicated administrative panel that will enable the client's team to conveniently manage, monitor, and communicate with dental clinics that choose the tool;
- integration with third-party systems that will expand the range of software capabilities;
- development of the helpdesk.
In summary, the IQ Dental application is acquiring new clinics and developing new features. As a software company that has been involved in this project from the very beginning, we are exceptionally proud that we can support our clients in such endeavors. Especially since the IQ Dental team has the ambition and actually strives to make dentists' work easier (scheduling appointments, preparing treatment plans, but also ensuring the profitability of dental clinics). The software we are creating together has unlimited development possibilities, which means providing new solutions and mechanisms to support the daily work of doctors and clinic personnel.