Mobile Development - What We Do at Bank Mandiri

Bintang Thunder
Mandiri Engineering
9 min readJun 12, 2020
Bank Mandiri — Mandiri Online
source: Bank Mandiri

It has been seven months for me to take a role to become an iOS Developer at Bank Mandiri. I have a chance to gain more software development experience during this new role. Bank Mandiri, as one of the biggest BUMN Bank in Indonesia, always provides strives excellence and customer-oriented by delivering the outstanding quality of its mobile application. Being part of the mobile development team gives me many opportunities to explore the habits of customers and the company’s development cycle.

Transformation of a software development methodology from waterfall to agile development is one of the many ways to bring excellence into competitive in application development. This transformation made mobile banking application like Mandiri Online release to market faster. This concept formed the person in charge to change and transform from out-of-date features to needed features as soon as possible. Generally, the cycle process implemented in Bank Mandiri is ideation, development, testing, and then release. Since Bank Mandiri has lots of financial applications, the application must 24 hours monitored; implementing this cycle need insignificant effort and bring the rollercoaster mood.

Plaza Mandiri Building
Source: Bank Mandiri

Makes Great Ideation

What do you think when you hear about the idea? If you think about some people who put the plan together to create an innovation or something new, perhaps you are right. But how about build ideation when you come to a big company? What do you think about it? When you are a software engineer, perhaps it sounds like a rollercoaster in your mood and mind. Many software engineers will know how to develop applications in order not to make a flow based on the business concept.

Ideation is the way to simplify the existing financial process before the development phase when we talk about ideas in a financial institution. Develop a new application or enhancement existing application usually because of the conversion of the business process in the company. Build a new app is quite challenging because it takes more required research and resources before running the development. At the same time, enhancement sometimes does not take much effort because it will add features or take out features. A mobile engineer needs to know the upcoming features before a requirement development’s document release to the development phase. Discovery new features will help to decide the engineering process when to start or halt the process of development.

Mobile engineers do not work alone to make documentation, design, and development of the application. At Bank Mandiri, the ideation of the app not only responsible for the mobile engineer or software engineer. It is reliable from the related business unit, development team, and other relevant groups. In Bank Mandiri, the initiative of ideation comes from the business unit. The business unit will propose the concept of application with a business approach to the development team. Then, they will ask the system analyst from the development team to make the initiative possibility feature in the technology approach. UI/UX team and the business unit will collaborate to make application learnability in UI perspective and have usability features in the UX perspective. As a mobile engineer, we must focus on development after the ideation, but sometimes it possible to advise about the next function.

The ideas and concepts from the brainstorming stage will put together in the document and will become the product guidelines for the development. In the process, the material that must-have is a feasibility study and requirement document. This document will become a guide for mobile engineering in the big picture, user interface, and user experience flow of the application. If there is a transaction feature, the limitation of transaction and validation information will put in detail of the document. Some developers think that the material does not necessarily; obviously, it needed to know the boundary of the development.

Development Part

Most of the development at Bank Mandiri using the platform-specific native recommendation from the mobile issuing company. iOS Application using Swift language and Java language for Android Application. Both of these languages sound familiar to many mobile engineers, possibly to know both of them, but most of them only mastered one. Swift language for ios app development was my first mobile-native language at Bank Mandiri. This language is natural to read and sometimes quite challenging to implement. There is also JavaScript and Dart language besides the native language to build a mobile application in a different approach. Javascript and flutter are the base language for the popular frameworks React Native and Flutter.

Swift and Java
Source: coolnetkid

Swift and Java are significantly different compare to React Native from Facebook or Flutter from Google. The performance, speed, and hardware control are quite disparate. Still, it does not mean that React Native or Flutter is unacceptable in the development market. In some conditions, Swift and Java’s usage is to build a complex application and need full control of hardware to increase the feature performance.

React Native and Flutter will be useful for development with concept kill two birds with one stone. Those frameworks are not usually required comprehensive control of the device and release process as soon as possible. Both of that language has advantages and disadvantages in mobile application development. The critical thing to know is that whatever the framework will use, Swift and Java languages are required to support the framework to build the native side.

Mobile application development ideas usually arise when the environment needs something portable without time and place boundaries. Before mobile banking exists, people have done financial transactions through a branch of the bank, ATM, or other channels. The invention in mobile application development is fascinating for the behavior changing of a bank customer. This advantage sometimes misused by hijackers and other online criminals. If a mobile engineer does not care about what they wrote on the code, it becomes a boomerang for the company. There is some preventive way to decrease the possibility hijacker can penetrate through the application. Obfuscate, and application integration using RESTful API is the way to reduce the possibly crack in the app.

Application obfuscate is needed to prevent hijackers from decoding the application to see the source code and find a way to exploit it through the banking system. This process will deceive the hijackers with the random character if they force decode the obfuscated application. On the other hand, the purpose of integration to unexposed data transportation in the device and reduced the data process on a mobile banking app. integration becomes a tough matter of mobile banking development since all the transactions, data privacy, and additional financial information will pass-through application to the back-end and core system.

For example, there is a transaction to pay the LinkAja from Mandiri Online; fill the form for a phone number, amount, and description. Mandiri Online application in the device does validate the information appropriate with the back-end system needed. After the validation of the mobile payment process, data to purchase LinkAja will pass to biller payment, and the back-end will handle the whole end process. When there is a change in the biller of Mandiri Online, it will impact other channels like ATM, EDC, and Core Banking.

The Testing

Mobile Mobile engineers generally still ordinary humans, and it is also possible they accidentally made some defects or bugs of the application. Testing becomes a crucial part of pre-release because no company wants to expose issues that can cause fraud. Test phase divided into three in general, such as a vendor or developer testing, simulation integration testing, and user acceptance testing. Vendor or software engineer testing done by a mobile engineer as an early stage of extensive testing based on requirement document. Quality Assurance is responsible for simulation integration testing. It provides in-depth tests regarding integration to other channels and suitability to require documents. User acceptance testing is testing based on similar data and behavior of a customer; The responsible team for this testing is a business unit that issuing development.

Testing the application need people who thorough and patient because there are so many criteria and checklist that must finish in the testing process.

  • Functional Testing
    To make sure the feature works as described in the Feasibility Study. Commonly, the Quality Assurance team will have a test plan with a list of actions, and the desired application behavior.
  • Usability Testing
    To make sure the feature is user friendly and is as intuitive as possible.
  • Performance Testing
    Perhaps the application work perfectly, but it needs to double-check to realize the application responsiveness. Performance testing is typically more important to know how long will user will use the application.
  • User Interface Testing
    Just because the design phase is complete in the ideation, does not mean the app looks like what the designer put and affected the whole application. Designers should review each feature and ensure that its vision implements as described in the design.
  • Regression Testing
    Remember that there is no perfect application and do not assume it will work by itself. Quality Assurance with strong sense will perform end to end test that includes previous features.
  • Device-Specific Testing
    When testing, make sure Quality Assurance tries out the application on numerous screen sizes and operating system versions. There are tens of thousands of devices and operating system combinations in the world.

The application must be fixed if there is a defect test before it is released cause we do not know what will happen if someone finds the open bug from release application. Testing is an essential part of the mobile engineering process, and perhaps it painful, especially doing double retests. The impressive result is the paid that we got from the distressing process.

Release to Production

Anxiously mood comes from the situation when releasing an application to the market. Since the application release, we are ready for everything that will happen from the market. To keep a fantastic experience, stay steady, Bank Mandiri implemented a beta version before its application release to production. The beta release provides only authorization user will allow to download and use the application. At this point, just trusted chosen Bank Mandiri employees can access the app and do some transactions.

When implemented this process, what needed is beta user feedback from the Beta release. If the development, testing, and the beta process were impressive, and there were no problems; The application was ready for production release. Mobile engineers must remember that the release process from 24 hours mobile application needs patient and carefulness. For some big tech company no excuse for downtime in production release and also Bank Mandiri.

Feedback from the production when the application already releases to the market is crucial to decide the next step of the app. User feedback, we know how to improve the app, and these are some essential points not for a mobile engineer but also a business team.

  • The number of installs
    See if people using the application
  • Ratings and reviews
    See if people like the application and what they like/dislike about the app.
  • Social media response
    See how social will impact people’s desire to use the app.
  • Company history
    See how the application might be changed people think about the company and what progress after the application launch.
Release to your hand.
Source: lovelocaldesign

We are trying to get better

The essential part is not how you remember all the phase process. This cycle was my experience in Bank Mandiri. It is a good foundation for the other person who has the same experience and for me. Keep hungry and foolish; I look forward to what experience will happen next.

PS: Persistence, Creative & Trust - Lead you to a better version of yourself.

Source: Self Experience, Bank Mandiri, and Google

If you are interested in working with us, we are hiring.

We are hiring
Source: Kalibrr - Bank Mandiri

--

--