Project Overview: Specialty Lending Systems Development, Deployment and Support
Zaiten Software Services designed, developed, tested, deployed, supported and maintains a range of specialty lending products for a fintech firm that has a banking charter. For the purposes of this article we refer to them as CleverLend, not their real name.
We developed a range of unique lending systems for CleverLend, which enabled them to rapidly take market share in a large niche that was relatively untapped. Our role was to analyze the client’s requirements in depth, design and develop and deploy the systems, and constantly upgrade them with new features and functionality.
Industry:
Banking / Fintech
Technologies:
Back-end:
- Micro services
- Java
- Netflix
- Eureka
- Netflix Hystrix
- Netflix Ribbon
- Netflix Zuul
- Plaid Java
- PrimeNG
- Quartz, Scheduler
- reCAPTCHA V2
- Spring Boot
- Spring Cloud
- Vantiv eCommerce Java SDK
Front-end:
- Angular
- Database: AWS PostgresSQL
- Cloud: AWS
3rd party integrations
Sendgrid
SendGrid, the world’s first cloud based email platform, now sends nearly 30 billion emails per month for businesses around the globe. Created by developers who set out to build a better way to send email.
Functionality: Send email
Twilio
Twilio: Communication APIs for SMS, Voice, Video
Functionality: Send SMS
Plaid
Plaid helps all companies build fintech solutions by making it easy, safe and reliable for people to connect their financial data to apps and services.
Functionality: Account Verification
Factor-trust
FactorTrust is a consumer reporting agency that provides consumer reports to third parties for the purpose of credit risk assessment and/or other purposes as permitted by law.
Functionality: Provides credit report information
iContact
iContact was built to take the pain out of email marketing
Functionality: Marketing
Worldpay/Vantiv
Online Payments by Worldpay is a complete online payments service that gives you the ability to take payments directly from your website or app..
Functionality: Store debit cards and process transactions
Slack
Slack is a new way to communicate with your team. It’s faster, better organized, and more secure than email
Functionality: Error Notification and monitor service status
Bit.ly
A URL shortener built with powerful tools to help you grow and protect your brand.
Functionality: URL Shortening
Docmosis
A URL shortener built with powerful tools to help you grow and protect your brand.
Functionality: Generate report template
Alloy
Alloy is the command center for identity that helps banks and fintech companies automate their decisions, approve more good customers and outmaneuver fraud.
Functionality: Identity verification
Facebook Pixel API
The Facebook Pixel is the main tool you can use to track events on a website.
Functionality: Marketing
Saleforce
Salesforce is the customer relationship management (CRM) platform.
Functionality: Marketing
Jumio
End-to-End ID & Identity Verification and AML Solutions.
Functionality: KYC Verification
Sentilink
Identity Verification – SentiLink lets you confidently protect your business against fraud without impacting growth.
Functionality: KYC Verification
Middesk
Middesk | Business Verification & Risk Assessment.
Functionality: KYC Verification – Business Verification & Risk Assessment
Trellis
Trellis is a full-service digital agency specializing in eCommerce. Tellis focus on data-driven strategies to drive traffic, engagement, and conversion for industry-leading B2C and B2B brands.
Functionality: Marketing
Referral Rock
Referral Rock | Customer Referral Software.
Functionality: Refer a friend
USPS
The USPS Web Tools® API library gives ecommerce website shopping carts and shipping software access to valuable USPS® data—free of charge! You can check shipping rates, track packages, and schedule a package pickup all through USPS Web Tools.
Functionality: Map – Verify an Address
Google API
Google Map API – A tool to Verify an Address and calculate the distance.
Functionality: Map – Verify an Address
Challenges
Evolution of Requirements:
Like many of our clients, CleverLend had a constantly evolving sense of customer needs. This generated changes to product requirements at a sometimes very rapid pace. Despite use of Agile development methodology and sprint durations of a few weeks, requirements often changed before the current sprint was completed.
To handle this, several tactics were employed
- Encourage the client to provide several sprints of requirements in advance. Doing this creates a longer term perspective which can surface some requirements sooner and enable the development team to design more flexibly for the future. This didn’t really work out too well, as the client was overloaded with the myriad details required for consistency and compliance needs, and as a result generally did not have time to look several sprints ahead.
- Set hard dates after which no changes are accepted to the current sprint. In theory once a sprint starts no changes are allowed, but in practice we often found that new requirements were demanded mid-sprint. To avoid getting into a never-ending sprint situation, we were able to agree on a hybrid approach that defined hard dates, mid-sprint, after which no changes would be accepted.
- Provide realistic impact assessment. Providing the client with estimates of the additional delay that a new requirement would incur would sometimes cause the client to decide to defer that requirement until a subsequent sprint or release.
- Plan for the unexpected. By setting aside a small percentage of the senior team members’ time to be used for unexpected tasks, like redesign for new requirements, it became easier to take unplanned requirements in stride without major impact to delivery dates.
- Provide proactive feedback. Our Business Analysts had the task of gaining a deep understanding of client requirements and translating that into detailed engineering specifications. In the process of doing this they sometimes found opportunities to repair inconsistencies or improve functionality. By encouraging the BA’s to proactively feed back potential improvements to the client we were able to identify requirements changes up front that may have otherwise occurred mid-sprint.
TimeZone Management
The client was based in the USA and the dev team in Vietnam. This caused a 12 to 13 hour timezone difference. This had the advantage of new work having been completed by the time the client started work each day. But it also had some challenges
- Technical Support. We provided 24×7 tech support for the client. This was enabled by paying a core support team a small bonus to be available evenings and weekends as needed.
- Communication. To combat the timezone difference we scheduled daily calls every morning (US time) between VN and USA team members. We also had ad hoc calls as needed, with the VN team being reachable 24×7 for urgent matters. This was in addition to the use of Jira, Skype, Teams, email, and other communication tools as needed. Our senior team members in VN have strong English skills. We also invited the client’s senior team to visit the VN site, during which they got to know the entire VN team very well. As a result of all of the above, the communication between teams was very strong.
Results
- The Zaiten team developed, maintained and extended multiple product lines for CleverLend over a period of several years.
- We immediately reduced cost for the client by approximately 40%, and were able to maintain and improve that cost advantage over the course of the multi-year engagement.
- By being able to scale very rapidly Zaiten enabled the client to very quickly build out their product lines, generate income to sustain their business, and experiment with new features and functionality with little advance notice.
- Due to our Continuous Improvement initiatives we were able to sustain consistent R&D productivity improvements, and steadily reduce defect density for the client.
Conclusion
CleverLend was a typical client for Zaiten. They had almost no R&D capabilities in house when we started working with them, and we were able to help them focus on *what* services and products they wanted to offer their customers while we figured out *how* to implement their vision. And, as we do for all clients, we were able to continuously improve the quality of their software and the productivity of the R&D team.