Platform as a Product in 4 step

8 minutes Leggi
30 Ottobre 2024

Questo articolo è stato pubblicato in origine su The New Stack.

 

Il Platform engineering è sempre più importante e dominante nel mondo cloud native, ma c’è ancora molto da imparare sulla creazione di piattaforme di successo. Questa sfida potrebbe sembrare schiacciante all’inizio, ma esiste un metodo potente che rende più semplice iniziare: l’approccio Platform as a Product.

Platform engineering è la disciplina di progettazione e realizzazione di Internal Developer Platform (IDP). Secondo il white paper sulle piattaforme redatto da Cloud Native Computing Foundation (CNCF) , una IDP è:

“… una base di API self-service, strumenti, servizi, conoscenze e supporto… organizzati come un prodotto interno convincente. I team di delivery autonomi possono utilizzare la piattaforma per fornire funzionalità di prodotto a un ritmo più elevato, riducendo i tempi di coordinamento ridotto”.

Per avere successo, i platform team devono creare una IDP che sia efficace e convincente. Le piattaforme efficaci risolvono problemi reali per sviluppatori, manager e dirigenti. Ma l’efficacia da sola non è sufficiente per guidare l’adozione. I platform team devono progettare e commercializzare l’IDP in modo che gli sviluppatori vogliano utilizzarlo. L’approccio Platform as a Product aiuta i platform team a identificare come una IDP efficace e convincente appare  per la loro organizzazione.

Cosa si intende con Platform as a Product?

L’idea che le piattaforme debbano essere trattate come prodotti risale all’articolo del 2018 di Evan Bottcher “What I Talk About When I Talk About Platforms“:

“Un ingrediente chiave per il successo nel trovare questo equilibrio è che le piattaforme devono essere convincenti da utilizzare, non possono basarsi solo su un mandato.” 

Gli autori di “Team Topologies” Manuel Pais e Matthew Skelton hanno approfondito il tema del platform product management.

L’approccio Platform as a Product implica la definizione della tua mission, la ricerca degli utenti, l’utilizzo del Minimum Viable Product (MVP) e del Thinnest Viable Platform (TVP) per allocare le risorse interne in modo efficiente e fare marketing della tua piattaforma internamente per ottenere adesioni. Nei successivi paragrafi vi riassumerò ciò che hanno condiviso i professionisti della community del Platform Engineering sulla base della loro esperienza.

1. Definisci la tua mission

Nuovi platform team spesso hanno a che fare con prospettive contrastanti sulle responsabilità del loro dominio, su come collaborare con altri team e l’aspetto del successo. Definire un mission statement può aiutare a definire l’identità del platform team. In Doma, il team di Michael Galloway ha intervistato sviluppatori, parlato con altri gruppi di stakeholder e valutato metriche quantitative delle prestazioni per identificare il loro scopo: “rendere veloce e facile la creazione di grandi prodotti”.

Mission statement forti sono come le canzoni pop di successo: sono semplici, significative e fanno provare qualcosa alle persone. “Affinché uno scopo funzioni, devi sentirlo, non solo conoscerlo”, afferma Galloway.

2. Fai le tue ricerche

Creare una piattaforma che risolva problemi reali e conquisti il ​​cuore degli sviluppatori richiede una profonda comprensione dei loro workflow, delle sfide e di come le soluzioni esistenti siano carenti. I platform team di successo utilizzano vari metodi di ricerca e di feedback degli utenti per aggiornare la loro roadmap dell’IDP. Trovano un equilibrio tra la quantità e la qualità del feedback scegliendo metodi di ricerca “low-touch” e “high-touch”.

  • Low touch: I sondaggi raccolgono in modo rapido ed efficiente il sentiment generale e identificano i pain point comuni di un ampio bacino di sviluppatori.
  • Medium touch: Le richieste di commenti (in inglese, Requests for Comments) e le interviste individuali richiedono più tempo, ma consentono agli sviluppatori di elaborare questioni specifiche e proporre soluzioni.
  • High touch: L’integrazione di platform advocate o di team di abilitazione direttamente nei team di sviluppo fornisce miglior feedback e contesto. Questo approccio consente l’osservazione real time dei workflow e dell’esperienza diretta delle frustrazioni degli sviluppatori.

Secondo Nicki Watt di OpenCredo , un product manager tecnico della piattaforma svolge un ruolo cruciale in questo caso. Agisce come traduttore, sintetizzando prospettive potenzialmente contrastanti in una roadmap praticabile. Il suo lavoro sarà comprendere le esigenze degli sviluppatori e costruire qualcosa di cui hanno realmente bisogno.

Ricorda, la ricerca degli utenti non dovrebbe essere un’attività svolta una tantum. È un processo continuo per tutto il ciclo di vita della piattaforma. Raccogliendo feedback in modo costante, i platform team possono garantire che la piattaforma rimanga rilevante e risponda alle esigenze aziendali in evoluzione.

3. Realizzare un Minimum Viable Product e mantenere il Thinnest Viable Platform

Le piattaforme hanno un potenziale infinito, ma i platform team hanno risorse limitate. Minimum Viable Product (MVP) e Thinnest Viable Platform (TVP) sono concetti che aiutano ad allocare in modo ottimale tali risorse.

Con un approccio MVP, i platform team creano la versione più semplce del prodotto richiesta per ottenere feedback dagli utenti. Gli MVP aiutano i platform team a convalidare le ipotesi iniziali ed evitare di sprecare risorse su funzionalità non necessarie o inefficaci. Una documentazione self-service può essere intesa come un MVP.

TVP è un concetto complementare introdotto da Skelton e Pais:

“Il più piccolo set di API, documentazione e strumenti necessari per accelerare i team che sviluppano moderni servizi e sistemi software.”

Ciò che costituisce un TVP si evolve naturalmente nel tempo. Man mano che le soluzioni di terze parti diventano competitive con gli strumenti interni di un’organizzazione, i platform team devono scegliere tra la manutenzione dei componenti realizzati o l’outsourcing a un fornitore. Con un approccio TVP, i platform team assegnano risorse interne solo a ciò che fornisce un valore aziendale unico.

Blogpost_Paas4steps-MVPandTVP

4. Promuovi la tua piattaforma

Realizzare un IDP è un’impresa importante. I platform team devono sponsorizzare il loro lavoro per sostenere l’adesione dei gruppi di stakeholder in tutta l’organizzazione.

Nel suo intervento tenuto durante la conferenza PlatformCon del 2023 “How to Communicate the Business Value of Platform Engineering”, Manjunath Bhat di Gartner ha osservato che molti platform team hanno difficoltà a spiegare il valore della progettazione di piattaforme oltre DevOps. Ciò rappresenta un problema quando si cerca di ottenere l’adesione di stakeholder senza competenze tecniche che non capiscono come i miglioramenti ingegneristici influenzino le priorità aziendali più ampie. I platform team dovrebbero imparare a parlare la lingua di diversi gruppi di stakeholder quando devono comunicare il business value.

Blogpost_Paas4steps-stakeholdersConcernsResponse

Ispirato da: https://www.youtube.com/watch?v=ApEOiNC4GrA

La sfida del Platform as a Product

Un aspetto che rende l’approccio al prodotto sfidante è che molti team pensano di seguirlo quando nella realtà non è così. Di seguito elenco alcuni equivoci comuni riportati da Nicki Watt nel suo intervento sull’argomento:

  • I nostri utenti sono proprio come noi!“: I platform engineer sono più vicini ai loro utenti e spesso, involontariamente, fanno più supposizioni su di loro. Tuttavia, creare un prodotto efficace e desiderabile richiede lo stesso processo indipendentemente dal fatto che l’utente sia interno o esterno.
  • Possiamo semplicemente rendere la piattaforma obbligatoria!“: Rendere obbligatoria l’adozione della piattaforma scoraggia gli sviluppatori dal fornire feedback volontari e può creare maggiori vulnerabilità di sicurezza in generale.
  • O la mia strada o l’autostrada!“: Alcuni platform team presumono che sia meglio imporre un modo giusto di fare le cose. Tuttavia, piattaforme eccessivamente prescrittive possono costringere gli sviluppatori a soluzioni non ottimali.
  • Non abbiamo bisogno di un product manager per la piattaforma!“: Alcune organizzazioni si tirano indietro quando si tratta di dedicare un PM per la realizzazione e la gestione di strumenti interni. Tuttavia, i PM si concentrano sulla comprensione delle sfide degli sviluppatori e sul mantenimento delle relazioni tra il platform team e gli stakeholder rilevanti in maniera diversa da come farebbero sia i manager sia i platform engineer.
  • Costruiamo fin da subito subito nel modo giusto!“: Il problema con questo approccio del “costruire subito” è che si dà per scontato che la soluzione migliore sia quella tecnica. Il successo dei platform team passa dall’utilizzo di diverse forme di abilitazione, ove opportuno.

Platform as a Product come chiave per il Platform Engineering

L’approccio Platform as a Product è fondamentale per la creazione di IDP di successo. Trattando l’IDP come un prodotto con una missione definita, attività di ricerca utente e marketing mirate, i platform team possono garantire di creare qualcosa di cui gli sviluppatori non solo hanno bisogno, ma che vogliono utilizzare.

Questo approccio non è esente da sfide. I platform team devono evitare la tentazione di fare supposizioni sugli utenti interni, imporre l’utilizzo o dare priorità alle soluzioni tecniche rispetto al coinvolgimento degli utenti. È qui che la community del Platform Engineering è qui per aiutare.

Per ulteriori approfondimenti, visita il blog di Mia-Platform. Scopri di più su diversi temi di attualità in ambito Platform Engineering quali l’impatto sulla produttività degli sviluppatori, i sette componenti principali di un Internal Developer Platform e la realizzazione dei cosiddetti “golden path”.

Mia-Platform Platform Company
Torna all'inizio ↑
INDICE
Cosa si intende con Platform as a Product?
La sfida del Platform as a Product
Platform as a Product come chiave per il Platform Engineering