Edith has more than 20 years of experience in product, engineering, and marketing with both consumer and enterprise startups. Most recently, she was Product Director at TripIt and Concur. She holds two patents in deployment from her time in engineering at Vignette. She is a contributing writer to DZone, DevOps.com, and ReadWriteWeb, and she co-hosts the "To Be Continuous" podcast with CircleCI founder Paul Biggar. Edith earned a BS in Engineering from Harvey Mudd College.
(bright music) - Hey welcome everyone. I'm Edith Harbaugh. I am CEO and co-founder of LaunchDarkly. Welcome to Trajectory, our online conference. Part of how you can see us from wherever you are in the world is that software truly powers the world. Your experience right now is because there's an operating system you're looking at. Some sort of indows environment, a browser. You might even be looking at this right now on your phone. If you drive a car, you're using software. If you are buying a car, using a website like TrueCar, you're using software. In fact, I bought an entire car through TrueCar without ever talking to a person. It was all virtual. And now I get to enjoy all the software that's in that car. If you go to the supermarket, the supply chain of how the food arrived is all also software. So software isn't just what we think of as you know, desktop applications, it's everywhere. And as such people really have high expectations. You know, 20 years ago when I started off, it would have been amazing just to get an AV projector working. Now people expect on demand digital experiences all the time. An ATM used to be considered state of the art. Now people wanna be able to check their balances anytime all the time. So in every part of the world, expectations for how software is helping people are being driven higher and higher. So the mission of LaunchDarkly is to help these teams. The teams that build the software to deliver and control their software. And by all teams, we mean developers who are doing the coding, but also product managers who are talking with customers. Ops people who make sure that it works and it scales correctly. And everybody to deliver a great experience to their own customers. Earlier, I talked about how banks have changed so much in the last 20 years. What used to be paper and written statements has now gotten compressed and is now online and digital. And because of that software has needed to move a lot faster. Continuous delivery is essential for companies to move fast. Facebook pioneered continuous delivery, as to Netflix with this idea that instead of doing a release once every six months or once every year, that you could continuously deliver software with releases every month, every week, every day, or even multiple times an hour, which is really fun. You know, instead of being constrained by, hey, we have this six month release train. So everything needs to get squeezed into that. And if you miss that train, you have to wait another six months. Continuous delivery allows you to release you know, multiple times a day. You could really quickly figure out if something is working. You could really quickly iterate. You could get super fast customer feedback. However, if you're a big bank or financial institution, continuous delivery is kinda terrifying. You know, you have tellers all over the country or all over the world. You have training that needs to happen. You have customers that need to be notified. And also by the way, if you break something in a financial institution, it can have million or even billion dollar consequences. So you don't really wanna do continuous delivery. You wanna do controlled delivery. And that's why progressive delivery is so important. Progressive delivery takes the best of continuous delivery. Being able to release any time to anyone, but then adds what it really needs to be successful. It adds the ability to also have good quality and control. So the two core ideas of progressive delivery are release progression and delegation. So when I started off in software, a release literally meant that you would print a disk and then ship it out. Every release was the same. Everybody got the exact same set of software. And this also created a lot of pressure because if that release was wrong, the consequences would be kinda terrifying. You know, you can't go and fix a disk. With progressive delivery though and the modern SaaS world, you can fix things and progress them. So a really nice way to do progressive delivery is to start off, let's go back to our bank example. You know, they have a new feature they're really excited to roll out. It will allow people to more quickly transfer money, but they need to really fine tune it. What they could do is the bank can say, hey, internal testers, this is only alive for you. If the internal testers pass it, they can then start to roll it out to some branches, some states and get some more feedback. If something goes wrong with it they can also just turn it off. This is really, really, really game-changing because you have the ability to move forward and to move backwards. If something goes wrong, you just turn it off. And that really frees up a lot of mind share for developers to really focus on the actual functionality instead of worrying about, hey, if this goes wrong in the field, I have no way to fix it. I'll give another really fun example from one of our customers called Seesaw. You know, they make a software that goes out to classrooms, to teachers. You know, there's no more high stakes than having 20, you know, kids staring at you saying "what's next". So with progressive delivery and release management, they can roll it out to a couple of classrooms and make sure that things are working just fine and then roll it out to the rest of the classrooms so that there's no interruption in teaching time. Delegation is another key part of this. Before my earlier examples I said, you were turning this "on" or you were turning this "off". With delegation you can pick who has that control. If it's a feature that is for products, people to discover or do people like it to get user feedback, you could delegate control to the product manager. If it's a high stakes infrastructure change for example, if you are switching financial systems, that's something that you want your Ops team to closely control. So you have the ability to pick who gets to turn stuff "on" and "off" at a very fine grain control. Again, you're pushing power out to the person who really needs to have it. Feature management is the key to this. Feature management unlocks progressive delivery by encapsulating features very nicely so that you can then push them forward, pull them back and also have the ability of picking who in your organization has that control. With feature management you have the ability to build, operate, learn and empower. You can build customer vetted features faster and launch them progressively. You can operate your stack in real time and react instantly, when you detect performance issues. You can learn from your users through data-driven experiments and user feedback loops. And again, empower any team to safely control the release of features. Let's back up a second. The power of progressive delivery is that you're really deploying whatever you want, even at Friday at 5:00 PM. And you're releasing when your customer is ready. So instead of having this tightly controlled loop of, if the customer has to have it, some developer has to be ready, should just push a button. We can decouple that. We can say hey, we can deploy whatever you want. You can schedule that release. You can schedule it to exactly the people you want and you can release when that customer is ready. A really, really, really classic story of why people love progressive delivery is the old 7:00 AM release. Maybe you're doing some big press launch in New York. So it has to be live at 7:00 AM New York time. That usually means that some engineer has to be up at 3:00 AM to deploy it and make sure it's ready to go if they're in California. With progressive delivery, you could have actually deployed this last week and had it all ready to go and even had some people in New York check it out and then just have it ready to release exactly when you're ready. That's so exciting and so wonderful that software is suddenly boring in a deliverable and controllable way. And I said boring as a huge compliment, that all the focus should be on the actual power that you're delivering through the software, not the release. You don't have to trade off innovation for reliability. You can have both. So TrueCar, where I actually purchased my own car from, when they use LaunchDarkly had 140 times increase in speed of delivery. What that means is that they could basically do, 140 times more features and they can learn a lot faster. You know, if you think about everything that you wanna do in your software work you say, I could do a hundred X of them and then I could do 140 X again. That means that you have so much more chance to delight your customers. O'Reilly when they started using LaunchDarkly had an 83% decrease in restoration time, which that meant when they had a bug out on the field, it was that much faster for them to remediate it, to fix it. This is really powerful. This means a lot more happy users. If you can fix bugs faster and you could do it safely and reliably. It's not just us that cares about release management and progressive delivery. I am thrilled that we also have our sponsors today. Rollbar, Code Climate, Honeycomb, InVision and NS1 as well as Gremlin. Thank you for your support. We also have wonderful industry speakers like Emily Freeman and James Governor, who we're gonna talk more about progressive delivery and why it matters as well. As well, you'll hear from 12 customer speakers, who will share their stories about progressive delivery and why it matters to them. Thank you all for coming today. I hope you enjoy the talks and learn more about progressive delivery. (bright music)