È normale che gli sviluppatori suggeriscano idee di funzionalità ai proprietari di prodotti? [chiuso]


16

Ho iniziato a lavorare come sviluppatore abbastanza di recente, avendo lavorato come amministratore di sistema in precedenza.

La mia comprensione di come un team di sviluppo software che utilizza le funzioni Agile è che la comunicazione "ciò di cui abbiamo bisogno per implementare" avviene principalmente in una direzione, dal proprietario del prodotto agli sviluppatori. Gli sviluppatori possono esprimere le loro preoccupazioni al proprietario del prodotto in merito al debito tecnico, ma elaborare idee sulle funzionalità non dovrebbe essere una delle loro principali responsabilità.

La società a cui sto lavorando ha una visione diversa. Per loro, gli sviluppatori dovrebbero non solo rivolgersi ai proprietari dei prodotti del proprio team per suggerire idee sulle funzionalità, ma anche ai proprietari dei prodotti di altri team se pensano di avere qualcosa per contribuire al prodotto di quel team. L'idea è che siamo tutti un grande team <nome dell'azienda> e tutti gli sviluppatori dovrebbero usare la loro esperienza per spingere le funzionalità che ritengono utili.

Un tale approccio è "normale", in mancanza di una parola migliore? Sono troppo passivo, dovrei prendere l'iniziativa e iniziare a spingere idee ai proprietari di prodotti? Al contrario, la società ha sbagliato completamente e dovrei cercare lavoro altrove?


15
Certo, i programmatori spesso sanno molte cose di cui il proprietario del prodotto non ha mai sentito parlare. Prendi lo sviluppo web, ci sono servizi, API, qualsiasi quantità di librerie e plugin ed elementi dell'interfaccia utente. Lavoriamo spesso con clienti che non hanno molto più di una vaga idea di ciò che vogliono fare, ma non sappiamo quali sono i modi comuni per implementarli o quali funzionalità aggiuntive sarebbero possibili.
Thorsten Müller,

1
Provi risentimento o conseguenze negative per non aver suggerito funzionalità? Sembra che la tua azienda voglia incoraggiare la pratica e non punire coloro che non lo fanno.
JeffO,

Questo è il normale processo in due aziende per cui ho lavorato. Sono arrivato a capire che gli uomini d'affari non hanno idea di quanto siano preziosi noi sviluppatori nelle soluzioni / capacità di problem solving. La nave che salta probabilmente si imbatterà nello stesso problema. Suggerire nuove funzionalità alle persone del prodotto come se fosse una soluzione, si chiama gestione dei gestori e funziona bene. L'unico problema è che non ottieni credito per le tue idee ma almeno le tue funzionalità vengono implementate.
Jason,

IMO questa è un'ottima cosa e molto salutare. I proprietari dei prodotti possono essere esperti nel settore aziendale ma probabilmente non sono a conoscenza di ogni nuova tecnologia o approccio tecnico disponibile. Inoltre, gli sviluppatori possono avere approfondimenti sul sistema che provengono dalla diversa prospettiva di lavorare direttamente con il codice. Sicuramente vuoi stare con un'azienda che accoglie idee da tutti, indipendentemente dal ruolo. Non significa che i proprietari siano all'oscuro, significa che sono aperti alle idee di tutti.
Ken Liu,

Risposte:


2

Dipende da cosa intendi per idee di funzionalità.

Nel gioco di pianificazione, non è raro che gli sviluppatori forniscano input su una storia che potrebbe finire nell'iterazione. Tuttavia, questo è molto diverso dagli sviluppatori che escogitano storie per conto proprio.

Nei sistemi maturi, gli sviluppatori possono suggerire un modo per aggirare un problema noto che potrebbe trasformarlo in un'iterazione.

I miglioramenti potrebbero essere OK, ad esempio aggiungendo un grafico per un rapporto, ma le campane di allarme suonerebbero per me se gli sviluppatori avessero inventato nuove storie in buona fede. Se ci fosse un valore reale in questo, mi metterei in dubbio perché non esistesse una storia non implementata esistente per questo o perché non sia mai venuta fuori nella retrospettiva.


1
Non interpreto la filosofia della mia azienda nel chiedere agli sviluppatori di inventare storie e non ricordo di averlo visto accadere. Quello che penso che vogliono è, una volta che un'idea è stata emessa e uno sviluppatore è diventato proprietario della sua esecuzione, è responsabilità dello sviluppatore sostenere tale idea fino alla fine.
Louniks,

1
Quindi stai dicendo che le campane di allarme suonano quando uno sviluppatore pensa a un'idea a cui un proprietario del prodotto non ha pensato? Perché sarebbe una cosa così brutta?
Stefan Billiet,

1
Lanciare idee va bene - è parte integrante del gioco di pianificazione. Se fosse una nuova storia, lo metterei in discussione. Le storie offrono valore per il cliente che, a dire il vero, gli sviluppatori non sono normalmente nella posizione migliore per valutare (a meno che non siano esperti di dominio). Se qualcosa appare nell'iterazione è determinato dal valore della storia e dallo sforzo degli sviluppatori nel gioco di pianificazione. Il coinvolgimento degli sviluppatori nella creazione di storie potrebbe causare un potenziale conflitto di interessi qui. Questo non vuol dire che non potrebbe accadere - solo che il proprietario del prodotto dovrebbe quindi difenderlo, altrimenti è la coda che scuote il cane.
Robbie Dee,

47

Il motivo per cui molti sviluppatori sono "passivi", come dici tu, è perché ci vuole una certa quantità di conoscenza ed esperienza del dominio prima che le buone idee di prodotto arrivino a te. Ma se arrivano, non c'è motivo di non suggerirli e difenderli.

Ricorda: sviluppatori, proprietari di prodotti, venditori, ecc. Fanno parte dello stesso team, con lo stesso obiettivo: creare un prodotto di successo. Lavora verso quell'obiettivo come puoi.


Penso che tu l'abbia inchiodato: sono atterrato in un team che lavora con tecnologie con cui ho pochissima esperienza, quindi è difficile per me essere proattivo. Dovrà esserci un periodo di apprendimento durante il quale rimango passivo. Successivamente, una volta che mi sento a mio agio con la tecnologia, posso iniziare a essere proattivo.
Louniks,

1
@louniks no ti manca il punto. La tecnologia non è ciò che conta. Il business è ciò che conta. Quanto sono trasparenti gli uomini d'affari? Sei a conoscenza di come l'azienda intende fare soldi? Sei a conoscenza di come il prodotto su cui stai lavorando si adatta agli altri prodotti dell'azienda? Altrimenti, il tuo datore di lavoro non ti è giusto. Non puoi suggerire funzionalità se non conosci il piano aziendale.
RibaldEddie,

3
@RibaldEddie Non sono d'accordo con l'ultima parte. Chiunque dovrebbe essere libero di suggerire funzionalità. I proprietari dei prodotti e della gestione sono ancora liberi di determinare se la funzionalità va ovunque. Non trascurare la possibilità che uno sviluppatore con dominio e conoscenze tecniche sufficienti possa realizzare un'enorme funzionalità per fare soldi che è completamente al di fuori del piano aziendale originale. Il proprietario di un prodotto potrebbe non avere mai la stessa idea a causa di conoscenze tecniche limitate.
Dan Lyons,

1
Sembra una situazione pericolosa in cui trovarsi: significa che gli uomini d'affari per i quali lavori non sanno cosa stanno facendo. È IL LORO LAVORO essere esperti in questo settore. Altrimenti perché sono lì? Sul serio. Se gli sviluppatori forniscono questo tipo di informazioni, gli sviluppatori potrebbero anche gestire la società. Qualcos'altro è spreco.
RibaldEddie,

Non sempre è necessaria una conoscenza dettagliata del dominio per suggerire miglioramenti tecnici ...
Robbie Dee,

5

Con i tuoi discorsi su sviluppatori e proprietari di prodotti, mi sembra che tu non abbia una persona di mezzo responsabile delle funzionalità della tua organizzazione.

Bene, nella mia organizzazione, sono quella persona. Sono l'ingegnere dei requisiti, colui che ha imparato a definire buone specifiche e a scegliere funzionalità che si traducono in un software di alta qualità con un design di interazione intuitivo. (In altre organizzazioni è la persona UX che ottiene lo stesso lavoro, potresti avere più familiarità con quel termine).

E posso dirti: ottenere una buona specifica è difficile. Naturalmente, gli sviluppatori odiano farlo. È un peso per loro: sono lì per costruire un software, non per pensare ai giochi di potere tra le parti interessate e ai modelli mentali degli utenti pigri. Ma sai una cosa? È un onere anche per i proprietari dei prodotti. Non conoscono meglio quali funzionalità dovrebbero contenere i loro software rispetto agli sviluppatori o agli utenti. La creazione di una specifica valida è un'abilità appresa e se non l'hai mai imparata, non puoi esserne brava. Certo, ci sono molti sviluppatori e proprietari di prodotti che possono farlo, perché hanno dovuto farlo in progetti precedenti. Ma il proprietario o lo sviluppatore medio del prodotto lotta con esso, perché naturalmente non è compito suo farlo. Non tutti coloro che possono guidare un'auto possono progettare un'auto; allo stesso modo,

Puoi sviluppare software senza un ingegnere dei requisiti? Certo che puoi. Mettere l'intero peso delle specifiche sulle spalle del proprietario del prodotto non è giusto e non va bene per il risultato del progetto. Soprattutto perché si trova di fronte a un compito insolitamente difficile per lui, ottenere input e supporto dagli altri è molto utile. Se ti trovi in ​​una situazione del genere, non guardare il tuo povero proprietario del prodotto e dire "dimmi cosa devo fare per te e io ti farò", non sa davvero di cosa ha bisogno. Ma una discussione con te lo aiuterà ad articolare i suoi pensieri ed esplorare le sue idee.

Quando non c'è nessun ingegnere dei requisiti nella struttura del progetto, c'è un altro problema: non c'è un moderatore. Tutti gli sviluppatori sono dal punto di vista tecnico, tutti i proprietari di prodotti sono dal lato degli affari. Quando le due culture si scontrano, possono sorgere conflitti, con ciascuna parte che giudica l'altra stupida e irragionevole (perché usa il proprio sistema di valori per giudicare). Quindi, parla con il proprietario del tuo prodotto delle possibili funzionalità, ma sii educato e paziente anche quando pensi che non se lo meriti; il successo del progetto dipende dal modo in cui voi due potete andare d'accordo, e talvolta prendere la decisione non ottimale è meglio che non prendere alcuna decisione a causa del conflitto. Potrebbe essere utile stabilire una gerarchia e dare a uno di voi due l'ultima parola, in quanto ciò impedisce conflitti in stallo. Se ottiene l'ultima parola, rimanda ad essa anche se ritieni che sia ingiusto.

Informazioni sulla parte "passiva": se non hai idee, non cercare di inventare qualcosa solo per mostrare attività. Se il proprietario del prodotto è già insicuro e non conosce buoni criteri per valutare le proprie idee, strane idee "solo per avere qualcosa" renderanno ancora più difficile una situazione già difficile. Elaborare idee utili non è magico, ma richiede conoscenza. Se non l'hai imparato dai libri di testo, probabilmente avrai bisogno di alcuni anni di esperienza degli sviluppatori, specialmente in progetti in cui sei esposto agli utenti o ai dati di usabilità generati dagli utenti (analisi, misurazioni della soddisfazione) prima che il tuo cervello risolva i modelli da solo e inizi a notare: c'è un problema che possiamo risolvere qui. Sembra che agli utenti manchi qualcosa in questa pagina, cosa può essere? Quindi avrai buone idee da condividere.

Conclusione 1: nei progetti senza ingegnere per i requisiti, è bene fornire suggerimenti quando sono disponibili. Fallo con sensibilità e tatto: è indispensabile evitare conflitti anche se ciò significa che la tua buona idea viene stroncata sul nascere.

E se fai parte di una squadra con un ingegnere requisiti?

Adoro ascoltare le idee delle caratteristiche di tutti! Sì, a volte le idee degli sviluppatori sono terribili (quando vogliono far sì che l'interfaccia utente segua la logica di programmazione). Le idee dei proprietari dei prodotti sono spesso terribili (quando vogliono il sole e la luna con un budget ridotto - oh, e l'utente dovrebbe inserire pagine di informazioni personali con la massima qualità dei dati, senza ottenere nulla in cambio). Ma il mio compito è quello di elaborare una specifica che faccia bene a tutti i membri del team. E anche se la tua idea non funzionerà mai, sentirla mi rende consapevole che hai delle preoccupazioni. Potresti aver scelto la soluzione sbagliata da suggerire, ma ciò non rende la tua preoccupazione meno valida. Se l'hai notato, probabilmente deve essere affrontato (o devo trovare un motivo per cui non è una minaccia). Se hai un ingegnere dei requisiti responsabile della specifica, non esitare mai ad andare da loro con suggerimenti. Se non ti ascoltano, stanno facendo qualcosa di sbagliato (nota che "considerare" non significa "accettare").

Un ingegnere dei requisiti deve visualizzare il progetto dal punto di vista di ciascun stakeholder separatamente (e talvolta allo stesso tempo). Siamo solo umani e spesso non ci riusciamo. Se sei lì per fornire il tuo vero punto di vista, invece del punto di vista che pensiamo di avere, allora il tuo contributo è molto prezioso.

Puoi essere più libero nel tuo comportamento qui. Il mio compito è di ballare la sensibilità. Non essere apertamente aggressivo, questo ostacola il mio lavoro, ma hai bisogno di meno autocontrollo e consapevolezza culturale / comunicativa, perché posso prendere il controllo. Inoltre, non stai fluttuando, in una situazione in cui ci sono due idee contrastanti e nessuno può giudicare quale sia il migliore. Dovrei saperlo, e se non funziona, è la mia testa nel cappio.

Conclusione 2: se nel team è presente un ingegnere dei requisiti, consultare i suggerimenti sulle funzionalità del prodotto. Questa volta non hai bisogno di guanti di velluto.

E infine, se non ci fosse un ingegnere dei requisiti, il proprietario del prodotto è sopraffatto e in cerca di idee, il capo ti sta puntando e non hai idee da offrire?

Hai alcune opzioni. L'unico è, come hai detto, smettere. Non tutte le organizzazioni funzionano in questo modo e se questo ambiente non è adatto a te, trovane uno migliore. Ti farà bene a lungo termine.

Puoi anche aspettare e vedere se qualcosa cambia. Il prossimo progetto può avere un product owner più esperto (o uno con più leadership). Ma non puoi fermarti per sempre.

La terza opzione è quella di imparare da soli alcuni requisiti tecnici. Questa è un'abilità molto ricercata in questi giorni. Anche se non hai mai intenzione di assumere posizioni in cui sei un ingegnere dei requisiti a tempo pieno, avere questa abilità migliora il tuo valore come sviluppatore, in quanto ti consente di capire meglio gli altri membri del tuo team (e dei tuoi utenti) e rende il processo di sviluppo procede più agevolmente. E non devi andare fino in fondo. Un libro di testo entry-level che spiega attività, flussi di lavoro, modelli mentali e modelli di dati centrati sull'utente ti consentirà già di individuare molte opportunità di miglioramento in un software progettato da un team di uomini d'affari e sviluppatori. Don' Andiamo per i libri più spessi intesi come riferimento per gli accademici (come la recente traduzione di Pohl in inglese): sono più un elenco di tutti i metodi possibili per ogni piccolo passo, senza una spiegazione su come eseguirli. Scegli qualcosa orientato alla pratica.

Se lo provi e scopri che non hai alcun interesse personale nella zona, va comunque bene. Non forzarti a fare qualcosa che non ti piace. Ma probabilmente dovresti cercare un lavoro in un'organizzazione con una diversa struttura del team.

Conclusione 3: invece di aspettare anni per avere una comprensione intuitiva, leggi un libro o due e avrai già buone idee da fornire


+1 Questa è una risposta davvero completa. Le "Conclusioni" funzionano bene TL;DR.
James Khoury,

4

Sì, è abbastanza normale.

C'è un noto 80% di lavoro - 20% di modello di innovazione su google, in cui le persone il 20% del loro tempo si dedica a qualcosa che gli piace. In questo modo, non solo ottengono nuove funzionalità, ma anche nuovi prodotti e servizi.

Sono troppo passivo, dovrei prendere l'iniziativa e iniziare a spingere idee ai proprietari di prodotti?

Dipende dalla tua personalità. Ho lavorato con persone davvero appassionate, ma anche con persone senza emozioni che fanno il loro turno di 8 ore e vanno a casa.


Sembra che su Google gli sviluppatori stiano trascorrendo un po 'del loro tempo come proprietari di prodotti.
JeffO

I dipendenti di Google che lavorano ai propri progetti non sono la stessa cosa a meno che tu non stia parlando di un'altra iniziativa?
Robbie Dee,

@RobbieDee Sì, giusto. Lavorano sui loro progetti, ma google vende servizi che escono dai progetti.
BЈовић,

Ciò che intendo è che tali progetti non risiedono necessariamente nell'ambito di un progetto agile esistente. Possono essere completamente autonomi.
Robbie Dee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.