021: How Kiva.org deals with barnacles and loan bias

Service icons_podcastThe Kiva.org platform has to deal with many challenges. One of them is how to support the platform over time as it collects ‘barnacles’ or bugs that come from time and the other is how they avoid playing favorites on the platform. We talk with Sam Mankiewicz, the CTO of Kiva.org about he navigates these challenges.

Transcription

Episode 21

Speaker 1: This is, “Using the Whole Whale”, a podcast that brings you stories of data and technology in the non-profit world.

This is George Weiner, your host and the chief whaler of wholewhale.com. Thank you for joining us.

I want you to imagine that your website, your technology for your organization is kind of like a ship, you know, cruising through the ocean and, the captain of that ship is your Chief Technology Officer.

Now what happens is, you grow the ship with features, is that each new part of the boat that touches the water has the ability to gather what are called barnacles. These are these those little things that just sort of attach themselves to the side of the boat. Now, no matter how good your boat is, if you’re in the water, you’re getting barnacles.

Welcome to episode 21, where we are continuing our conversation with Sam Mankiewicz, the C.T.O. and captain of the good ship – kiva.org. And, I talk about barnacles because it is the perfect analogy for keeping in mind the true cost of a legacy platform. Now, each new feature that they add will inevitably need bug-fixes, updates, upgrades even as the platform moves forward. So, while we all love creating new features, this is what goes through the mind of the Captain when you’re brainstorming. We’re going to continue our conversation now and, hear how Sam approaches these features and, how they also they also measure success of some of their initiatives against their digital goals.

Speaker 1: So, we’re beginning to talk about your work as the leader of the prioritized features and, I’m, I, you know, I know you’re on a Sprint system or, “agile-ish” system, you know, two weak releases, curious, you have a platform that’s been around for awhile and, you know, I think what’s on CTO’s mind, more often than not, is, like, the thing that keeps you up on that is, if these things crash, if that data base falls out of sync, how do you balance then the existing dev. work versus the new shiny shit the team may want.

Speaker 2: Yeah. That’s a great question. If anyone knows the answer to that one, I would love to hear it as well. I think, let’s see, at the end of the day, it comes down to trade-offs, you know. Kiva’s at sufficiently large size, sufficiently large scale, sufficient level of complexity, that there, there’s never, you know, there’s no free lunch anymore. There’s no one change that will be positive with no costs or, no negatives. And so, it’s about trying to look at the places that are holding you back the most, look at the thing’s, the biggest problems and, you know, seeing what you’re willing to trade off against those.
Let me try and make that a little more concrete. I think, one of the things that we struggled with early on, was that in the face of really big press attention or other sorts of attention that we got, lot’s of people would come to the site and it would become responsive or, slow, or just unusable. My CEO would always, basically would call that a crash. If he couldn’t bring up the page in 15 seconds, he’d send me this text saying, “The site’s crashed.” You know, what’s going on?
And, that provokes a certain level of, you know, we’ve got to keep the site up, we’ve got to keep it available at all times. And a lot of the things that you do in order to increase the availability and redundancy can actually make it harder to change over time. So, you put in the kinds of fail over or, the kinds of redundancy that tends to entrench the current way of doing things and so, year’s later, month’s later, you come in and you want to change how that page works, or add some new technologies to the mix. One of the big cost’s is making that new technology not just work but, have the same level of up-time and the same level of robustness that you’re more tightly optimized solution, based on 2009’s technology choices that you’re used to having there. So, it’s a matter of trade offs. It’s sort of knowing where in the maturity life cycle, where in the life cycle of an organization, of a software system you’re standing and what sort of risks that you’re willing to take.
One of the things that we have found, and I’m sure lot’s of folks who are used to taking grants or, having really large customers that are used to a higher level of service is that, there is a difference when someone is paying you five, six, seven figures for a website, for a service, there’s a different quality level, a different level of availability and uptime that they’re willing to handle then say, a mass market, consumer kind of service. And, one of the challenges that we face, this year, is that as we try to bring on board, kind of open up a new program stream with customers at that level, we’ve been calling it management lending. Folks that want to make a lot of loans, not just 25 dollars at a time is that they have, some of the things that consumers were willing to overlook in the past, become kind of big deals for them. And so, the same product, same software, just a changing customer demographic has prompted us to have to make some changes to our process and have a higher level of Q/A basically before were able to roll out new features.
So, to kind of put it back at, it sort of depends on what your context is. And, I see the roles of the CTO to help, not just everyone understand what the trade-offs are but, as best as possible, also how explain how the decisions and the judgements come and why you’re choosing A over B.

And, it’s not because you’re ignorant of what the consequences might be but, at any given point in time, maybe it’s stability is more important to you than bleeding edge features. But hey, six months later, the coefficients in that equation are totally reversed and you’re going to make some change where actually, we want to push out bleeding edge stuff more quickly and so, we’re going to do something that’s more risky. And, it’s really hard to one-size-fits-all answer because it’s totally dependent on the context and lots of thing’s beyond just the pure technology.

Speaker 1: So, as a moment in time right now, your existing infrastructure work versus new shinny stuff, what percentage breakdown do you have?

Speaker 2: Yeah. I think we’re probably, at maybe a third of the work is towards infrastructure improvements, on average. And fifty-percent to two-thirds is on trying to work on new shinny stuff, as you say. And, frankly at our age too, shinny stuff can be new features from whole cloth, or it can be going back to something that we built two, three, four years ago and renovating that feature, if you will.
I think that’s a very important thing, as well. Over time, I forget where this comes from but, the barnacle theory, over time a product develops barnacles and, the less periodically you go back in there and scrape them off, you become weighted down by all this extra crap you have on a site, that sort of works, it doesn’t quite work, not a lot of people are using it but, there’s enough people using it you can’t get rid of it because they’re going to be vocal and they’re complaining and, as much as those barnacles weigh down the user experience portion of the site, they can the also weigh down the technical side of it, as well. Oh, we could get rid of that whole thing, except it’s still being used by the blah-blah-blah feature.
So, as much as possible, it’s great to be able to go back in and periodically reaffirm that features or functionality that you built years ago, it’s still doing that thing that it’s supposed to do and, to not be afraid to scrape the barnacles or to kill features that only a few people are using or that aren’t really holding their weight. Just because the software was written once, doesn’t mean that there’s zero maintenance cost associated with it. It’s not free.

Speaker 1: Every feature that rolls out the door can collect barnacles. You’ve said this before, ideal case scenario, you had this new unicorn feature come out and, ideally you what you can do is use that as an excuse to scrape barnacles on whatever the features software elements that it touches.

Speaker 2: Part of my job is to help see where it’s not like, oh, should we go work on something shiny and new or should we go fix up the old stuff but, to find the win-wins there. Where we can, oh products still work on something around here. Well, there’s some garbage in that area that we could clean up too. Let’s try to package those together. So that we are at the same time getting rid of the old stuff and rebuild it in a way that lays good groundwork for the shiny new extension that we have in mind, as well.
And, I think that feels squarely in the CTO’s hat because, it’s a combination of technical and non-technical. It’s that communication gap between the engineers and speaking code and the non-engineers and speaking, what aspects of a feature or spec. are hard versus easy.
And, it’s also strategic versus tactical. So, you want to serve the strategic purpose, of helping to, as productively as possible, renew your infrastructure. But, you also are, you know, the times when I’ve done that the best is when I’ve been a little bit tactical. Like alright, this is the next project that’s coming up in helping the team, the people involved with it to shape what it is. Hey, let’s expand the scope a little bit to include this thing. Let’s not take it all away. No, we aren’t going to rebuild all of that system. We’re going to kind of keep it in here because there’s something else about the road map, there’s something else coming up about the priorities where we can’t afford to spend twice as many months on it. But, you know, we can negotiate and we and argue about why there should be extra month to do this thing.

Speaker 1: If I gave you $25.00 to go make a loan, what kind of project would you look for?

Speaker 2: What sort of person are you interested in helping?

Speaker 1: That’s for you. This is a question for you.

Speaker 2: And so, I would probably turn that back around and try to see where . . . now we’re talking about a product feature that we’ve been working on. Where, with the minimum number of questions and the best kind of questions can we get you, the busy, undecided lender who just want’s to put their money in and doesn’t want to think about it that much. How can we help to go from the thousands of choices to a handful of choices that you might see on the kiva site and, thus be more likely to make that choice.

Frankly, the way in which I can make it more likely that you come back and make another loan or put more money in next month is if I can match the loan up to your interests, as best as possible. Just taking your money today and saying great, I’ll put it somewhere useful, isn’t going of create that same sort of dopamine response, that same sort of connection as giving a little more work to try to zero it in.
And so, there’s two paths we’re going down there, extract is a harsh word, seeing how we can coax that information out of lenders when they come to the site, and then two, another angle that we’re going down is community. We have a feature, a community feature on the site called lending teams that are incredibly active. People who have self identified with various affinity groups of various sorts. And, they talk about the loans. They talk about the ones they like and, they talk about the ones they don’t like and then they share, like, hey, quick, everyone go fund this one for XYZ reason and so rather than be a me kiva, telling you where to go, maybe we can connect you with a community team that is more than happy than happy to tell you where you should put your money. But, we still, from an organization perspective, from a platform perspective, we want to make sure there’s a diverse array of voices out there talking about what’s better than others. At the end of the day, we aspire as an organization to bring opportunity and, financial inclusion and, access to capital to everybody that might need it, not just kind of a narrow niche. Kiva has an umbrella vision, kind of a big picture vision. And so, while it’s great on an individual level, to zeroing you in on one borrower, we don’t necessarily want to have the platform, picking winners and losers.

Speaker 1: I think that’s kind of brilliant, though. Yeah.

Speaker 2: That’s the great thing about the non-profit space frankly, or sort of the differences of opinion, I see, this idea of, I’m going to pronounce it wrong – coopertition, where, even with your ostensible competitors, you’re still looking for ways in which you can collaborate and cooperate. And, rather than get too nailed down into, like, alright, are we focused on this kind of problem or that kind of problem? You know, we see the technology platform more as something that could help other services other programs. You know, it’s not the be all, end all, but, it’s a piece of it.

Speaker 1: And so you can kind of deal with the true question of impact, which is a tricky one, by saying we’re going to create a marketplace that is unbiased, were going to rely on the wisdom of crowds here, and you know the overall populous of our lenders. If it seems like they care about women’s education, then thats where the moneys going to go.
so as we get to this wrap up, I’m curious what keeps you up at night. what’s in the next six months?

Speaker 2: Ya. Holidays are big for us. Like most charities, December and the end of the year. There’s definitely some of that, making sure we’re ready for the christmas rush, and that the new stuff is battle tested and ready for December.
And I think, the one thing that I struggle with, being both the CTO, straddling that leadership and technology divide, as well as being a longtime member of Kiva is making sure that we have that mix between maintaining and investing in our core, and trying to make sure that the platform of software continues to serve the needs of users, and adding new features new functionality, you know, keeping up with the changing landscape in consumer products. Making sure that you have that investment balance right. If you fall behind in one side or the other, it can have really bad consequences, that will take a while and be expensive to recover from. And it’s something where you don’t know if you’ve gotten it right, until you look back 12-24 minutes later, and see how your decisions played out.
It can be tough as a technology leader of an organization, it can be tough to go sleep at night, knowing that you’ve made the right call, because you know your decisions aren’t actually going to get evaluated, until some point in the future.

Speaker 1: Yeah, I guess that would keep me up at night, a little bit.

Well, you know, thank you so much for taking the time. How do people find you on the internet?

Speaker 2: kiva.org K I V A dot O R G and, I think we probably have a little bit more money so, if you want to try it out for free kiva.org/free, so if you want to try it out for free.

Speaker 1: That’s free money waiting for you – kiva,org/free. Yeah, and are you on the Twitters?

Speaker 2: I am not.

Speaker 1: O.K., wow. If you want to find him, you’ll just have to go to his site and figure out how to get in touch and harass Sam. Thanks for talking to us.

Speaker 2: Yeah. Thank you, George.

Speaker 1: Kiva is such an amazing organization. The amount of money they’re able to manage and and loans to deliver access to capital to people that wouldn’t of otherwise had it is incredible.
I wasn’t sure where the interview was going to go. I’d just kind of scribbled down questions and thoughts just come to me and I was getting to something with regards to, is Kiva a marketplace or is there a kind of subtle sort of nudge factor. Do they have an internal hierarchy of, you know what, maybe we should give to this loan instead of this one so, let’s prioritize it in the algorithm. You know what, let’s give to this organization, let’s These things are really easy to do. I know because I’ve built systems where we’d nudge people towards a type of activity we knew was higher impact. But, I truly believe that Kiva is creating an open marketplace. It’s up to the lender to decide what really matters to them. And, you saw how carefully, you know Sam was making sure saying, you know, we really don’t play favorites. I think that’s really interesting as a model to really be unbiased and present what we have to you and let the user decide.

I hope you enjoyed today’s cast and as always, really resources right where you’d expect to find them, which is at whole whale dot com slash podcast and this episode. Thanks as always for joining us.

This has been, “Using the Whole Whale”. For more resources on today’s show, please visit wholewhale.com/podcast/ and consider following us on Twitter @wholewhale and, thanks for joining us.