Case study
Rebuilding a 10-year running project from A to Z
The website sousedé.cz was founded more than 10 years ago. In 2019 its new owners decided to move the original vision in a completely new look. Sousedé.cz connects homeowners association (HOA) committees, administrators, management companies, and owners of housing units. The goal is to have all the information about houses, apartments, and their owners in one place.
"We created Neighbors to improve the community spirit of apartment owners and link them actively with their committees and administrators. We want to show that housing care and operations can be done efficiently, pleasantly, and openly."
Tomáš Síkora
managing director and co-owner
Challenges we had to deal with
Our team was chosen with a direct mission, which was a creation of a completely new UX and UI. Subsequently, there was a request to develop a web and mobile application on a green field, including complete migration of 90000 users and its data.
Scope of individual functionalities
Its definition was to keep all the necessary functionality for current users, as well as the MVP could not last for years. We all know that “tunning” can go to infinity…
Deadline
After all, as always :). Intensive development began in September. The first "wished" launch date was November ("Owners" czech movie premiere) — it turned out unrealistic. The final web and app were launched in January.
Application and web development at the same time
Investors have identified a mobile application as a competitive advantage. None of the competitors on the market had the application. After several discussions, we agreed to develop the website and the application at the same time.
Migration
Complete migration of user data. That means legacy source code analysis and transfer of all user files.
Process
Two frontend developers, two backend developers, and one mobile app developer participated in the development.
We ran the development in the agile way. We needed to iterate often and have regular checks if we were on time, so we chose weekly sprints.
What we consider beneficial in planning sprints is having user stories divided into "must-have" and "nice to have" types. We were able to complete "must-have" issues within the sprints. Thanks to that, we, as a team, as well as an investor, were satisfied that we were fulfilling the plan and work went well. Infinitely overflowing sprints are not the way to go.
Dedicated team on the investor site
We think that another parameter of success is 100% focus on the new web on the side of the investor team. We didn't have to wait days until specification details, but minutes. From our point of view, this is key to the success of any IT project. There should always be a person on the partner's side who is allocated and can make decisions in cooperation with the development team.
Thin UI kit
Since we couldn't reduce the scope much, it was necessary to have a ready-made UI kit, from which we compiled the entire application. We chose the way with a small number of components so that the applications get the "final" form as soon as possible. It turned out that even with a thinner kit, we always find a solution on the frontend side.
Same sprint tasks for mobile and web application
The development of mobile and web applications took place at the same time. That's why we tried to have the same user stories in sprints for both the website and the mobile application.
The whole team had a focus on the same functionality, so team members could help each other without being taken out of context.
How we solved the migration
The best solution was to map the original structure to a new model. The procedure was performed by loading through the MySQL adapter from the old database and creating new entities through the business logic of the new application with maximum preservation of backward compatibility (approx. 3GB of data in 5 hours).
Outcome
What worked well
We launched the MVP in a reasonable time frame.
After launch, we were not overwhelmed by an endless bug list.
The owners and we were both satisfied with the result, so we are cooperating on the project until now.
What we would do another way next time
Although we were working with a thin UI kit, we should have started programming it a bit earlier so that it was done for the main part of the development phase.
Feature vs. value-driven product development. Because the product was already defined from the previous version, we took over the functions without further research, which would tell us if they were necessary. Next time we would probably analyze the need of individual functionalities more, so we could then leave some out and move others up a level.
Web and mobile application development at the same time — more about this next time :)
Project team
Martin Tryzna
project manager
Martin Vik
frontend developer
Tomáš Valoušek
dev lead
Jakub Janata
backend developer
Petr Vejvoda
mobile app dev.
Jakub Gräf
UI design
Technologies
React.js
Typescript
React Native
Styled Components
Symfony
PHP
GraphQL