Casavo is the first Italian real estate Instant Buyer: through its online platform it acquires residential properties, drastically reducing the time needed to sell them.
At the ITF Forum twenty-first edition in 2020, it was awarded Best Startup at the Fintech Age Awards for its success with investors and clients, thanks to its innovation in the real estate sector.
Casavo relied on Flowing for the realization of several projects, including the development of a greenfield software, specifically a wizard to obtain the economic evaluation of a property by entering the characteristics of the same.
Starting off on the right foot
The first phase was a “mini discovery” during which the client shared with us his challenging project: taking a business opportunity that had very stringent external deadline constraints.
We then responded to the client’s need by putting order in the set of requirements through the tradeoff slider game, an activity that we often propose in the discovery phase and that in this case helped us particularly, given the presence of a strong input constraint: to complete the project in one month.
In practice, with the tradeoff slider game we ask the client to put four items in order of importance – with no possibility of parity – so as to understand the importance of each one.
From this activity it obviously emerged that the deadline factor prevailed over the others, and based on this and other information we tailored the activities to be carried out to achieve the required result.
To provide further clarity, we then defined user stories that we categorised into Must have and Should have, in order to have a clear and shared picture of the priorities assigned to the various features, sharing criticalities and constraints with the client in total transparency.
Once this preliminary step had been taken, we provided the client with a cross-functional team with all the professionals needed to complete the work within the required timeframe. Our interface developers, front-end developers, back-end developers and ops worked in synergy with the client’s UX and DevOps department.
As this was a greenfield project, we were not restricted in our choice of technology and tools. Keeping the “deadline” lever in mind, we opted for a technology stack with which we were familiar: PHP on the backend, ReactJs on the frontend.
Managing operations to arrive at release safely
Together with the client’s team, who had ownership of the project and the task of validating the functions released at each iteration, we immediately defined the “rituals” to support the project:
- daily stand-up, where we would show progress, highlight any roadblocks and decide on the next features to be implemented;
- check-in before the demos with the end customer or deadlines, so as to concentrate effort on completing the most important activities.
Because of the strong deadline constraints, we created a kanban with the client with two separate backlogs, dedicated to the Must have and Should have features.
The first backlog obviously took priority, with a view to achieving a walking skeleton. The first milestone agreed with the client, in fact, was the creation of a walking skeleton of the application. Since it was a step-by-step wizard, we set ourselves the objective of creating the navigation logic to allow the user to enter all the information and arrive at the final property valuation screen, creating a working happy path. All subsequent refinement and fine-tuning activities – data validation, corner case management and graphical improvements – were carried out from this first prototype.
The pivotal point of our approach to the project was certainly the daily contact with the client: keeping the whole team constantly aligned and having a clear and shared idea of progress was fundamental to achieving the objective.
In such a short timeframe, and with a functional design already well defined and documented, the temptation to go ‘head down’ can be strong. However, this can lead to complications: it is often the case that an a priori defined specification shows weaknesses or has aspects to be revised once implemented. This – combined with sporadic communication – can lead to the delivery of software that does not meet the expectations.
Hence the strategy we have adopted: responding to changes as quickly as possible and carrying out the work in total harmony.
In projects like this one, being reactive also means paying attention to possible roadblocks: identifying and reporting them in a timely manner, discussing them with the team and possibly evaluating alternative solutions together with the client becomes easier if communication is effective.
On an operational level, the best way to achieve the desired result is to obtain feedback from the product owner as quickly as possible: to this end, we set up a continuous delivery system right from the start, working closely with the ops department, with the aim of being able to quickly release changes in the staging environment, thus making them testable in a short space of time with the aim of reducing waste as much as possible.