Credo che possa essere una buona pratica in casi specifici. Richiede uno speciale modello di business e la cultura aziendale, che Facebook sembra avere. Sicuramente non significa che possa essere copiato da qualsiasi altra azienda così com'è.
Citando l'articolo:
it’s apparent that Facebook’s culture has really embraced product management practices so it’s not as though the role of product management is somehow ignored or omitted. Rather, the culture of the company seems to be set so that everyone feels responsibility for the product.
Questo richiede infatti sviluppatori molto consapevoli e orientati all'utente che possono passare a indossare il cappello Product Manager (così come i cappelli Developer e Tester, già più noti nei circoli Agile). Il che a sua volta richiede non solo di selezionarli attentamente, ma anche di addestrarli e tutorarli in modo appropriato.
Credo che se gli sviluppatori abbracciano davvero questa visione, può essere molto efficace, in quanto esiste
- meno livelli distinti di comunicazione tra utenti finali e sviluppatori, riducendo così la necessità di comunicazione
- gli sviluppatori sono costretti a comprendere appieno il dominio e a valutare correttamente le implicazioni delle proprie decisioni tecniche specifiche, quindi c'è molto meno rischio di introdurre problemi di usabilità e bug.
Il lato negativo è che è facile per gli sviluppatori essere entusiasti di campane e fischietti che sembrano interessanti per loro, ma non fa alcuna differenza per gli utenti. Questo sembra essere evitato dai test di usabilità dal vivo:
arguments about whether or not a feature idea is worth doing or not generally get resolved by just spending a week implementing it and then testing it on a sample of users, e.g., 1% of Nevada users.