Research and development processes
Our cooperation started with an extensive research and planning period of 2 months, and as a result, we agreed on the scope of the first milestone, created the general specification and fixed the tech stack. An external UI/UX designer was hired to create the user flow and design the interface based on the research. They were using Figma, which also allowed all parties to check the real-time status of the process and comment when needed, ensuring a proper flow of communication and leaving as little room for misunderstanding as possible.
The process of creating the business analogy for the advice generation started a bit slower than expected. We were trying with charts and flowcharts for days, our goal was finding a clear structure for all types of advice to fit in. Once we had that, the business analogy for all advice was ready in 2 sessions of brainstorming together with the client. This structure completed our general specification and made this particular part of the development a walk in the park.
The development was organized according to the Scrum methodology having two-week sprints, each with a planning, two backlog groomings, two refinements, daily stand-ups and occasional retrospective meetings when reaching internal milestones. The developers mainly worked in pairs, which resulted in higher quality of code and fewer mistakes and bugs. Pair programming also allowed them to learn from each other and develop their coding skills. From time to time, they asked for consultancy with our CTO who always came handy around critical decisions.
We used Jira for task management, the development tasks were defined as stories and were estimated by story points using the well-proven Fibonacci numbers. The user stories were created by the tech lead with the assistance of the project manager based on the general specification, and refined at the refinement ceremonies by the whole team.
The development of the app started in late March 2021. We built GAdsVisor as a serverless application, hosted on Vercel for development and on AWS for production. The reason we chose serverless is because it is super scaleable and it is capable of serving an enormous number of visitors at the same time without any technical issues, but has low costs while building up a user base. We used Node.js Fastify with Apollo GraphQL for backend, PostgreSQL as the database and Next.js framework with TypeScript for the frontend components.
The development phase was completed by an extensive testing period. Unit testing was a requirement from the developers on the fly, but our QA team was responsible for further automated and manual testing with special regards to API connections and advice generation.