Custom software package for consulting agency
Our customer is a consulting agency in the human resources field. They provide a comprehensive organizational alignment programme to identify, measure, and address alignment gaps, team by team, to improve engagement and performance. Team members are asked a series of questions about their context at work. Variations of the questions are available for varying team circumstances. When put together, their answers map out how their views converge or diverge, so the common ground and differences become clear. The data is treated anonymously and displayed in simple visualizations. This allows leaders and teams to pinpoint and address the disconnects. Misunderstandings about the strategic frame can be corrected. Participants are better able to connect to the strategy and organization, and how they relate to their work. They can see what needs to change to deliver better together. This is facilitated by trained practitioners, safely and constructively.
Having worked with this client for a few months, we can confidently say that they are indeed professionals in their field. Their knowledge is backed up by many years of experience. They always find a tailor-made approach for each team. You can imagine that this required processing a massive amount of data because the situation in each team is individual. So this was the client’s request when he came to Broscorp: we had to find a solution on how to automate data processing and the visualization of results.
This is how the process was arranged before the start of our project:
- Team members passed a survey in TypeForm or SurveyGizmo;
- Answers were exported to Excel;
- Based on the responses, the facilitator created reports using simple templates in Google spreadsheets.
First of all, this took a long time. Secondly, the possibilities of data visualization were quite limited since Google Docs is not very good at creating various types of graphs, charts, etc. Data search was inconvenient. And most importantly, this error-prone process was not scalable, so our customer could not immediately process a large number of teams.
The problems having been highlighted, the customer came to us with ideas and a nice-to-have features list. So we started to work 🙂
First of all, we developed the architecture of our solution. Then we began the implementation of each of its parts.
Backend to process survey responses was implemented. The advanced data model allows building queries conveniently and easily find the data you need.
We also created two custom web applications. The first one was used as a tool for survey building. Through convenient filters and sortings, the app allows to select from the database those questions that are specifically appropriate for this team. Questions can also be edited: after that they are saved in the database separately be used them for the same team whenever necessary. The ready survey is transferred to SurveyGismo through simple manipulations where the team members passed it. The second application that we developed helped significantly improve data visualization. It helped the facilitator to group the responses of the team members into categories, which were formulated in different words but had the same meaning. This codification of answers allowed us to display in graphs the impacts on team members of various factors such as the industry or organization where the person works.
Then we deployed all the components on the Amazon cloud. We set up alerts on possible errors and failures on the account, and helped to plan budget spending. All old data from past projects was also migrated to the new cloud database.
For data visualization we chose Tableau. This BI tool has extensive possibilities for presenting data in various graphs, tables, calculations, distributions, etc. We created in Tableau a huge number of templates for all possible team types and team situations. Each indicator is calculated according to a predetermined formula, and the graphs are built according to the data retrieved from the database by SQL request. But of course, all these difficulties are hidden from the user. All the facilitator needs to do to compile a team report is to select the appropriate template and enter the team ID in the appropriate field.
- We provided the customer with reliable storage and convenient access to data;
- Scalable solutions allow the customer to process a lot of teams simultaneously;
- Custom applications help the client to present more accurate and detailed data visualization;
- And, in our opinion, the most important thing is that this solution automated routine business processes. This will allow the client to save a lot of time and money and will also allow paying attention to the development and promotion of the business, attracting new customers, and entering new markets.
From the development perspective, we were concentrating on a few major goals:
- Speed up the development;
- Simplify maintenance;
- Decrease the cost of usage.
So, as a result, we made several decisions to achieve these:
- Selected AWS Cloud platform to host the application, database and avoid dealing with bare metal thus decreasing the cost of usage and simplifying maintenance.
- Selected Java as a backend language that we know best and which is reliable and selected Angular for Frontend side which is a good choice for business-related applications.
- Selected Postgres database which is opensource, supported by AWS and can handle all the load we would expect.
In general, we split the business process into several bits and pieces so let us describe them all in detail:
The second flow was a survey creation, which means showing all possible questions and business-specific options from the database, then transforming them into SurveyGizmo accepted internal format automatically and voila!: the survey is ready to go!