OCTOBER 27, 2020
11 min read
One, every single one of our projects was a truly unique experience. Be it the need to reduce the weight of 120+ gig verification networks to fit inside a mobile app, or inventing innovative user interface mechanisms capable of visualizing data more efficiently or designing the back end and customer data security in a way that fits the ever-shifting regulatory requirements - the experience always unpacked a series of peculiar puzzles for us to solve.
Two, all of the challenges we were facing can be categorized into 6 primary groups which are always the same:
- Understanding business logic,
- assembling a pitch-perfect team,
- choosing an appropriate tech stack,
- exploring product design and architecture,
- managing security risks,
- and overcoming the challenges brought upon by legal and regulations.
Let’s have a deeper look at these challenges and ways we’ve come up to overcome them over more than a decade of hands-on experience.
Business logic: understanding mission, vision, and audience for your product
Every single product development journey always begins at square one – discovering a market gap and identifying a solution you can implement within your application to fill it.
This stage is quintessential to the overall success of the project, but many people overlook its application on consecutive stages. If you are planning to include a feature into your product – any feature – your justification needs to be better than it “looks and feels cool”, or “my competitors have it”.
Think about the following questions before planning out a product or feature:
- Is there an industry or user experience gap that needs filling? In simpler words, will anyone benefit from the feature?
- How many users are affected by the lack of functionality I develop? Does it even make sense to start developing for the said group?
- What are the actual benefits (features, not interface and display) for the user? What will they get out of your product? Why should they care enough to install your product?
- Are there any alternatives? What are they? How are they implemented?
- What is your innovation (not functionality or performance, but an actually new painkiller)?
- How technically feasible is your idea? What would you need to implement it? How will the implementation affect the system as a whole or any individual aspects of legacy code (if any)?
Start with identifying your sector from fintech’s mighty eight: finance, payment processing, mobile wallets, card issuing, security services, remittance, mobile banking, or networking.
Research your market. Check growth statistics for each sector to discover business potential. For instance, the Financial Banking sector has recorded a whopping 100% marketing-driven growth while investment apps show a slightly worse 60% rise.
After settling on your sector, do your best to isolate the factors that drive its success. Identify which aspects enhance growth and capitalize on them. Think about ways of extending your own business using a mobile app or a SaaS platform. Which will benefit you more?
Then stop for a moment to think about your capabilities. Yes, Mobile Wallet Apps are in high demand and they can bring in a lot of profit, but developing one requires immense capital investments. The technical and regulatory requirements are critically hight adding salt to injury. Hence, start with conducting a feasible study of whether the idea holds up or not. At least on the paper.
This initial stage will help you better choose a viable sector where the scope of growing matches your own scope of development. Alternatively, you can consult a Fintech App Development Company for their take on the industry, insight, and consulting.
Stacking your team with perfect talent
Most businesses face the age-old challenge when trying to build an effective fintech development team from the ground up: people with more technical backgrounds are not as well-versed in the business aspect and vice versa.
Well, here’s some food for thought.
Should one focus on looking for talent with a financial background or will their experience slow down the technological innovation turning your product into the same old “bank with an app” just because it is safer that way?
This challenge of finding a fitting team only grows larger given that:
- A new employee does not generate value for your company. They need to be trained and educated, introduced to the team, and successfully onboarded. This process is excruciatingly time-consuming.
- If said employee fails during the probation period, you’ve essentially wasted time and resources delaying the project even further.
- Lastly, if supervised poorly, new people may bring down the overall morale and productivity of the existing team. The pressure on HR and management could not be higher.
Sadly, there are no simple solutions to the process of finding reliable talent (other than, maybe, outsourcing to a vendor with proven experience).
But there are effective methodologies you can implement in your business to improve recruitment and onboarding processes.
- Share your processes and improve involvement: You can’t rely on simple gatherings or dedicated Slack channels for people to communicate and share knowledge. Take an example from Portfolio Pathway’s CTO, Ryan Brucker. He ensured that their company has a business analyst who works with internal teams to help them better understand the processes and importance of introducing new features. This greatly improves visibility and performance by proxy.
- Create wikis. This may sound overly simplistic, but well-documented processes really help convey everything from critical mission goals to corporate culture in a clear way. Additionally, this step helps ensure that everyone in your company is on the same page both figuratively and literally.
- Put developers in other people’s shoes: From users to managers to analysts, swapping roles can increase the understanding of why we write code and who we write it for.
Relying on the perfect tech flavor
What is a tech stack? In simple words, it is the combination of technologies (frameworks, programming languages, APIs, etc.) that one uses to develop a project. A tech stack is usually divided between two core elements:
- The client-side: This is the part of the project users will interact with. Everything from interfaces to navigation and UX goes here.
- The server-side: This is the part that ensures your software works as intended though it is not visible to the user. Everything that’s taking place between the database and the server goes here.
Both should be complimentary of one another.
But how do you settle on the perfect tool for the job?
Let’s take a look at Python. It is the most widespread architectural language among fintech development projects, finance management firms, and banks for a reason. Or several reasons, to be precise.
- Python is simple. Let’s face it, developing a new fintech product is tough as nails. So, obviously, given the chance to simplify development with a language that is easy to both code and deploy is a straw every developer grabs on to. Simplicity aside, if you need 10 lines of code to do the same thing Java does in 20, you will have a 50% higher chance of avoiding mistakes. Fewer coding eros mean less time in QA and debugging stages.
- Python is fast. Speaking of fewer lines of code, Python enhances tome-to-market delivery as it is well, simpler. Onboarding and training takes less time. Developers understand each other’s code better. And in today’s day and age when your employee’s time is one of the most expensive resources, the lack of said speed boost may be the straw to break the camel’s back.
- Python has vast open-source library support. In addition to being a quick, dynamically typed language, Python has great open-source community support. It offers access to a vast variety of frameworks, libraries and tools that enhance the development process even further.
But do these factors make Python the perfect choice for your project?
If you are looking for speed and simplicity, perhaps it is indeed the best bet. But if you rely on legacy Java code, switching may bring more challenges than benefits.
This is but a single example of why technology can or can not work. There are dozens of these you should consider when picking the tech stack.
- Explore your project, find out what you need to be developed and how you need it done.
- Compare the pros and cons of technologies through the prism of your requirements.
- Take a look at the market to make sure it offers enough skilled and well-versed talent.
Product design and architecture
With the tech stack settled and the team onboard with mission and vision, designing the app is the next logical step.
Think about it: It takes a thorough understanding of what your audience wants and how they want it to develop a competitive fintech solution people will fall in love with from first glance (tap?).
Well, if put simply, the design is more than a pretty interface or a set of user-friendly features. Those are necessary elements, sure, but they are highly subjective. You will not be able to match everyone’s preferences. Nor should you even try.
Take something as simple as a color scheme as an example. Everyone has their favorite color, right?
How do you know what will resonate with your audience?
Or how do you counter the fact that between 62% and 90% of snap judgments regarding products are based on their color alone?
Yes, you don’t want to lose the audience just because your color of choice doesn’t tickle their fancy. But hey, you don’t have to!
Here’s the deal: color-based decisions don’t have anything to do with personal preferences. Instead, people often rely on color to convey a certain emotion. It’s just a handy way or brain sorts stuff into categories. Use this “brain hack” to your advantage!
If your team understands the mission and vision of the project, they will be able to find the balance between trust-enforcing blue and growth-inspiring green or classy purple and neutral grey.
Again, the choice of the color palette is but a single example of approaching design through understanding the project and the audience.
Keep your users and their tasks, struggles, and challenges in mind when approaching the wireframing process.
In order to create a design that resonates with one’s audience, a product owner is to focus on three core elements:
The best way of nailing all three comes with answering three simple questions.
- What do the people who are to use the app think about it? Yes, making decisions based on actual feedback from a focus group is a much better approach than relying on gut instinct. In fact, trusting your own judgment is probably the worst thing you can do as your vision is clouded with too much product-related information and care for the project’s overall success.
- How will the people who are to use the app access it? Everything from platform preferences (iOS VS Android) to the way you communicate through the app’s interface or built-in notification mechanisms is to be decided during the design stage. Think of a typical buyer’s journey on an e-commerce platform, and treat every stage of your user’s journey the same way. Offer delight on every screen from the login to balance check, to money transfer, and beyond.
- What’s going to change? Let’s be real. Applications change and shift throughout the development cycle. New features are introduced, old are removed, and so on and so forth. Define your objectives and priorities for a fixed period of time like a year and build the design around them.
Not that every piece of the puzzle is in place, it is time to set the development process in motion based on the bigger picture - the architecture of your project.
This stage brings a series of decision-making challenges such as choosing card and payment processors, partnering platforms, a KYC services vendor, etc.
On the one side, there’s a lot of SaaS solutions that offer a complex package for KYC, card, and payment processing. They are relatively accessible and capable of dramatically enhancing time-to-market delivery.
On the other, these solutions often lack the flexibility needed to match the ever-changing regulatory requirements. In the worst-case scenario, they will force you into an endless loop of sorting out legacy code issues. You don’t want to be running your project in the shoes of Sisyphus, do you?
If you feel like the benefits of a pre-made solution or API outweigh the challenges in your particular case, it is fine. But keep in mind to ask for access to their product’s codebase, documentation, and a list of supported APIs.
If you choose to make a custom solution that fits your project like a glove (it is, after all, made from the ground up for it), be prepared to invest more upfront and to spend much more time in the development stage.
In either case, the following tips will help you design a solid architecture:
- Match compliance requirements: All fintech products are strictly regulated. This is done in order to protect customers and to prevent potential fraud or money washing schemes. We can’t say that the cause isn’t just, but the way security and governance is realized is overly convoluted and complicated to say the least. You will need to study the requirements and regulations specific to your country and international law. We suggest asking a legal or fintech consulting firm for help at this stage.
- Think about cybersecurity: Requirements regarding fintech security are typically written in a vague, uninformative manner. What on Earth is a secure server you must have? How safe should it be? And safe from what? These are the questions you will need to answer on the architecture design stage of your project. And to put your thoughts in the right direction here’s a short list of bare-bones security requirements you should pay attention to:
- Adjust your budget to the cost of third-party integrations: Building everything from scratch is barely an option even if you choose to develop the lion’s share of the application in-house. You will need to rely on at least some third-party vendors and technology providers.
- Investigate the APIs you will be using throughout development: Explore API documentation to see the full list of integrations they themselves rely on in order to decrease the risk of security breaches and enhance your chances of complying with regulators. Cherry-pick the best solutions to allow into your project.
- Review functionality and eradicate the excess: Yes, there’s more than one way to skin a cat, but do you need several ways of accessing the same feature in your project? Or, perhaps, several vendors offer the same or similar functionality, and relying on two instead of one would be a pointless waste of budget?
Yes, developing a fintech application from scratch is nothing short of a Herculean feat. That being said, a proper mindset, dedication, and a certain level of pessimism (you’ll need it to always prepare for worst-case scenarios), paired with a vendor with a proven track record and industry experience will get you through.
Don’t forget the core principles of successful fintech application development while you are at it:
- Know your audience
- Design with user intent in mind
- Rely on data rather than gut
- Expect useable, applicable results rather than unachievable perfection
Good luck and godspeed!