top of page
Image-empty-state.png

Montebravo Investimentos

#The Challenge: Developing for multiple platforms with one code

DISCLAIMER: To comply with my non-disclosure agreement. I have obfuscated confidential information in this case study. All information in this case study is my own and does not necessarily reflect the views of Montebravo.


The company

Montebravo Investments is a Brazilian investment company specializing in private equity and venture capital.


My position

As part of Montebravo Investments, I have the challenge of developing an app for over-evaluated customers to see their investments, business opportunities, receive morning calls, read articles from their advisors, and other features. The real challenge here was to develop for Android and iOS with the same code. In this case, we used Flutter with Dart as the programming language.

The methodolody and the time

The methodoly used to the MVP considering the software engineering was the scrum model and the deadline proposed was 4 months of development. So, as the model was an agile methodology I will describe how was the evolution considering the following steps: Requirements & Analyse, Design, Implementation, Tests and Deploy.


Requirements & Analyse

We started the project understand the requirements and the advisors necessities. Our requirement analyst met with CTO, Head of technology, Head of investiment, product owners, managers and supervisors to collect all data necessary were necessary to help a advisor increase the money management of their customers. After the analyst brought the requirements, there were some brainstorm meetings to sharpy the ideas and analyse them.

Design

With all the ideas, requirements and necessities the designing process started using figma as platform of creation for the screens and user interface components. The firsts things designed were the definition of the design system where were included fonts, colors, icons and buttons. After that we had some compositions of user interface components like lists, entire components and by the end entire screens and navigations. While the designer was drawing the screens, the developers were understand the business rules and making more detailed analysis on the requirements.


Implementation

The implementation started with the mobile developers building the following things:

  • Design system

  • Components

  • Screens

  • Navigations

  • Integration with APIs using mocks while the backend was not ready.

  • States

  • Unit tests and widget tests

In the major part of these process we built bussines rules, strutured the architecture (MVVM), bind the datas using databinding in the beginning of the project.


Tests

While the developers were writing the code, the Q&A's were creating fake data to test the app in the environment of developement and homologation.


Deploy

The deploy process consists of person responsible to generate the version to the store. This person needs to run a local script that will remove cache from old files or third libraries, sign the app with the apropriated keys and credentials, format the code, verify if the tests are ok and by the end... generate a version to the store. The process to upload the .app or .ipa to the store is manual yet, but we are already working in a model to automate it.

bottom of page