Wed, 9 January 2019
Today on the Salesforce Admins Podcast we’re joined by Bill Appleton, CTO at Metazoa, and one of the first people to write an app for AppExchange. We’ll find out what we can do to kick off the year with a clean org.
Join us as we talk about how to look at the complexity that’s already in your org and then do something about it, and why he’s excited about Salesforce DX.
You should subscribe for the full episode, but here are a few takeaways from our conversation with Bill Appleton.
A love affair with coding that turned into a career.
When the first Apple Macintosh came out in 1984, “I just started grad school but I quit school, spent every penny I had to buy one, and started writing software,” Bill says. “It just really spoke to me how visual it was,” he says. In the late 90s, he started talking with a friend about API services, and the idea of a client that can use APIs from anywhere or a server that can provide them to anyone was revolutionary.
So, what’s an API? “I give you a message,” Bill says, “and you look at it, decide what to do, and give me a response. That’s really all it is, but you can build so many incredible things with that model.” Salesforce has some great APIs: metadata, data, tooling, and more, which is what brought Bill to Salesforce and lead him to write some of the first apps for the AppExchange.
Using APIs to give Salesforce superpowers.
“We asked Salesforce, ‘What do your users need that you’re not going to build?’ They said project management, and so we built DreamTeam,” Bill says. Back then there were no packages, which meant that they needed to implement it by hand which made it error prone. “I wrote this other app called Snapshot, which would compare any source and destination org and see what the differences were,” he says. Snapshot uses the metadata API to compare all of the customizations in an org over time or between org.
“One of the great things about Salesforce is the ecosystem of customers—they’re a really bright and interesting bunch,” Bill says. For API-powered apps, it’s really important to get feedback because it’s all about how it interacts with others. Luckily, Salesforce is a feedback-focused culture.
Two steps to a cleaner org.
Salesforce is amazing because of all the complex customizations and capabilities you can make for your org, “but a byproduct of that is that your org can complex,” Bill says. Bigger orgs can end up with thousands and thousands of objects and profiles. “We have a lot of tools and technologies to visualize the complexity,” he says, which helps you see how things are interrelated and what’s not being used. If you want to clean up your org, that’s step one.
Step two is to do something about it—that’s cleanup. “Remove those from profiles or deactivate them first, see if anybody complains, and then, later on, delete them and move them out of there,” Bill says. There might be some corner use case that someone’s been doing for five years that you don’t know about, which can start a conversation about how to accommodate that in a simpler way.
If you’re an admin who has inherited a big, messy org, Bill says the best thing to do is focus on change and release management. Establish a regular release cycle, take on cleanup jobs, and bring on new apps and customizations that your users need. “Work on that big, institutional machine of change and release management,” he says, “get all of those people on the same page and knowing what their job is to really make your org more effective for the company.”
Love our podcasts?
Subscribe today or review us on iTunes!
Full Show Transcript
Gillian Bruce: Welcome to the Salesforce Admins podcast where we talk about product, community, and careers to help you become a more awesome Salesforce admin. I am Gillian Bruce. And today we are going to kick off the second episode of the new year of 2019 with a theme that I guarantee you're already thinking of in your personal life. I know when it comes to the new year I like to start off on the right foot. I kind of clean out my closet, I organized things in the house, I try and make sure that I've got a good attack plan to make sure that I kick off the year in a good way. Well, we're going to bring all that attitude to you and your Salesforce org. Now as a Salesforce admin, one of our most important jobs is to keep our data clean, to keep our org functioning, very streamlined to make sure it's working really well. And in order to do that we're going to get some tips and best practices, some advice from Bill Appleton today.
Gillian Bruce: Bill is the CTO of Metazoa, which is an AppExchange partner. Bill was actually one of the first people to build an app for the AppExchange, back long ago when it was first launched. And he's been really focusing on tools that help us as admins make our lives easier. Help us keep our org clean, help us establish some change management best practices. I wanted to get him on the podcast to share a little bit about what he's learned, and to help us get some ideas about how we can really start this 2019, this new year, off on the right foot when it comes to our org. Without further ado, let's get Bill on the podcast.
Gillian Bruce: Bill, welcome to the podcast.
Bill Appleton: Thank you so much. I'm glad to be here.
Gillian Bruce: Well thank you for taking the trip to come meet me at HQ here in San Francisco.
Bill Appleton: Absolutely.
Gillian Bruce: Appreciate it. You are new to the podcast, new to our listeners. And to help introduce you a little bit to the audience, I'd love to ask the question I ask everyone, Bill what did you want to be when you grow up?
Bill Appleton: Gosh, a garbage man, an astronaut, all these different things. I think when things really got started for me though was 1984 when the Apple Macintosh came out. And I was just started grad school, but I quit school and I spent every penny I had to buy one, and started writing software. And I've written a couple dozen different applications, entertainment apps, and enterprise apps over the years. But that's kind of when I really started on my journey I think.
Gillian Bruce: That's great. Okay. Early adopter of this crazy new fangled technology, I like it.
Bill Appleton: Absolutely.
Gillian Bruce: What were some of the things that kind of attracted you to say, "Oh, I want to buy the Mac, I want to get into this."
Bill Appleton: Gosh, it just really spoke to me how visual it was, and the way you could really interface with it, the user interface part of it. And it was really about in the late '90s that I was talking to a buddy of mine, and we started talking about API services. And that's ... The idea that you could build a client that could use APIs from anywhere, or build a server that supplied APIs to anyone, was just a revolutionary idea. And that really got me started, especially consuming APIs to build really rich graphical applications.
Gillian Bruce: Let's break down API a little bit. I know some of the admins ... I mean, I kind of learned about an API this last year when we were preparing for the admin keynote, and we were talking about MuleSoft. And I was like, "Okay, here we go. We're going into API land, I'm going to learn about this." Can you break down a little bit more what that means for folks who are not very familiar?
Bill Appleton: Sure. It's as if I give you a message, and you're an API and you can look at it, you can decide what to do, and you can give me a response. That's really all it is. But you can build many incredible things with that model. And as a matter of fact, Salesforce has some of the best APIs. The Metadata API, the Data API, the Tooling API. There are ... That's one of the reasons I started writing apps for Salesforce. And I started looking, I think in the, maybe 2004 at their XML-RPC API. And that's kind of how I got started. Wrote some of the first apps for the AppExchange as well.
Gillian Bruce: That's so cool. Okay. The advent of the AppExchange, you're now finding this way to kind of pursue this passion, this fun thing that you figured out. I love the way you describe APIs. I think that's very helpful. I mean, the way that I kind of learned is it's a way systems can kind of talk to each other, and essentially, right. You're one of the first pillars of the AppExchange, tell me about that. What were some of the first things that you built?
Bill Appleton: Yeah, absolutely. One of the things we ... We just asked Salesforce, "What do your users need that you're not going to build?" And they said project management. And we built DreamTeam, if you may remember, one of the first AppExchange apps. And I'll tell you a funny story, back then there were no packages. And no managed unmanaged any packages, and we had to implement DreamTeam by hand. And it was error prone. I wrote this other app called Snapshot. And what it would do would compare any source and destination org, and see what the differences were. And then it turned out Snapshot was really useful, and we put that on the AppExchange. And then later, a couple of years later, when the Metadata API came out, and you could compare not only data schema, but also all of the customizations in your org over time or between orgs, it was just super useful app for admins. And that's kind of how we got started.
Gillian Bruce: Yeah, I mean all of those, right? Starting with just the basic idea of project management, and then Snapshot, which is a hugely impactful way to kind of see what is going on with your organization. And then kind of keeps evolving into all of these great tools. I mean, it must have been ... Felt pretty cool to be able to have that kind of impact in kind of a new space, the Salesforce ecosystem.
Bill Appleton: Yeah. Absolutely. And the Salesforce ecosystem is just amazing. One of the best things about it is the customers. Because when you're building on demand software, you put it out there, but they give you feedback about what's good about it or bad about it. And they're kind of half the battle. And if you ... One of the great things about Salesforce is, the ecosystem of customers are a really bright, interesting bunch, and it's great for on demand.
Gillian Bruce: And they're always willing to provide feedback?
Bill Appleton: They are.
Gillian Bruce: They're not a quiet bunch.
Bill Appleton: That's correct.
Gillian Bruce: We're a very ... We're a feedback culture, both at salesperson in the community, I feel. It's great. Talk to me a little bit more. We talked about how you were just really excited about the visual platform, in terms of how you got into technology, APIs, it really kind of lit your fire a little bit. Why did you focus on Salesforce? You mentioned Salesforce has a lot of great APIs, but was that just it. What were some other reasons you decided to really explore and dig in deep with the Salesforce platform?
Bill Appleton: I think the, especially the Metadata API that Salesforce has is ... It's just an 800 pound gorilla. It's just an amazing ... And I'm still discovering new things about it all the time. But that's been a real challenge. And I recognize it had enormous power, but that we really needed a great application interface to make it more accessible and easier for people to use. And I think that's been, the last couple of years our focus.
Gillian Bruce: Yeah. Well, and that's ... I mean, like you said, it's hugely impactful, especially a great admin tool. And let's talk a little bit more about the kind of the ideas of the Salesforce admin, and some of the tools that you've really developed has very much helped Salesforce admins do their jobs. And one of the biggest things that Salesforce admin is charged with, is the idea of maintaining the org, keeping it clean, making sure all the data, data integrity, all of those things. And a lot of the tools that you've developed has really helped in that capacity. Tell me a little bit from your perspective, what are some ways that Salesforce admins can really kind of take the lead in terms of best practices, keeping orgs clean ... I mean, there's a lot of things that you've done, a lot of tools out there, what are some first steps that admins can kind of start chunking this down and taking on this problem?
Bill Appleton: Yeah. Absolutely. One of the great measures of Salesforce's success, is that you can build extremely complex applications, and that's great. But a byproduct of that is that your org can become extremely complex. And over time it can become more complex. The bigger customers can end up with thousands and thousands of objects and profiles. And even if you only create a new object every month and a new profile every month, that's a hundred new object permissions per year. It can get really complex. And one of the things we do is we have a lot of tools and technologies to visualize the complexity. And so that you can see where things like pick lists and profiles and objects are related. And what their metadata structure is, what's related to what, and what fields aren't being used properly, what metadata objects have been disabled or hidden and are just kind of sitting there in your org. And step one I think is to see the complexity, understand the structure of your work. And then step two is to do something about it.
Gillian Bruce: Okay. When we start doing something about it, I mean, where do you look first? You may have this ... Now you understand all of these things that you've got in your org, you've inherited this maybe, where do you begin? You probably have a long list of stuff that you need to clean up.
Bill Appleton: Yeah, absolutely. And I think clean up should be one of the priorities in the change and release management process. It should be kind of a regular goal to look at the complexity in your org, and see what things can be simplified or removed, and then maybe remove those from profiles or deactivate them first, see if anybody complains, and then later on delete them, and move them out. I think that those are really the ... The two main steps for an admin is to visualize and understand where the complexity is. And then step two is to clean it up and move it out.
Gillian Bruce: Yeah. And I mean I love how you say deactivate it and see who complains. Because sometimes you never know. There's some corner use case that someone's been doing for the last five years, and you may accidentally touch something.
Bill Appleton: That's right.
Gillian Bruce: And in that case, I mean that's kind of that opportunity, right, for the admin to then say, "All right, why are we using this? Where does this fit in the process? How can we kind of overhaul this?" What are some other kinds of best practices ... I mean, you can mention at a high level, right, kind of visualize what's there, and then take some action. Let's dig in a little bit deeper. What are some best practices about ... You've just inherited an org, now you've kind of identified, you've seen some opportunities here. I mean, you've seen a lot of different complexities and use cases. Let's help some of these admins out.
Bill Appleton: Yeah, absolutely. I think that's a great use case you've given, where you've inherited an org, and who knows what's in there. Another thing we see is people who are trying to either split orgs or merge orgs, that's another really tough one. And the other thing is just an org that's being rebooted. Sometimes you are new admin, you come in, and you've got to make changes and take it in the new direction. I think all of those things really benefit from being able to kind of take snapshot pictures of the org, and look at all the customizations that have been there over time. Kind of do use counts of different things, and say you're looking at a custom field. You might want to know, is that field ... Are the values in it very distinct or are they very uniform? Are most of the values empty or the default value? That's the type of information you can use to start to determine what are the important parts of the org and what are the other parts that maybe have been abandoned or neglected?
Gillian Bruce: Okay. I think that's a great example, right, looking at that custom field and seeing ... I mean I love how you mentioned what are the defaults? What are the ... How is this being used? That's a really great way to start. I think one of the things is it can be very overwhelming, right, for an admin who's inheriting this big mess of an org. And if they're kind of in this by themselves, what are ... Do you have a little bit of advice or encouragement for them?
Bill Appleton: Sure. Well, hopefully they're not in it by themselves. Because they've got all of the users who have needs, they've got developers who are probably building things for that org, and hopefully, if it's a really big company, hopefully they've got some other admins on their team, or other people that can help them. And that's where really the change and release management comes in. And it's more than just the machinery of it, it's also the institution of it, and all the people involved, and establishing a regular release cycle. Are you going to align with Salesforce's release cycle or do it more often? Are you going to take on some clean up jobs as well as pushing forward new applications and new things that the users need? I think a regular cadence of a release cycle. And really working on that big institutional machine of change and release management, and getting all of those people on the same page, and knowing what their job is to really make your org more effective for the company.
Gillian Bruce: Well, yeah, I think that really touches on the idea that the admin is so much more than just doing stuff in Salesforce, right? Because to institute a released change management best system, I mean that is a lot of communication within the org, and all the different stakeholders, getting people signed on and aligned and all of that. That's ... There's a whole kind of that other layer of being an admin, right?
Bill Appleton: Yeah, absolutely. And actually when you say that, that's one of the reasons that I've been really excited about Salesforce DX. Because there's great tools for developers to do scratch orgs, and source-driven development, and push and pull source, and that is really great. But there's also some great tools in there for admins. And DevHubs are an amazing new technology where you can ... Essentially, you turn on a DevHub in your production org and have your own private AppExchange. And you can put all of your packages up there, and install them anywhere you want. That's amazing for admins. And the other thing is, unlocked packages are a way to massively reduce complexity in your org.
Bill Appleton: By organizing all of your projects and your applications into unlocked packages. It really kind of reduces that vast sea of unpackaged metadata, and organizes it all. And really it's an exciting time at Salesforce. Because we've got admins on the one the hand, and developers on the other hand, they are becoming more important as the tools and technologies make Salesforce a bigger development platform. And really I spend a lot of my time thinking about how can these two groups work together to build great applications and deploy them safely in a production org. And I think it's ... We're kind of in an interesting transition here, but Salesforce DX is a big part of it.
Gillian Bruce: I think that's fantastic that you brought that up. Because we've talked about Salesforce DX a little bit on the podcast. And I think most admins think of ... Salesforce DX is a developer tool. "I don't need to pay attention to that, I don't understand it, it's in developer land." But the way that you just spoke about it and you positioned it, I hadn't even realized that those are great ways admins can interact with DX. That's great. The idea of having a little private AppExchange within your instance is amazing. And the idea of being able to kind of group your metadata together. I mean those are two very ... I understand that and I have ... I mean, I've seen DX, but I haven't actually used it. For me that makes sense. And I think that's a really great opportunity for admins to think about how to use these.
Bill Appleton: I totally agree and it ... And if you think about your developers working on source-driven projects on their desktop that they can push into packages and test out in scratch orgs. And then these packages become something that you could install and sandboxes for user acceptance testing or installing production for final deployment, and it really changes the paradigm. Because now you've got source-driven development, you've got code merge and repositories, and all of these traditional tools that developers are used to using. And you've got a really nice kind of pipeline to move those now into the metadata realm, and start to combine that information into the actual Salesforce org. I think it points a way for developers and admins to work together. And they need a common currency to be able to talk to each other.
Gillian Bruce: Absolutely. I mean, I think ... We talk about admins and developers working together all the time, and it's really nice that we have a great tool now to really help facilitate that and kind of a new way. I mean to have ... Be able to ... Developers use tools that they're comfortable with, that then work in adminland. I think that's a very great example of how this partnership can really help create amazing apps. That's great. Any last little bits of advice as we kind of kick off the new year for admins. Maybe someone who's new to any of these concepts, about how they keep their org clean, how they manage inheriting a huge org. We had some really good in depth discussion, but any last little tidbits for folks?
Bill Appleton: I just would say focus on the release cycle on a regular cadence release cycle. Know when Salesforce is increasing the version of the sandbox and then the production org. And maybe align with that or maybe your more frequent than that. And just work on the big machine that does the release on a regular basis.
Gillian Bruce: I like that kind of institute a system, make that happen. All right, Bill, before I let you go, I am going to ask you a lightning round question.
Bill Appleton: I'm ready.
Gillian Bruce: Okay. First thing that comes to mind, no right or wrong answer. Your lightning round question is, what is one of your most memorable Dreamforces?
Bill Appleton: The first one.
Gillian Bruce: The first one, which was what?
Bill Appleton: It was at the Fairmont and there were a cocktail party with three tables for the vendors, and each one had a placard on it, and it was funny because it was nice, but it was nothing compared to Dreamforce now. It wouldn't have qualified as a lobby for Dreamforce now. But you could tell there were great people there, and there was a great energy in the air, and you could tell something good was going to happen.
Gillian Bruce: I love that. Three cocktail tables. I can't even imagine. That wouldn't even cut it like a party for my individual group anymore.
Bill Appleton: No.
Gillian Bruce: That's amazing. Well, Bill, thank you so much for joining us on the podcast. I so appreciate the great work that you've done for the Salesforce ecosystem over many years. And I look forward to seeing what's next as well.
Bill Appleton: Thank you so much Gillian.
Gillian Bruce: Huge things to Bill for taking the time to chat with me and make the trip up to HQ to talk about how to keep it clean, how to keep our orgs clean. Now, he had a lot of really great things that he's learned over the years in terms of building tools that help us manage our data, our metadata. And some of the things I wanted to highlight from our conversation was, first of all, I loved the excitement that he genuinely has about the Salesforce platform because of the API. He was so genuinely interested in the ability to build apps for the Salesforce platform because there is so much opportunity, so much freedom there. And that us, as Salesforce customers and users and admins, provide feedback so willingly and so quickly. Keep up the good work. If you are someone who is in a similar role.
Gillian Bruce: Again, we hear this over and over, it's happened to the amazing Salesforce community. A lot of great resources there. Some of the things that bill highlighted that I think are great to keep top of mind as we kick off this new year and think about ways to keep our orgs clean is, one we got to figure out the complexity that we have in our orgs. Now, there's lots of tools to help us do that. We have things that are native that come with the platform like Optimizer. There's also some great tools on the AppExchange to help us figure out what's going on in our org. How are their metadata structured, what things are being used, what things are not being used. Make sure you check some of that out. Start with the Optimizer, it's very easy to use, it's right there inside of Salesforce. And then the next step that Bill outlined is, do something about that complexity.
Gillian Bruce: Find things that are not being used. Find things that are maybe a process that has five steps that could just be two steps, and then slowly deactivate and get rid of it. You're going to inevitably find things that are corner cases that people are using, but you got to start somewhere. Make sure you're using your sandbox, and make sure you do kind of do this on an established release cycle. Bill really stressed the importance of having that change management in place. Salesforce releases three times a year, easy for you to tie your releases to that, if you need to do more frequent ones. Just to make sure you have a system in place that is reliable, that your users and your stakeholders know is coming really helps you when you're trying to roll out changes. Also, it was really fun to talk about Salesforce DX.
Gillian Bruce: We haven't chatted much about that on the podcast, because I kind of have, in my head at least, thought of it as a developer tool. But the way that Bill outlined how admins can use this tool, and really work with developers was fabulous. One of the biggest things that we have to do as admins is work with our developers. It's so important, we can use so much of their amazing skill sets to help make our work, and our orgs even better. Salesforce DX is a great opportunity to do that. He talked about the use of DevHubs, how you can turn it on, how you can have almost your own private AppExchange to install packages wherever you want within your org. This is great, especially for larger teams and bigger implementations. Also, the idea of unlocked packages, so you can really organize all of your products and apps into packages.
Gillian Bruce: Use that metadata in the way that works best for you. This is just, again, a great way to kind of combine the source-driven work that developers do with the metadata driven work that we do as admins. Checkout DX, there will be more on that coming soon, stay tuned, but definitely you make sure that you don't ignore it. It's kind of a great way to really collaborate with your developers. I really appreciate again Bill sharing his expertise, we've got a lot of great resources in the show notes if you'd like to learn some more. We have a blog that he wrote for Salesforce Ben on, '6 Essential Reports for Compliance, Governance, and Security', definitely check that out. Reports are great way to see what's going on in your org. He also has a series of white papers that he's written, and other folks at Metazoa, his company, have written all best practices for change management, org cleanup optimization, and a lot more, check out the link in the show notes. And guess what?
Gillian Bruce: We have content on Trailhead. I would definitely check out a couple modules. One is data quality, and the other one is application lifecycle and development models. Both of those are really going to help you set yourself up for success when you're talking about trying to keep your data clean, and make your org as streamlined and efficient as possible. Thank you so much for listening to us today. Always want to remind you, you can find more great content on how to be an awesome admin on admin.salesforce.com. You find blogs, webinars, events, and yes, even more podcasts. Please make sure you subscribe to the podcast to make sure that you can get it delivered directly to your platform, or device of choice the moment they are released, so you don't miss a single episode. And by the way, if you are listening to the podcast, and you like what you hear, or even if you don't, I really encourage you to leave a review on iTunes.
Gillian Bruce: If that's your platform, really love to get feedback. Also give us feedback on Twitter. I totally take every single piece of feedback into account. And that's what helps me make the show tailored to what you want to know. Please, please, please provide me feedback. You can find us on Twitter @SalesforceAdmns, no I. Our guest today is Bill Appleton, and you can find him on Twitter @bill_appleton. And as always, you can find myself, Gillian, @gilliankbruce. Thank you so much for listening to this episode, and we'll catch you next time in the cloud.