Azenqos is a product offered by FreewillFX solutions that connects mobile handsets to a website which measures the quality of the mobile signal. This allows telecommunications companies to identify areas where their subscribers are not getting good coverage.
The problem with most consultants is that they have no real-world experience in the technologies that they consult on, and have no stake in the outcome. I like working with Mishari Muqbil because he not only helped us solve our technology problems but also patiently helped us improve the way we use technology in the workplace. This allowed us to dramatically reduce our turnaround time for developing client features, as well as the amount of time we spend troubleshooting.Kasidit Yusuf CTO
Azenqos has an architecture comprised of two parts: a mobile front end that collects signal quality data, and a backend that performs an analysis of the collected data. As the number of clients grew, so did the volume of data, overhead costs, and complexity of managing the services for each client. Scaling up company processes to handle big data became an uphill battle, with unexpected heavy workloads causing the system to crash repeatedly. Also, the pressure to deliver features to users on time meant that manual code tests were not being performed thoroughly, resulting in issues that ranged from minor annoyances to significant malfunctions.
Not only were these issues affecting the schedule of feature launches, but they were also starting to have a demoralizing effect on the team, who were spending significant amounts of time trying to keep the system running instead of adding value for their customers.
The first step was to assess the system, which was done with informal weekly phone calls with the CTO of Azenqos, who would express what went well during the week and what didn’t go so well. This is a simple and effective process that, over the course of several weeks, revealed much about the organization, its aspirations, its culture, and the challenges it was facing. Based on this, solutions were developed by Zymple and extended by Azenqos, tested, and then deployed. This was accompanied with process improvements at Azenqos in order to improve the way their organization interacts with the technology.
- CTO Coaching: Methods were introduced that helped the CTO improve processes incrementally by changing the way they looked at the problems and adjusting technological goals to better align with business outcomes. An improvement of just one percent per day compounded over only 70 days adds up to a 100% improvement.
- PostgreSQL DB Troubleshooting and Optimization: These helped to remove bottlenecks and increase performance
- Writing Ansible scripts: This helped to automate the process of bringing up a new server
- Interfacing with clients to procure on-premise servers: It was necessary to explain to clients what the resource constraints were
- Implement monitoring system with application metrics: This allowed Freewill to monitor business metrics in real time
- System hardening: Enhancing security and mitigating security issues
- System architecting: Decreasing interdependencies of different modules so that each module can be developed and tested independently. This allowed for better scaling and decreased complexity during development
- Help with vendor procurement: Assistance selecting vendors for an advanced GIS development project
Discussions with the CTO revealed that deployment was a long and error-prone process.
One major problem was that different servers had different code bases, which made it difficult to manage. To fix this, the team standardized the codebase to a single version, increasing productivity and making it easier to manage. Deployment time was further reduced by automating processes and making them repeatable, reducing the deployment time of new systems from 3 days to 1 hour. This freed up man hours to work on client-facing features and dramatically increased the rate at which Azenqos can onboard new clients. This strategy has been extended to other areas, so that the team now does less work manually, using automation as a proxy so that interactions with the system are repeatable and scalable.
Another recurring issue that came up was the frequency of crashes, which has been reduced from several times a week to effectively zero, giving clients a better experience and improving their confidence in the products. This was achieved by adding a monitoring and rapid feedback system, alerting the Azenqos team of a potential malfunction before the client is aware. By analyzing data from this system, usage patterns that trigger problems have been identified and mitigated.
Once the distractions from an unstable system were removed, the focus turned to enhancements and growth.
Consultations with the CTO identified improvements in code quality as the next priority area. Automated tests were implemented, giving the team a high degree of confidence that any new code submitted would not impact other parts of the system in a negative way. Team morale improved and conflict between team members diminished, as there was less breakage to trigger blame games. This enabled the team to take on more ambitious projects like adopting a SaaS model, which will allow Azenqos to increase their profitability moving forward.
In summary, due to the strong base systems and improved process design introduced to the Azenqos workflow, the way in which the developers interact with their systems improved. This resulted in happier development teams and happier clients, while simplifying the entire system. We make it Zymple.