Project
Creating an application allowing to create a bank account in a chosen by user localization, compatibly with local law and regulations in a simple, comfortable and compatible with latest standards. The aim of the software is to:
- Allow the user to register online without the need to visit the bank physically.
- Use biometric technology, such as face or fingerprints recognition to confirm the client’s identification.
- Automatize of verification processes and documents analysis to accelerate and simplify creating an account.
- Be able to sign the documents and contracts virtually without the need to use paper documents.
- The speed and instant confirmation of opening a bank account and means availability in a short notice.
- Create a functionality that allows adjusting bank offer for individual needs of the client based on collected data and preferences.
- Integrate with multimedia’ functionalities, such as videoinstructions or interactive guides to simplify understanding the process of account opening.
- Implement advanced safety measures, such as data encryption and compatibility with regulations regarding personal data safety (GDPR) and industry standards.
- Allow the client an easy integration of opened account with different bank products, such as bank cards, credits or investment services.
- Use the tools to analyze the risk and identify possible frauds in real time.
- Access to the online client’s support function, such as real time chat and help systems.
- Automatic client’s credit score and analysis of finance history to present appropriate offers.
The application aims to not only simplify the process of opening account, but also to provide the clients special and innovative experience, compatible with latest standards in technology and banking industry.
Task
Application is built simultaneously for two systems – iOS and Android. After release it will be available in App Store and Google Play. First versions are already made public. Application is created in a native way, so the key functions are provided for the device:
- specification for platform,
- access to device’s functions,
- performance,
- better integration with operating system,
- access to applications’ stores,
- performance optimalization,
- easy updates.
Realization
Particular scrum team from j‑labs consist of:
- 2x frontend developer,
- 5x backend developer,
- 4x QA Engineer (manual and automatize).
Additionally in each team there are:
- 1x Product Owner,
- 1x Scrum Master,
- 1x Dev Tech Lead,
- 1x QA Lead.
People from j‑labs create two developer teams (there is a third team from India in the project). J-labs’ developers are primarily responsible for backend of the application, each of the three team are also working on backend and frontend and their integration. QA Engineers from j‑labs are responsible for manual and automatic testing of new functionalities, creating new testing scenarios, creating testing scripts, modifying existing testing scripts according to the needs, reporting errors, re-testing fixed errors, conducting regression after each implementation (if needed), conducting regression before release, creating environments, maintenance of testing framework and conducting performance tests with an analysis of results. They are also responsible for creating and upgrading testing approach that constitute the whole testing process, so that it can be integrated with current markets and so it could be easily adjusted to future markets. People from j‑labs are also work on implementing backend and frontend, testing an application (manual tests on mobile devices and on a simulator – browserstack), creating and developing testing framework. Testing framework is developed with Appium, XCUITest and Espresso.
People from j‑labs are actively participating in every phase of the software development:
- PI Planning, lasting 3 days, consisting detailed exposé of tasks planned for a period of 3 months or 6 sprints.
- Project phase, in which the work is being held in two-week sprints.
- After the phase of implementation and gaining acceptance during Code Review, the developers give the realized tasks over to QA Engineers
- For each task (if not stated differently during Sprint Planning or Refinement) there are created two sub-tasks – manual tests and automatic tests, and a task regarding regression. Each task must be tested in preproduction environment, not only local.
- After conducting manual tests, gained results are precisely documented. Accepted or denied are whole tasks or particular scenarios. Required are positive outcome for the whole scenario to declare a task as finished. In case of negative outcome, QA team return the task to a developer to implement necessary fixes.
- After finishing manual tests each task is conducted to automatic tests. Next, there is conducted a regression of the whole repository or some repositories, if implementation also affects different areas. After confirming the correctness of the results, there is a merge into master branch it is given over to Product Owner for review.
- Biweekly there is a release package prepared if the release is not planned after next iteration. Dedicated developer is responsible for completing the package consisting of the tasks approved by the Product Owner.
- After each sprint there is held a retrospection, during which the teamwork is analyzed and possible suggestions for improvement, which can be implemented in the future, are presented.