Las Vegas 2022

Into the Open: OpenWorx and the Future of Open @ Discover

In order to accelerate our path through Runway, Discover's technology transformation initiative, we needed to create scalable practices around component Reuse, InnerSource product delivery models, and safe consumption of and contributions to Open Source software. In order to do that, we created OpenWorx - a set of practices to enable our engineers and developers to work smarter, deliver value faster, and innovate at scale. In this talk, we will share how a small team of engineers is engaging the community to create an unprecedented movement of knowledge and efficiency uplift.

AC

Anthony Cox

Expert Application Engineer, Discover Financial Services

PK

Priya Krishnamoorthy

Expert Application Engineer, Discover Financial Services

Transcript

00:00:49

Welcome. We're glad you're all here. That was the video that we used to launch the Open Works program at Discover earlier this year. Before we get into the program, just oopsie just a little bit about us and the team here at Discover. My name's Tony Cox. I've been an engineer with Discover in a variety of roles for almost 20 years. Uh, when I'm not working, I like fishing, playing pool, jamming a Metallica and harassing my teenage daughters. So along those lines, pro tip for all your parents out there, when your teenage daughter comes up to you and says, dad, are you really gonna say that you're jamming to Metallica? Just turn to them and say, of course not, sweetheart. I'm gonna say it just like you would bruh. No Cap. Metallica is gas

00:01:44

<laugh>.

00:01:45

They will beg you to return to the way that you were speaking before. <laugh>, it is my honor to be on the stage today with literally a living legend at Discover Financial Services. The one only Mrs. Priya Krista Mothy.

00:01:59

Thank you Tony. Hi, I am Priya. I'm an expert application engineer at Discover Financial Services. I have been with Discover for past 20 years, and I'm currently at the technology capabilities and innovation area. While I'm not working, I like to, uh, sing. I love to camp outdoors and I watch my son's musical performances and I'm gonna watch Katy Perry tonight for sure. <laugh>. So I would like to, it's my privilege to acknowledge and thank Roland Crowin and Andy Smith, who are the founders and leaders of Open Books. Let me talk a little bit about the great company I work for Discover Financial Services. I'm sure you're all very familiar with our award-winning Discover credit card services and our personal bank offerings. What you may be surprised to learn is that we are more than a financial services company. We are a leader in technology space featuring some of the best engineering talent. We work in small at autonomous product teams, delivering customer impacting solutions, and we are focused on innovation and learning that's said about Discover. Tony, why are we here on the stage today?

00:03:11

So why are we here? Couple different reasons. One, we've been doing a lot of the same things that all of you have been doing over the past number of years. We've made the shift from monoliths over to distributed containerized microservices. We've moved away from a waterfall project management, uh, model into small autonomous teams that have a product mindset and follow our agile ways of working. And we made a huge technology shift from our on-premise data centers to a hybrid model of cloud technologies that we keep both on-prem and leverage in public cloud spaces. As we've made these changes and these shifts, we realized that there are different ways that we need to work in order to stay ahead and get better. A few years ago, discover launched a, uh, umbrella program to help with this transformation called Runway. Now, there was a presentation that was done by our own senior vice president, angel Diaz here at DOES last year.

00:04:12

And I strongly encourage you, all of you to take a look at that, to see how Discover overall organized ourselves to make this transformation. But as part of the umbrella program, we realized a number of things that we need to change. One, we need to move from siloed work in, in, or work done in silos to more community driven development. We also need to reduce the cognitive load on our developers and start ending questions like, where the heck is that? Or How the heck was I supposed to know that? And make more of our processes and information more easily discoverable? Now, a quick word on discover's PR in legal department. They were not impressed with the original words that I chose for this slide. Now, I can assure you that your developers are saying to themselves things like, what the heck is that? Or Where the heck is that?

00:05:12

But they're probably using a different word that might also end in ck that's probably more closely aligned to my original phrasing that they didn't like, but that I can't disclose to you here today. Day <laugh>. Alright. We've also shifted to leveraging and using much more open source technology. That also means that we're no longer proprietarily developing what we now consider to be commodity capabilities. So as we, um, move into these new changes, we have to look at new ways of working, and that's what Open Works was created for, to address that exact program. We're not just offering products and services to our engineering community, we're also trying to change the culture to go from a siloed mindset and just doing product delivery to more of a community mindset takes a lot of work and it takes a lot of effort and it really is quite a big cultural change. So with that sort of groundwork for why we did Open Works, Priya, you wanna cover some of the core tenets and pillars of the program.

00:06:29

Of course, now that we know how, uh, open source and open ways of working are critical to our business strategy, let me share with you what Open Works is and how it'll enable us to work smarter and innovate at scale. So Open Works is a program fostering principles of open development models at Discover around component reuse, consumption and contribution of inner source and open source. And all this is grounded by our three Cs contribution community and consumption. So, and we just support one common theme to reduce the cognitive load on all our developers to be able to work smarter and build only what matters. So these open models of working have transformed the industry and it'll help us to achieve our runway, uh, goals of being faster to market.

00:07:20

Today we'll be sharing a bit more about the four pillars of Open Works and designed to help us build better communities and experiences and more important, make our engineer's life easier. So these pillars are reuse, hub and reuse catalog, the one stop for our reusable assets at Discover with codes and PA code and patterns. The next one is I source where we, you can find all the internal I source projects and their contribution guidelines. The third is Sandbox. This is where we incubate innovation and the last one, we call it opo, open Source Project Office, where these practices are defined. So this is Open Works launched at Discover six months ago. Now, with that overview, uh, let's, it's time to dive in a bit deeper into each of those pillars of Open works, starting with the reuse hub and reuse catalog. Tony, take it away.

00:08:15

Thanks, Bria. Duplicate work. We wanna eliminate it. We still have value streams that operate in silos. They're creating common solutions for common problems that they have. And there are other people solving the same problem in another silo and they don't know about each other. We've seen multiple instances of repeated code patterns, uh, tutorials, solutions, et cetera, across all of our silos. So one, we wanna reduce that extra effort. It is essentially waste. It's just to have multiple people solve the same problem twice, solve it once. Second, we wanted to reduce the cognitive load on our developers. There's two ways that we wanna do that. One, don't spend brain cycles solving that problem that somebody else has already solved. So we need to elevate those. And two, we wanna make you not have to search hard. We wanna make those solutions easy for you to find and easy for you to discover and not waste time with that.

00:09:12

So primary goals of the we Use Hub are to accelerate teams. Again, reuse solutions, don't waste cycles. Get faster to market. Second, promote best practices. Once we have solid solutions that are reusable, the more right, those people will reuse them, right? They, they inherit those best practices into their application stack. Second, because we're now doing more community driven development and sharing solutions across those silos, that's also gonna promote more community development. And we all know we work better together than by ourselves. Second, this is gonna drive consistency. The more those common solutions are used, the more consistent our technology environment becomes and that provides better continuity for our customer experiences across all of our business channels. So one of the keys to making this happen is discoverability. And that is where our reuse catalog comes in. The reuse catalog is our centralized, searchable repository for all of the assets that have been tagged as reusable at Discover.

00:10:16

Now, that was a huge step along our journey. We have all this information, but it's in all these repositories and across all these little documents, schemes and teams files, and all over the place to get it all in one spot where everybody can find it and it's searchable for a particular thing they're interested in. Now, as you can see, we res we support a large variety of reasonable asset types. Now, there are some that we care about more than others, right? Really we wanna see more code and we wanna see more solutions. We wanna see more standards that people can leverage and use. However, we don't wanna stifle right our community's commitment to contributing back to the reuse catalog. So we go ahead and let them contribute whatever they want. 'cause we rely heavily on them to build this out. We wouldn't have gotten as far as we were today or as we are today without that community continuously submitting new things to our catalog for other people to see and use. Again, to truly maximize reuse, you need to have that community driven mindset and to drive that community driven mindset. The Open Works team has made great strides in promoting some of our open ways of working, and Priya's gonna go over those now.

00:11:29

Thanks Tony. So about Intersource practice, intersource is when a project team opens their product, uh, to external contributions within the company. So the community and the product team builds the features together. So Insource helps to, um, drive visibility for your product and it also, uh, solves the resource bottlenecks and it helps with capacity. Um, so Intersource also helps you to build a community around your product. So at Discover we have created a framework around intersource. Uh, we have created guidelines around intersource principles, contribution guidelines, uh, roles and responsibilities. And we also offer Intersource training by roles. Uh, we also have a catalog of Intersource projects, uh, so the engineers can, uh, contribute to that. So I'm proud to say there are some products that Discover, which have evolved from intersource and the features are being built by the community and the core product team working together.

00:12:29

So that's about insource. The next one is Sandbox. So innovation starts with all of us here. So Sandbox is a committee led, not product supported, but it has the potential to evolve into a supported product one day. So it's basically an experimentation environment, a playground. Uh, so this is where when an engineer has a great idea or a project, they bring it in and register with the Sandbox community and they, uh, other engineers contribute to that who are interested in that. So, and the product evolves. So our end goal with Sandbox is to connect these, uh, experimentation projects to our, uh, to sponsor surita clear product ownership. So now we are the final pillar of Open Works. And Tony, can you explain what a service p o

00:13:17

Sure, we all know how powerful open source is and what it's done to transform our industry, but order to leverage open source, you have to use it properly. And that means you need to give teams some guidance. Teams who wanna bring in open source software into our ecosystem need to know a lot about license types and what the ramifications of using open source software under those license types, right means for them as a developer. Second, they need access to be able to get licensed waivers to appropriately use it. Third, they need to know what to consume. There may be multiple open source projects that offer a similar set of capabilities. We need to provide some guidance and an opinionated view on which ones we want them to use. We also need to make some really strategic decisions about how we're gonna keep up with those open source projects and how we're gonna keep up with things like vulnerability management within them so that we can tell our developers and our engineers which of those open source products and what versions we want them to use.

00:14:15

Finally, and maybe most importantly, one of the biggest things that we're trying to exercise is this whole mindset of upstream First. Meaning that when you consume an open source project and you bring it in-house, if you're gonna make modifications to that, contribute that back up to the upstream, make that available to the rest of the open source community, they open it up to you and you're leveraging it, taking advantage of it. When you make improvements to it, make sure you give that back to the community. That's a muscle we're really starting to flex and it's really starting to grow. We've already given and contributed back to six different open source communities at Discover so far with many more coming on the way. Some of those contributions include RabbitMQ, backstage IO and Drupal in our payments area. Now, if you're thinking about starting up your own open source project office, I'd highly recommend that you check out open group.org.

00:15:10

It's a great resource for you to find out some of the processes and procedures that you might wanna put in place, and there's a large community supporting it to go ahead and provide you guidance along your journey. So there's the quick update of the four pillars, the reuse hub and catalog, the centralized searchable repository where we keep everything for our discoverers to find and consume the Inner Source open way of working where teams can accelerate their development and their velocity by co-opting that development initiative with other teams. Our sandbox, our community-driven idea incubator, where the great ideas that people have come to life. And finally, the Open Source project office where we enable our engineers to unleash some of the most powerful tools that are available to us in our industry. With that said, as we started off this open source program, it's only been six months and we already started to see some really good results. So Priya, do you wanna go over those

00:16:10

For sure. So as any other initiative, we want to assess the impact of Open Works and make sure that the outcomes are valuable to our customers. So we have 500 plus reusable assets in our catalog. Um, everything is searchable and discoverable, and as you saw, there are many different asset types. We are focused on improving our developer experience. We have created common developer journeys. Um, we have via Golden Paths. So we have three Golden Paths, which are been launched a week ago. We'll be covering the next slide about educating our communities. Uh, we have 50 plus learning modules and learning journeys around open source, inner source, um, external training, internal, as well as for reuse. So we have 50, uh, product teams who have taken our, gone through our reuse, uh, learning as part of their sprints. So it is great. We have launched open books and we have a catalog of resources. So how do we, uh, raise awareness across the organization? So we, uh, this year we had 50 plus events around Masterclasses, lunch and Learns, listen and act sessions, uh, around, uh, all the open works, uh, principles and practices. And we have weekly newsletters which are delivered to our inbox, uh, around reuse content,

00:17:31

Talking about open source culture. Um, as we said before, like we, we have contributed to six external open source projects and we also encourage community community based development. We have three internal inner source projects contributed by our Discover engineers, and we also have Pro two three projects which matured from sandbox to graduation status, which means with a clear product ownership for those. So even though we have had great impact, we know it's not all perfect. Before we go over the, some of the challenges we are facing, uh, journey's gonna walk us through the next evolution of Open Books.

00:18:06

So the next evolution of Open Works is our initiative called Golden Paths. We just launched it a week ago. A Golden Path is an opinionated tutorial style guide to help our engineers walk through some of the more complex processes that they might need to go through in order to get something done at Discover. That's something done. Could be standing up a website, creating an a p i, creating a backend data flow, or registering a new system or component. We're trying to put all the information they need all in one place so we can end the, where the is that, or how the heck am I supposed to know that I'm supposed to do that? Questions that are being said today.

00:18:47

The really great thing about the Golden Paths program is that we're doing it using all of the Open Works paradigms. First of all, we're borrowing it from open source. Golden Paths is not a Discover idea. Golden Paths is a, is a brain child of the Spotify engineers who created the product Backstage io, and they use it to support the Golden paths for their own developers. So we're borrowing that idea and we're hoping that we're gonna bring in Backstage as one of our open source products to help support the Golden Paths initiative. And while we're doing all of that, we're also inner sourcing this. So this is not going to be us riding Golden paths for our engineers. It's gonna be our engineers contributing what they want, how they want it presented, and what they wanna see to make their lives easier and accelerate their time to market.

00:19:37

So as we pick up momentum with our Golden Paths, the next step in that is not just having the information, but then closely working with other systems teams to build systems integration and automation in order to make those golden paths for some of these common tasks, easy buttons where they submit it and all the backend orchestration happens. They're registered in all the places they need to be registered, they get all the constructs they need to get started, they get all of the things they need to get moving and moving quickly. So we're really looking forward to see where that goes. So now we're done with the Lollipop and Unicorn show. We launched a great program. We've got some great tools, we've had some great success, but let's be honest, lollipops get sticky and unicorns still poop. It's not all perfect. So let's take a look at some of the challenges, opportunities that we still have with our Open Works program.

00:20:39

So every challenge is an opportunity for the greater success of the Open Works program. So as there are more and more contributions to our content, uh, the biggest challenge is the quality of the content. If the consumers are to trust the catalog and they wanna use everything, then we need to provide best in class assets. So we are working on an approval process, uh, involving experts from different, uh, technology areas to make sure these assets are secure, um, architecturally directionally approved, and they meet the well-documented standards. So we are working towards that

00:21:12

Duplications and silos still there. We still have a ways to go. Uh, we still need to find those duplicative efforts. We need to raise awareness and we need to make sure that we're bringing those things and elevating those, bringing those teams together to do more collaborative solutioning.

00:21:28

Yeah, about reuse mindset. The world will be definitely a better place if we learn to write less and reuse code more. It's a, it's a mindset and it's very hard. So we offer coaching on consumption of reusable assets in the catalog before you develop anything new. We also provide guidance on contribution. Uh, are you developing with good, uh, interfaces, good documentation, ensure core principles are addressed? And these are all part of our technical training we offer as part of our dojos

00:21:58

Community engagement. This is the hard one. It's the one that we hear about from everybody. How do you get somebody to come out of their day job that they have delivering features for their, for their value stream and make them think, oh, I should contribute it back to the community instead of getting back on with their day job and delivering more value and features for their value stream. And you can't even be mad at them, right? You can't even get mad. You're, you're, you're delivering value, you're generating revenue, but I want you to like stop or slow that down and like contribute that back to the community. That's a real hard sell sometimes. So you have to show value and you have to keep engaging the community by showing the results that you can get when you work together as a community.

00:22:40

So talking about intersource adoption, it's a pretty straightforward concept, right? Like you'll just open a contribution guide and open a product for everyone to contribute and expect the magic to happen. But it never does because Intersource requests a very thoughtful approach. Uh, you need a core product team. You need to know what features you're opening for the community to contribute. You need to understand the roles and responsibilities of the community versus the core product team. So, um, this year we have taken the steps to build the foundation for insource, for understanding the roles and responsibilities, guidelines, differences between community led and product supported. And by offering masterclasses so that we are adopting a source right way,

00:23:22

Open source contribution and readiness. We still have work groups that are still forming and still putting together things like policies, tools, and standards and ownership models for open sys open source software that's brought into D F Ss. We're still early in our journey. As we said, we've only contributed back to six open source projects. We're hoping to get many more of those going on the way. So that's sort of some of the challenges that we have. Probably some of the same challenges that you'll have. So let's do a quick overview of some of the things we hope that you can take back to your organizations as things to think about some of the stuff that we've covered here today.

00:24:00

So today we learned it's important to promote reuse and contribution and consumption of reusable assets to, for all of us to move faster.

00:24:09

We learned about the Intersource model, leveraging intersource and learning about it. Especially going to, uh, places like intersource commons.org is a great way to increase teams' capacity, transparency, and speed.

00:24:23

Let's just assume, not assume that everybody knows everything. Learning and coaching is very important to do it the right way.

00:24:30

Open models of working and how communities will help us build together better, with better quality.

00:24:35

So above all, uh, remember, community development really takes the long time. That's a mindset. It's a cultural change. Be patient, but start somewhere like we did. So with that said, we are almost at the end of our presentation and if any of these sounds like problems or challenges you would like to solve, join or discover community, here's a QR code, uh, to explore all the opportunities discover has to offer. And Tony and myself will be around here to answer any of your questions and would love to share your share, share your experiences with us. We'd love to talk to you. So with that said, thank you so much for coming and joining us today. Enjoy the rest of your conference and have fun.