THANK YOU FOR SUBSCRIBING
Adopting an Agile Development Environment to Drive Innovation
By Robert Crim, Director-Engineering, Funding Circle
In general, we treat all of our automation tools in the same way we do with any code. There are code reviews, version control and unit tests. It's a first class citizen. Because there is nothing sacred about our production environment, it's easy for us to test changes in staging environments that work the same way. This lets us make changes faster and with much more confidence.
Also, banks have lots of information but can’t use it effectively to drive business. Data is both difficult to access and needed by more applications. It’s really important to have discipline around how data flows. The customer facing applications that back Funding Circle follow a microservice architecture, which basically means we have lots of small applications and databases. We're pretty strict about making sure data only moves one way. That means we don't have ETL (extract, transfer, load) scripts that "reach down" into our applications to pull data into a warehouse. That would mean an application upstream would need to know details about a database schema it's not responsible for, and it would break when the application changes.
We prefer to use event streams to drive the data we collect. Rather than reports processed in batch fashion, we like to make it cheap for our applications to publish information in response to business events we're interested in. That means our application platform has little to no awareness of how data is collected and allows us to do real-time computation for business intelligence.
The customer facing applications that back Funding Circle follow a microservice architecture, which basically means we have lots of small applications and databases
While not novel, it's worth reiterating that data used for application persistence and business intelligence need to be modeled differently. When talking about data moving in one-way only, I mean how data moves from applications to the data warehouse.
See Also: Top Agile Solution Companies
What banks need to do to foster innovation and growth is to adopt an agile development methodology and give some ownership to the technology groups to drive innovation. By ensuring that technology is seen as a means to truly enable the business rather than just a service unit, banks can start to attract to types of people that can have a huge impact.
One way to do this is to leverage Internet of Things. For banks this means opportunity for innovation. The way international banking is modeled can be reworked to better to support demand from both retail and business consumers for more competitive products. As marketplaces like Funding Circle, and services like Apple Pay, Venmo, even new currencies like Bitcoin become more commonplace, how money is moved between intuitions and customers will be strained. The internet of things will be a driver of demand for this change, but also serve a solution to change some of the current assumptions.
While managing IT organization and steering technology for our enterprise, one unique lesson that we have learnt is: You can't just will perfection; things will break no matter how much ceremony you introduce. Not everything is super-mission-critical. Isolate the things that are as much as possible, and make everything else very easy to change. More iteration will happen, things will generally move faster, and any issues will be fixed quickly with less of a blame culture. Be as transparent as possible around the current capability and problems with current systems or teams to help foster a culture of continuous improvement.
It's critical to aggressively combat complexity. Things slow down when people can't reason about how things work. When someone says, "let's test this thing for a few days before going live," I want to push back and ask why the passage of time will itself will give more information. If we can strip things down enough, we can have a more analytical understanding that leads to the confidence to move forward.