 Yn y cyfyrdd yma, ddau'n ymlaen i'ch gwrdd i'n gwneud i gael eu ffrindio a'i ddim yn bwysig yn ei ffrindio. Felly mae'n ymwysig, mae'n ymwysig. Ychydig i'r cyfreithio'r cyflwyng i ffyrdd ymlaen i gael eu cyfyrdd ymlaen i ffyrdd ymlaen i gael eu ffrindio. Felly mae'n ymlaen i gael... Mae'n ymlaen i gael... Mae'n gwybod i'r cyfrydd o'r cyfrydd ymlaen i gael. Felly, rwy'n gweithio'n meddwl, Felly mae'n cynyddio o'r cyfwyd. Mae'n gweinio deall peth yn ystod y gweinydd yma. felly osób yn mynd i gael storio'r cyd-oedd, wrth iddyn nhw'n gallu gwaithio allan hyd yn y mawr. Mae'n ddweud y tŵeriaeth. Ystodwch chi'n ddweud yr wych yn fanchiffol i ddechrau'r methodolaeth ar gyfer y cyd-oedd. Dyna'r tŵer llwyr platfform ar ei bod yn cael eu dystiol. Felly mae'n teimlo, ni'n aeitio i gael llwyr. Wrth this, I'll also talk about some success stories that we've seen with customers who have gone through this process. I'll do a quick summary at the end so if you fall asleep in the middle, hopefully you'll hear a bit more at the end and then I'll try to leave time for questions. So, who am I? This is what I look like when I haven't spent two days at a conference having some late nights. My name's Paula Kennedy, I'm the director for the Pivotal Cloudfoundry Solutions Team I'm Fawr Amir at Pivotal, this is my Twitter handle. The L stands for Louise just in case you're curious. It's one of the most random Q&A questions I've got on our conference. What does PCFS do? So the fabulous Diney to You wrote this sketch note for me just to try to capture what our team does. Essentially we have customers, Pivotal has customers all across Europe who buy Pivotal Cloud Foundry. And my team, essentially we want to go a help them to install it, to run it, to scale it, we go and pair with our customers and we teach them our best practices of the way that we think things should work. So we talk about platform as a product, that's really what I'm going to go into a lot more detail on in a minute. We talk about having a balanced team and we want a path to production. That's our real measure of success. If you have a platform but nobody's using it, it's like when a tree falls down in a wood and no one hears it, does it really fall? We also, the process that we follow is we have two real offerings. We do platform dojos and we do platform health checks. So the dojo is our process for pairing with customers. We make sure that things are up and running, we teach the practices and then we'll come and check on you. So your platform and your platform team might begin in a very healthy situation but you need to constantly maintain it. So we'll come back, we'll check in, we'll give recommendations, that's really how we work with our customers. So that's a little bit about me and what I do or what my team does. So now I'm going to talk about the problem state when we're trying to solve. So we go to customers a lot. Some of the things we hear. We hear the business say that they want to deliver new features, they want to get to market and they can't go fast enough. Their competitors are going faster, their customers are demanding things and they just can't get the business value to the end customer. We hear infrastructure teams talking about the platform that they've built. They think they've got the solution but nobody's using it. It's the whole build it and they will come. They've built it but no one came. And then we talk about app developers. So they have the ideas, they're writing the code, they've got the features that they want to give to the customers. But those app developers are saying that they can't use the platform. It hasn't got the right features. They gave the requirements and what they got six months later wasn't the right thing. So the end result of these problems basically means nobody's happy. So when we think about how to solve that, there's a great quote from Eric Rees about success is not delivering the features, it's about solving the customers' problems. Now when you think about your platform you have to really think who your customers of your platform are and they are the developers. So our fearless leader, Rob Mee, says the only thing to keep your developers happy is to really make them productive. So that's really the problem I'm trying to solve. How do we do that? Platform as a product is the answer. So I'm going to talk a little bit about this. When we say platform as a product at Pivotal, what we mean is you need to design your platform to meet the needs of your application developers. That's basically what we're talking about. So you don't want to build a thing and then ask your developers to change what they do. You build the thing that enables your developers. That's the whole point. So how do you know what to build? At Pivotal we have three kind of core tenants that we think about when we think about building any product. Whether we're building a platform, whether we're building an application. We think about whether the product is desirable through design practices. We think about whether it's viable. Is it going to actually help the business? And is it feasible? Is it possible to build? Is it possible to scale? Is it possible to run? These three things together come up with product. So these are the types of diving deeper into those. These are the actual kind of practices that we really believe in in Pivotal. We have extreme programming in SRE, user-centered design, and agile and lean methodologies. So I'm going to break each one of these down just a little bit more. So extreme programming is the flavour of agile that we practice at Pivotal. There's a whole book about this. There's lots and lots of reading material about this. But just to give you just a quick summary. Some of the core practices that are involved in XP. Pair programming, test-driven development. These are the things that we practice at Pivotal. We do them every day when we're building Pivotal Cloud Foundry ourselves. And we teach our customers how to do these. Site reliability engineering, a practice that's came out from Google. I don't know if any of you saw Hannah Foxwell's great talk on the conference on Tuesday night. But she talked a little bit about what site reliability engineering is. Essentially we're talking about treating your operations as if it's a software problem. It's using things like service-level objectors, service-level indicators, managing your error budget. It's really about making your platform reliable. Use a centre design. So this is really trying to make sure that the thing you're building is the right thing for your customers. It's about validating with real-world tests, not making assumptions, not thinking that you know what your developers need, but actually talking to them and asking them. It's finding out the problem, working out if it can be delivered, and also providing a really great user experience. So there was a great talk yesterday from one of my colleagues, Nevin, who spoke about developer experience. That's really critical for your application developers. So lean product management, again, another practice that we talk a lot about at Pivotal. It's about trying to reduce the risk of building the wrong thing and spending a lot of time, and then finding that it's the wrong thing. In a traditional waterfall-style approach, you spend a lot of time building things without really validating, and the longer you spend without validating, the greater the risk is, because you've spent so much time, you've invested so much, maybe it's not the right thing. In lean, we talk about this kind of build, measure, learn approach, build something, check if it's the right thing, learn from those tests, build the next thing. Basically all that is doing is reducing the risk so that you know you can pivot if you need to. You can change something, you can add something, that's really what lean product management is about. So those are all the practices, that's the theory. The next thing to think about is how do you apply those practices? Who's going to take all of that amazing theoretical knowledge and actually do something with it? So at Pivotal, we talk a lot about the balanced platform team. We think this has some core components, a platform owner or platform champion, a product manager and the platform engineers. So depending on the size of your organisation, these may not be all different people, they might have some overlap with one person, they might have more than one role, but the types of things that you need to have in your team, you need to have a platform champion, that's somebody who's got the political capital to really make things happen. They can unblock your team, they can support your team and they can talk to other stakeholders in the business and really evangelise your product. Product manager for Pivotal, we consider this absolutely critical to success. Somebody who's a full-time member of your platform team, who's in there, who's talking to the users, who's coming up with the features, managing the backlog, prioritising, accepting stories, we consider this critical. It's a conversation I feel like I have with customers every single day, but it's like a really, really important part of the team. And then the platform engineers. So another challenge we hear often with customers is finding the right people to form the platform team. And first we think about different types of people that come together to form that team, but really the characteristics you're looking for, people that are curious and want to dive in and understand the requirements, people that are naturally looking to automate, a balance of infrastructure and software skills. If you can create that core balance team, it's going to be extremely successful when you're supporting your application developers. The team needs to be dedicated and a permanent group of people. So again, we see customers who have challenges where a team is trying to run the platform, but they're trying to do 100 other things and it means they don't have the focus, they don't have the time to really build on the platform to add new features and to iterate. I've mentioned it before, I'm going to mention it again. Having a full-time product manager, really, really important. We see this so many times where a customer team has that role and the success is unbelievable. And when they don't, things don't get prioritised, whoever shouted the loudest gets their feature delivered, it's not a managed backlog, it's so critical to the success of the team. And as I mentioned, your team needs to be balanced. They need to have different skills, different methodology to really come together to continually improve. That's what we're looking for, is that team that has a desire to just keep doing things better, faster, more. So, we've got all the theory, we've got the amazing capable team ready to go. What should that team then do? Lots of buzzwords about the things I've just talked about. How do we apply them? So, step number one, go and talk to the users. What does that look like? That looks like going and doing user interviews. That looks like walking into a room where the developers sit and asking them what they need. You can do user story mappings where you figure out what it takes for one of your applications to go from idea to production. What does that journey look like? Where are the pain points and where is you as a platform team? What can you solve for? Once you've understood your users' needs, define your product vision. Have a statement, make it visible to the organisation. Anybody that comes along and says, what does that team do? Have a vision, put it on a wall, people can see it, they understand what you're trying to achieve. Come up with that backlog. You can use JIRA, you can use Pivotal Tracker, obviously I'm going to say that. But it doesn't matter what your process is. Even a Kanban board, just have something where it's clear. People can see what's on the road map. They can see what features you're working on, they can understand the priority. Build some stuff. Use the pair programming as a practice. It reduces knowledge silos, it makes sure that everybody is aware of what's going on. Start building some code. Then check, constantly check that what you're building is the right thing. Demo it to people. Ask them to take a look at it. Once you are getting that feedback cycle, take the feedback and use it. Don't just do a lunch and learn and show someone some things, get some information and then just carry on. Take the feedback and use it to make sure you're looking at your backlog. Do an iteration planning meeting. Review the backlog, re-prioritise. Understand what reliability means for you. Agree what your service level objectives are. Even if they start low to begin with, set a number that you're aiming for for availability, work out how you're going to measure it and then measure it and then keep trying to improve it. Think about how you can reduce toil, another key concept of site reliability engineering. Try to figure out how you can increase automation. You shouldn't have manual tasks being repeated. Anything that you can automate makes you go faster. Provide a self-service portal for your developers. Empower your developers to really be able to push code. If you are trying to release something to production and you have lots of gates along the way, lots of checkpoints, security have to sign off, compliance have to sign off, try to work with those teams, try to understand what they need for sign off and see what you can build into the process. What can you put in your CI tool to make those things automated? How can you reduce the time from idea to production? Make your user experience delightful. Make it fun for your developers. Make them excited to want to land applications on your platform. Give your platform a brand name. Come up with a logo. Design t-shirts, stickers. Developers love stickers. Make it so that it's really fun. The challenge that you've got is Shadow IT. Developers who get frustrated with your platform can go somewhere else. They can do something else. You need to make it exciting. You need to make them want to get on the platform. So your platform team, you really need to be releasing the features early and often. You need to be testing with your users. You need to make sure, even if you think you know, even if you asked them three months ago and you think I definitely know this is what they want, I don't need to go by and ask them again. Constantly ask. The more feedback you have, the better your platform will be. And as I said, you need to really evangelise it. You need to be talking within your organisation about your platform. Make it the thing that everybody's asking about. Produce stickers and stick them up on the wall places so that people are like, what is that thing? Make people curious about your platform. It should be the thing that everybody wants to get onto. It should be an amazing experience to use it. It should have that self-service capability. People should be excited to go and put their apps there. They should be queuing up to put applications on your platform. So when we take all of these practices and people and put them all together, what does success look like? It looks like strong sponsorship within your organisation. Everybody understands the value of your platform and what you're delivering. You have a dedicated, balanced platform team who understand the platform, who are running it. It's their full-time job and they love it. They wake up every morning excited to go work on that platform. You've got a well-defined backlog. You are prioritised. You're able to have a reliable system. You're talking to developers and your end result. You're delivering real value to the business and to your end customers. So everything I've said so far hopefully is making sense, but you might be thinking that all sounds fine in theory, but that actually sounds quite hard. How do I make that happen? How do I know that if I invest this time and effort, how do I know it's going to work? There was a really interesting Twitter thread from Matt Currie, who used to be the director for Cloud Engineering at Allstate, one of Pivotal's big customers. He wrote this amazing thread in July this year where he talked about all the things that Allstate have done to make their developers successful. When I've been talking about the practices and the platform as a product approach, at Pivotal we've learnt that from our customers. We work with our customers so closely that everything that they do and everything that they see as successful is what we've learnt and that's what we're iterating on. So Matt talked about making the developers have the least amount of work possible to get to production. He wants developers in his organisation to literally just CF push, Bob's your uncle, apps are running on the platform, all automated. He talked about how to have all these different pieces built into your process of compliance, logging, monitoring, everything automated, everything easy. He wants developers in Allstate to be focusing on delivering value. He actually says if you make it easy for your developers, they want to deliver value, that's the real thing. Developers themselves, people writing applications do not want to be blocked, they want to make customers successful. So if you can make it easy for them, even if the platform isn't completely configurable, if you put constraints in there to direct your developers down a certain path, if it's easy, if they're excited, if it's easier than doing something else, then it will make it happen. Developers will want to use your platform. Here at CF Summit this week we've had lots of our customers from Pivotal on the stage talking about their experiences, which is a fantastic validation that when the customer is working with us and they're trying to apply these practices, they're seeing success and they're coming to an event like this, and they're talking about it. We've also got lots of customers that will happily talk in public, will write articles, will be very, very public about the success that they've had. I've just pulled out just a few of our testimonials from some of our customers. Take Comcast, for example. Comcast supporting over 1,500 developers and their platform operations team is just four people. Imagine the power of that. T-Mobile used to take seven months to actually deploy software and now they're deploying every day. The success stories that we see are fantastic. They're mind-blowing. It's all well and good for me to come up here and tell you that this stuff works, but we actually see it. We see it with our customers. It's not just Pivotal or our customers that are saying that this approach works. There was an interesting article earlier this year from ThoughtWorks talking about the same things. There was even a slide from Gartner at a recent event talking about exactly the same thing, applying product thinking to your platform. It's a terminology methodology that's becoming more and more widely known because it works. That's the measure of success. So, to recap, we see businesses having problems. We see the business having problems, platform teams having problems, app developers having problems. How do we help customers to get successful? We take all of the best practices that we have. Pivotal has learned these from the last 30 years working with application developers and we want to apply those same things to the platform. We know what a good platform team looks like and that can be challenging to find the right people, but it doesn't take a huge number of people. Like the Comcasts that you just need a small team to really deliver the power of the platform to enable thousands of developers. When you smish all of those things together, your practices and your team, you end up with key actionable things that that team can do to really deliver value. This is my best attempt to try and draw what this actually looks like. Essentially, really, you have your platform team. They have this amazing platform that's self-service. The core is Cloud Foundry, but within the platform, the platform as a product is not just the paths. It's also other features that your application developers need. It's other integrations within your business. It's other database services. It's monitoring and logging. It's different pieces that all come together to give the developers what they need. That's all we're talking about, empowering your app developers. All they have to do is CF push. App goes live. There's a nice feedback loop between your developers and your team. Everybody's happy. What does that lead to? This is my next attempt to try and illustrate what the end result is. You've got your very happy platform team working well in the business and the end result is that the business can then deliver value to your customers. Someone has an idea of a feature? Out. Customer gives you feedback that they don't like something. Change it, deliver it. You're able to respond quickly to the market to your customers. You end up with happy customers who pay you money. It's a win-win for everybody. So, just to finish, this is some of the material that I use to put the talk together. Some talks about what an effective developer experience looks like. The Google SRE practices, the extreme practices, there's lots of material about those. You might have noticed I used a lot of Denise's diagrams. Denise does some amazing sketch notes, so she has them all available. People can go online and have a look at them. And Lean Startup is the other book that I had a look through. And that's it, thank you very much. He's got questions. Hi Paula, thank you. That's an excellent question. Have you ever tried to quantify this? It feels like the right thing to do. Have we ever measured between two pivotal customers the difference between having a dedicated platform team and how things work versus not having one? Is it time to first application live in production, for example? Have we got any numbers? That's an excellent question. Not now, I would say. It's one of those things. When we go into customers, so the same as you just mentioned, we talk about time to production could be a good metric. We're starting to do that practice more and more with our customers to understand the baseline. But I don't have enough evidence right now to produce some numbers. All I can say is what we have seen is so many of our customers where they have the product manager, it goes better. It's not something that they have hard numbers, but we see. One of the measures that Perotor has is AI consumption. Essentially how many applications are running. We see the most successful customers. Those ones that I put up there, Comcast, Home Depots, all of those are the ones that are really following that practice. Where we have a product manager, things go better. Where there isn't one. It's not that things go badly, but somehow the speed isn't there. The number of applications don't seem to land quickly enough. We see that there are checks for those customers. We see that they are somehow struggling, somehow lost. The feedback loop is not there. So it's very anecdotal, it's mostly the kind of evidence I have. Hi. In a perfect world, I think that works like a charm. However, a lot of enterprises, at least I came in touch with, there is dependencies to other departments. They are open running and they are running well. How can a team come aim on a target or come to success with having so many dependencies? That's an excellent question. Communication is the most critical thing. I know exactly what you mean when you have different silos, different lines of business and they're not talking to each other. We call them technical product managers, technical program managers, in fact, like Molly, who go out and, I'm not going to give Molly's analogy about the stuffed animals, but anyhow, technical program managers go and they try to build communication between the different silos. So if you have that, what you need within your team, it could be someone in your platform team, it could be your platform champion. You need a person whose role is to try to go and torture those different organisations. It's about points of commonality that you can actually solve problems for each of those lines of business, for example. I mean, there's no silver bullet, but it's about communication and if you have a person whose role it is to try and actually communicate with those different parts of the business, if you solve problems for people and you can deliver the value, then hopefully people will come together. Keep going. So is the team really managing itself or so is there no Scrum Master or HL Master or whatever, or is this done by the product manager? Because I think the product manager wants to have a lot of stories and the Scrum Master actually should protect the team from getting too many stories in their backlog, for example. So we typically in the engineering part there would be an anchor who would sort of perform that Scrum Master role, but it's not really the way that, when we talk about extreme programming, that's not really the way that we do it. Really the product manager is that one that is writing the stories, prioritising and then the anchor and the team are the ones that are then delivering and it's, yeah, there's no separate Scrum Master research. Just to add to that, it's kind of like the team takes off the top of the backlog and we're going to make a commitment. These are the things we're going to finish in two weeks. It's just like continuous. Other questions? We still have three minutes. Run! In an enterprise setting, have you come across any clients who are willing to take on this model and how successful have they been? So we've seen quite a few. It's not always easy to convince people. It's a shame because a customer that I work really closely with adapted this and is all in is Rababank who's on stage right now in a different room and I really wanted to go see their talk but Vincent from Rababank presented at our spring one platform event a couple of weeks ago and talked about the journey that Rababank has been on and I can remember being in the inception for that platform dojo that we did and going through this with the infrastructure team and it was so interesting and it sounds like maybe that would work but mostly it's just marketing nonsense I just want to write some stuff and I was like okay just suspend your disbelief just go with it let's just run this dojo for six weeks with the product manager and by the end you could see the different attitude for the team they were completely bought into it it was actually amazing to see that transformation what would that be can you repeat that sorry sorry the one thing if you had to pick out one thing that's the most important factor in a successful adoption of these practices what would you say that would be willingness courage I mean this is not easy but it's like I say it's a little leap of faith believing in the process and then seeing the results great thank you thank you