
Banco BS2
#The Challenge: Developing MVP of a credit card feature
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 Banco BS2.
The company
Banco BS2 is a Brazilian bank that specializes in digital banking solutions, including personal banking, foreign exchange, and payment services.
My position
In this project, my position was android developer and my challenge was to develop a feature for a national and international credit card MVP of a digital bank. This credit card was developed from scratch until deployment on play store where I had the responsibility for monitoring and fixes any bugs that arose.


The team
The project team consisted of a complete squad, including four backend developers, a designer, a requirement analyst, two Q&A's, a product owner, and four mobile developers, including a pair of android developers and a pair of iOS developers. In total, we were a team of thirteen people, with the majority of them being seniors. Our mentality was that a medium-sized team should be more focused and synchronized than a larger one.
The methodolody and the time
The methodoly used to the MVP considering the software engineering was the waterfall model because we needed to publish the credit card with all the entire feature complete, not only isolated parts of it. Other motive relevant to the choice of this methodology was the deadline proposed in 6 months. So, as the model was waterfall I will describe how was the evolution considering the following steps: Requirements, Analyse, Design, Implementation, Tests and Deploy.
Requirements and Analyse
The project requirements were obtained by the Requirement Analyst with the Product Owner in some meetings with managers, supervisors and CTO, CFO from the bank BS2. With all the requirements in theirs hands, they have gone to the juridical part to understand if all the features are legal, regulated or demonstrate transparency to the final customer. Once the requirements/features/purposes are accepted by the superiors positions there were meetings to discuss the technology with the tech lead and transformation lead.
Design
With all the ideas, requirements and necessities the designing process started using miro 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 credit card, the developers were understand the business rules and making more detailed analysis on the requirements.
Implementation
The implementation/development process starts with the developers getting the data api updated in swagger, creating the POJO classes, writing the api interface with the signature, params, responses and requests from the endpoint. In a second moment the businness rules are implemented and then the creation of layout starts. In these moment, the developers create: components, screens, navigations, states, usecases and adjusts the design system. All the code needs to follow MVVM architecture following good practices as SOLID and design patterns.
Tests
While the developers were writing the code, the Q&A's were creating fake data to test the app in the environment of development and homologation which they created some automated tests with format of end to end.
Deploy
The deployment procces was created using pipeline with CI/CD with a mix of github actions integrated with bitrise. The proccess consists in:
Github actions: Verify if there are errors in the build, verify the style code, sign the app with a private key.
Bitrise: Generate app versions for the Q&A's run the automated tests in the app. If everything is ok, then the app is deployed in the play store.
