{"id":1982,"date":"2022-11-11T11:47:50","date_gmt":"2022-11-11T11:47:50","guid":{"rendered":"https:\/\/tomgeraghty.co.uk\/?p=1982"},"modified":"2023-06-06T09:05:49","modified_gmt":"2023-06-06T09:05:49","slug":"platform-vs-product","status":"publish","type":"post","link":"https:\/\/tomgeraghty.co.uk\/index.php\/platform-vs-product\/","title":{"rendered":"Platform Engineering and the Platform Operating Model"},"content":{"rendered":"<p><strong>TL;DR: What is platform engineering? Isn&#8217;t that just old Dev vs Ops thinking? What is the Platform Operating Model?<\/strong><\/p>\n<p>A platform operating model is:<\/p>\n<p><em>\u00a0\u201ca business model that creates value by facilitating exchanges between two or more interdependent groups, usually consumers and producers.\u201d<\/em><\/p>\n<p>Applying DevOps thinking, we can adopt that model internally to organisations, by considering a platform team as the producers of the platform service to a range of consumers &#8211; the value-stream oriented product teams.<\/p>\n<p><span style=\"font-weight: 400;\">Value stream-aligned teams focus on a single value (or revenue) stream, because that singular laser focus on the success of their product maximises the return on investment. However, it\u2019s not efficient or effective for each stream-aligned team to use and maintain all the underlying technology beneath it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In the old days, we might have addressed this with a separate Ops team who provided the infrastructure, but that (as we know) caused inefficiencies, bottlenecks, and created \u201cwalls of confusion\u201d when applications were thrown over from Dev to Ops in order to run in production. Instead, modern platforms allow stream-aligned teams to consume platform services in order to run their own workloads. The stream-aligned team \u201cpull\u201d services from the platform team, instead of \u201cpushing\u201d the application over to an operations team.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">An effective <a href=\"https:\/\/www.honeycomb.io\/blog\/future-ops-platform-engineering\">platform engineering<\/a> capability achieves an economy of scale by allowing multiple stream aligned teams to consume the same platform, but primarily aims to improve *flow*, and reduce the cognitive load of developers using the platform.<\/span><\/p>\n<p><b>So, what is a platform?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">\u201cA digital platform is a foundation of self-service APIs, tools, services, knowledge and support which are arranged as a compelling internal product. Autonomous delivery teams can make use of the platform to deliver product features at a higher pace, with reduced co-ordination.\u201d<\/span><\/p>\n<p><span style=\"font-weight: 400;\">From Evan Bottcher, 2018<\/span><\/p>\n<p><a href=\"https:\/\/martinfowler.com\/articles\/talk-about-platforms.html\"><span style=\"font-weight: 400;\">https:\/\/martinfowler.com\/articles\/talk-about-platforms.html<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><b>And what is a product?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A product simplifies something for the consumer, solves a market problem and\/or addresses a customer\u2019s need or desire. In the case of an internal platform, the market is an internal market, and the customer is the stream aligned team(s). This is also why an organisation may create multiple platforms and platform engineering teams: different stream aligned teams have different needs, and to meet all those needs, a platform would end up being too large, cumbersome and bulky, like a huge swiss army knife with a hundred features when you only need a knife.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Amazon\u2019s founder, Jeff Bezos, once said, \u201c<\/span><a href=\"https:\/\/www.businessinsider.com\/jeff-bezos-amazon-ceo-advice-12-best-2021-7?r=US&amp;IR=T\"><span style=\"font-weight: 400;\">Your goal should be to create value for everyone you interact with.<\/span><\/a><span style=\"font-weight: 400;\">\u201d<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">A product is:\u00a0<\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">Coherent<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Evolving<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Long lived<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Supported<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Owned<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Designed with the user (customer) in mind<\/span><\/li>\n<li><span style=\"font-weight: 400;\">And it\u2019s worth noting that all products also have *names*<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">In most organisations, a product also requires a Product Owner, who is responsible for translating business strategy, product vision, customer needs and preferences, and balancing these priorities against non-functional requirements, proactive preventative maintenance etc. A platform should be no different in this respect: without a product owner, the platform may drift away from what is most valuable for the business and the users of the platform, costs of running it may increase beyond the ROI of its utility, and it may suffer from feature sprawl, technical debt, poor reliability and unplanned work.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Let\u2019s draw out some of those words from Evan\u2019s definition.<\/span><\/p>\n<p><strong>APIs, tools and services:<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">This means that it\u2019s not just \u201cone\u201d technology. A single platform may possess multiple options for use, multiple optional features and functions. One user may use a completely different suite of features than another, but they\u2019re both consuming the same product.<\/span><\/p>\n<p><strong>Knowledge and support:<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">A product doesn\u2019t just get given to the consumer without any support or guidance about how to use it. Of course, it should be as usable and fit for purpose as possible without extra instructions or guidance, but just as you should be able to get into a modern car and drive it without referring to a manual, it still comes with a manual to help you realise the maximum benefit of the product. And more than that, a product come with a support team &#8211; who you can reach out to for help when you need it. A support team isn\u2019t just there to process support tickets &#8211; they work with users of the product to help them make the most of it *and* gain essential and valuable feedback to drive the evolution of the product.<\/span><\/p>\n<p><strong>A \u201ccompelling internal product\u201d<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">A platform is <a href=\"https:\/\/www.slideshare.net\/ManuelPais\/what-is-platform-as-a-product-clues-from-team-topologies-axa-sep-2021\">\u201cA curated experience for engineers.\u201d<\/a><\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thanks to Matthew Skelton and Manuel Pais for this term.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There are two key points to make here &#8211; one is that the product consists, as we described above, of tools, APIs, documentation, services, alongside support and advice on how to use it. It consists, essentially, of everything required to make that experience as positive as possible for engineers to get their job done.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">One of the primary goals of platform engineering is to reduce the cognitive load of the engineers and developers using it. Users of the platform are solving complex problems, and the more that any of their attention is taken in working out how to access something, how a feature works, what the API specification shows, or anything else, the less of that cognitive capacity is spent on addressing the business problems that they\u2019re tasked to solve. The more that the platform can allow people to maximise their *germane* cognition, reducing extraneous cognitive load, the better the end result. The safest cars are also those that are easiest to drive, because we can spend more of our attention on the actual task of driving safely.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The best platform therefore, provides just what the stream aligned team needs, nothing more, and reduces the cognitive load of the people using it. It evolves according to feedback from the users of the platform, \u201ccompetes\u201d with other platforms in the organisation to be the best one to use (the compelling internal product), is owned by the <a href=\"https:\/\/tomgeraghty.co.uk\/index.php\/platform-as-a-product\/\">platform team<\/a>, and has a cool name.\u00a0<\/span><\/p>\n<h2>Funding Models:<\/h2>\n<p>Funding for platform engineering typically falls into two categories: operational funding and project funding. Operational funding is used to maintain the existing platform and deliver continuous service to users. This includes the costs of hosting, licensing, monitoring, and supporting the platform. Project funding, on the other hand, is used for new developments and expansions of the platform. This could include the development of new features, integrations, or scaling efforts.<\/p>\n<p>In many organizations, funding is often allocated based on the value a platform brings to the business. This means that a platform that supports high-value or high-revenue generating teams might receive a larger slice of the budget. However, it&#8217;s crucial to ensure that funding decisions consider the long-term sustainability and evolution of the platform, rather than just immediate revenue potential.<\/p>\n<h2>Organisation Structure:<\/h2>\n<p>In terms of organisation structure, platform engineering usually sits at the intersection of technology and business, providing a bridge between technical and non-technical teams. The platform team is often composed of cross-functional roles such as product owners, engineers, architects, and designers, each with their own specialities but sharing a common goal &#8211; to build and maintain a robust, efficient, and user-friendly platform.<\/p>\n<p>This team often works closely with other teams in the organization, known as the stream-aligned teams, to understand their needs, deliver the necessary platform services, and gather feedback for future improvements.<\/p>\n<p>Overall, the organization structure, governance, management, and funding models for platform engineering all aim to foster a collaborative, customer-centric environment. The goal is to provide an effective platform that reduces the cognitive load on its users, allowing them to focus on delivering value to the business, and evolves in response to feedback and changes in the business environment. It&#8217;s a dynamic, ever-evolving process that requires a commitment to continuous improvement and customer satisfaction.<\/p>\n<h2>Summary<\/h2>\n<p>Platform engineering, under the guidance of a strategic leadership team, functions as a bridge between technology and business in an organisation, aiming to provide robust, efficient, and user-friendly platforms. This is achieved by a cross-functional team, including a product owner, who is responsible for the platform&#8217;s evolution, balancing operational maintenance, and prioritising feature development. Funding is typically bifurcated into operational and project-based categories, with allocation decisions influenced by the value a platform brings to the business and its long-term sustainability. The organizational structure promotes a collaborative environment, with platform teams working closely with stream-aligned teams to understand their needs and provide necessary platform services. The ultimate goal is to reduce cognitive load on users and allow them to focus on delivering value to the business while ensuring the platform evolves responsively to feedback and business environment changes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR: What is platform engineering? Isn&#8217;t that just old Dev vs Ops thinking? What is the Platform Operating Model? A platform operating model is: \u00a0\u201ca business model that creates value by facilitating exchanges between two or more interdependent groups, usually consumers and producers.\u201d Applying DevOps thinking, we can adopt that model internally to organisations, by &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/tomgeraghty.co.uk\/index.php\/platform-vs-product\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Platform Engineering and the Platform Operating Model&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1982","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=1982"}],"version-history":[{"count":12,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1982\/revisions"}],"predecessor-version":[{"id":2106,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1982\/revisions\/2106"}],"wp:attachment":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=1982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=1982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=1982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}