Tempo di completamento in un'azienda in cui i supervisori non conoscono la programmazione [duplicato]

65

Siamo in una piccola azienda con circa 10 sviluppatori. Sono il team leader e responsabile del processo di sviluppo.

Supervisori e venditori sono vicini a noi poiché siamo una piccola squadra, ma non abbiamo idea di come sia sviluppato il software.

Quando mi chiedono quanto tempo voglio per una modifica (correzioni di bug / caratteristiche) in un prodotto, la mia risposta è "consentimi di calcolarlo". Dopo aver dato loro il programma, iniziano dicendo OK puoi farlo in XX tempo, che differisce molto dal mio piano. Stiamo utilizzando un modello vicino ai principi di base di Agile e abbiamo cerchi a settimana o per tre giorni.

Ovviamente discuto e dico che questo non può essere fatto. Sembra che non abbiano idea dello sforzo che stiamo facendo. Non vogliono vedere WHY il mio programma è per quel lasso di tempo.

So che questo comportamento è stupido, ma come faccio a fargli vedere il problema?

    
posta odyodyodys 27.04.2012 - 12:01
fonte

17 risposte

67

Se anche gli addetti alle vendite sono i responsabili, puoi dire "Ok, posso seguire il tuo programma. Quali caratteristiche o responsabilità vorresti che io sacrificassi per poter rispettare la scadenza?" In questo modo non stai dicendo "no" ai responsabili, ma non ti stai impegnando in cose impossibili. La decisione è nelle loro mani come gestire l'attività. Se vogliono asciare altre cose per dedicare del tempo ai cambiamenti, lasciali.

EDIT: Dobbiamo rispettare e sottometterci a coloro che hanno autorità, pur continuando a svolgere il nostro lavoro con eccellenza. L'unico modo per farlo è con l'umiltà. Lavorerò su qualunque cosa il mio capo voglia farmi lavorare, ma posso solo fare così tanto. Quando gli dici che è con un atteggiamento di sottomissione, è in una posizione migliore per prendere decisioni migliori e vorrà più dipendenti come te.

Assicurati che anche queste cose siano documentate per spiegare perché gli impegni sono irragionevoli e come è stata risolta la situazione. Può aiutare i colleghi ad affrontare situazioni simili in futuro.

    
risposta data 05.07.2013 - 18:47
fonte
47

Nella mia esperienza, le persone di vendita pensano che tutto sia una negoziazione in cui ci si incontra da qualche parte nel mezzo. Questo è fondamentalmente il modo in cui funzionano. Cercano di vendere un prodotto a un cliente e di chiedere in alto, il cliente offre bassi e alla fine un prezzo che entrambe le parti concordano diventa l'accordo.

Portano anche questa mentalità sul piano di lavoro. Presuppongono che tu stia chiedendo troppe ore in modo che proveranno a discutere alcune ore, proprio come in una trattativa.

Fornire stime esatte mi ha dato solo grattacapi.

Quello che puoi fare è suonare insieme: dare una stima più alta dove possono radere alcuni durante la "negoziazione" e alla fine, finire con le ore che ti costa davvero fare.

    
risposta data 27.04.2012 - 12:49
fonte
26

Non mostrare loro il loro difetto!

Cerca di discutere meglio delle modifiche apportate, fornisci loro stime più dettagliate. Fai un suggerimento del tipo "Possiamo farlo nelle tue X ore invece delle mie Y ore, se daremo dei test del software per l'outsourcing". Oppure "Possiamo farlo più velocemente, se escludiamo questa parte della funzionalità richiesta".

    
risposta data 27.04.2012 - 11:37
fonte
21

"Dopo aver dato loro il programma, iniziano dicendo OK, puoi farlo in XX tempo, che differisce molto dal mio piano." Prima di tutto chiedi loro come hanno calcolato la loro XX volta.

Indica loro che è stato fatto un record della tua stima e della loro stima. Quindi puoi confrontare l'attuale con le previsioni e vedere chi è più preciso.

    
risposta data 27.04.2012 - 12:52
fonte
20

Di '"Sostieni la mia stima". E poi, naturalmente, ha raggiunto il tuo preventivo. Quando capita tre volte, probabilmente si fideranno di te.

    
risposta data 27.04.2012 - 12:41
fonte
17

"Quando mi chiedono quanto tempo voglio per un cambiamento"

A quel punto fermali. Non è quanto tempo desideri . È quanto tempo hai bisogno . Se insistono, dai loro il tempo che vuoi e il minimo che ti serve.

Può anche aiutare a mantenere una misura molto visibile del debito tecnico sostenuto a causa di tutte le scorciatoie forzate su di te dalle vendite. Nikolay è ampiamente ottimista sul fatto che tu possa influenzare le vendite tramite talk, quando il loro comportamento attuale ottiene loro dei bonus.

In effetti, se le vendite sono realmente guidate da tali incentivi, dovresti tenerne conto al momento di formulare la tua risposta. "La caratteristica non impegnata da Engineering" è un motivo perfettamente valido per eliminare una richiesta di vendita.

    
risposta data 27.04.2012 - 12:42
fonte
7

Per allontanarti dalla loro preoccupazione con le ore, cambia il gioco. Invece di stimare il tempo, stimare la complessità in relazione a un determinato caso di utilizzo che costituisce una linea di base.

Hai detto che hai un approccio Agile, perché non provare Scrum?

In altre parole fai Sprint brevi, digli che "sì in una settimana potrò sviluppare tre delle tue cinque funzioni", quindi assicurati di fornire queste tre caratteristiche. Chiedi loro di dare la priorità alle modifiche / caratteristiche / bug e di lavorare rigorosamente in questo ordine. (Naturalmente c'è di più.)

Insegnagli il triangolo di ferro del tempo, dei costi, della qualità e della portata. Tu correggi tre e il quarto è l'area del triangolo e quindi una funzione degli altri. Direi che probabilmente è più importante alla fine quando si consegna, quanto costa e, si spera, di fornire con qualità esattamente quello che si sta consegnando.

    
risposta data 27.04.2012 - 15:46
fonte
6

Questo è un enorme mio problema per i progetti di vendita / consulenza ed è una situazione difficile. Questo è spesso un problema di come funziona la società.

È un classico caso di coda che cerca di scimmiottare il cane, i venditori che fanno tutto il possibile per chiudere la vendita, promettendo il mondo in termini di funzionalità, e garantendo un ridicolo periodo di tempo, processo di sviluppo del software e tutto / un altro essere dannato .

O ti ascolteranno o non lo faranno, non è necessariamente un fatto che non capiscono, più probabilmente, sanno bene, ma tutto ciò a cui tengono è chiudere la vendita, ottenere il business e preoccuparsi le scadenze più tardi.

Detto questo, i clienti possono essere un problema nel sedere, vogliono che le cose vengano fatte a buon mercato e vogliono sapere quando sarà fatto. E vogliono uno sconto per l'avvio.

Un modo per mitigare questo è avere un tecnico coinvolto nelle riunioni di vendita. Ora questo non è necessariamente fattibile in ogni azienda, ma potrebbe essere l'unico modo per provare almeno a regnare nei venditori.

    
risposta data 27.04.2012 - 11:59
fonte
4

Potrebbe aiutare a distinguere tra quanto tempo ci vorrà e quanto tempo verrà addebitato. Quanto tempo ci vorrà è una decisione tecnica, non hanno basi per non essere d'accordo con te, essere testardo. Quanto i venditori vogliono addebitare per quel tempo è la loro decisione e la loro responsabilità di vendere al cliente.

Oltre a ciò, gli incentivi devono essere risolti o dovrai sempre combattere una dura battaglia. Se i bonus di vendita non vengono pagati sul valore assoluto della vendita, ma sulla differenza tra il valore della vendita e il costo di consegna, hanno un incentivo ad ascoltarti.

    
risposta data 27.04.2012 - 14:37
fonte
4

Se vogliono tagliare il programma - chiedi loro quali caratteristiche vogliono essere tralasciate e la priorità di quelle.

Quindi lavora sulle funzionalità in ordine di priorità e dì loro che possono avere il prodotto quando vogliono, ma non conterrà tutte le funzionalità richieste fino alla data di fine specificata inizialmente.

    
risposta data 27.04.2012 - 18:02
fonte
2

Se è un problema persistente, che ne dici di distaccare un addetto alle vendite nel team di sviluppo per una settimana o due. Date loro un libro sul linguaggio di programmazione X e ditegli di farlo nella loro stima. Il 99% delle volte fallirà miseramente, e sarà riluttante a interrogare nuovamente le vostre stime. Potrebbero anche avere un'idea di cosa serve per lo sviluppo del software e capire che non stanno aiutando il processo.

    
risposta data 27.04.2012 - 15:50
fonte
2

Assicurati di stimare la quantità di tempo necessario, non promettente sarai fatto in quel momento, e che farti abbassare il numero non è nulla più che parlare con te mentendo a loro. In realtà, in realtà non farà magicamente il completamento del software.

Chiedete loro quanto sarebbe utile per convincere una donna ad abbassare la stima per la sua gravidanza da 9 mesi a 7 mesi.

Ancora meglio, prendi un product manager. I venditori legheranno il tuo prodotto in nodi alla ricerca di commissioni, perché hanno poco incentivo a preoccuparsi del prodotto complessivo e ogni incentivo a inseguire la vendita corrente.

    
risposta data 27.04.2012 - 19:49
fonte
1

Ci sono due problemi, che devono essere disattivati.

  1. Smetti di quotare in tempo, inizia a quotare in dollari. Ciò consente loro di eseguire rapidamente un'analisi costi / benefici e di aggiungere un preventivo standard "tempo di analisi". Il tempo è troppo appiccicoso, perché non riflette la reale quantità di lavoro svolto (potrebbero essere fatte quaranta ore in un giorno, cinque giorni o tre settimane) ed è fin troppo facile per non spingere indietro il ciclo di rilascio preventivato per tale richiesta.

  2. Fornisci al personale di vendita un input di richiesta nel ciclo di sviluppo (preferibilmente un'interfaccia non umana, per risparmiare tempo (misurato in denaro)).

Le persone di vendita tendono a pensare in termini (se ho X, posso chiudere questa vendita). Le loro richieste spesso non sono coerenti con l'architettura attuale del prodotto, ma sono coerenti con l'attuale bisogno di un cliente.

Indica alla forza vendita che tali richieste sono vitali per il tuo prodotto, e in quanto tale, hai bisogno di non perderle nella "richiesta rapida", richiederà più tempo rispetto al periodo di interesse, rilasciare la richiesta, ripetere "ciclo". Tali richieste devono essere catturate, analizzate, classificate in ordine di priorità, integrate nel prodotto, testate e rilasciate con il prossimo ciclo di rilascio.

Quindi fai il backup delle parole con le azioni. Abbreviare il ciclo di rilascio a meno di due mesi, indicare quali elementi saranno presenti nella versione e rispettare le scadenze. Non istruire il personale addetto alle vendite in merito ai motivi interni, è sufficiente fare un'analisi di ciò che una richiesta fuori ciclo minimizza i costi (in dollari) e quale potrebbe essere il costo (dollari aggiuntivi e percentuale di occorrenza) se un problema supera la complessità minima. Quindi chiedi al venditore se la vendita è sufficientemente grande da supportare la richiesta fuori ciclo.

Una volta che hanno un processo per una richiesta in-cycle, e hanno un'idea di quanto costa gestire una richiesta fuori ciclo, le probabilità sono buone per poter convertire la richiesta fuori ciclo in una richiesta in-cycle, o determinare che la richiesta out-of-cycle sia abbastanza proficua da giustificare la spesa.

    
risposta data 27.04.2012 - 17:36
fonte
1

Bene, mi auguro che per poter lavorare su un pezzo di lavoro capisca che tu e le vendite dovete essere d'accordo nel soddisfare i requisiti che valgono il valore.

Sottolinea che, a meno che tu e Sales non siate d'accordo, non possono effettuare la vendita e il lavoro non accade, quindi è necessario concordare una controfferta per il cliente (specifiche più piccole, tempi più lunghi, ecc.), oppure hanno bisogno di trovare un altro cliente.

Non ha senso firmare un contratto con un cliente che sai che non puoi adempiere, finirà per occupare il tempo di tutti e rischierai di perdere il cliente e gli altri, e forse non avrai nemmeno i soldi per il lavoro.

    
risposta data 28.04.2012 - 00:00
fonte
0

Se ritieni che le tue stime siano accurate e la cronologia rispecchia quella che usi questo.

Quando dicono che hai XX tempo, rivedi la tua stima eliminando le caratteristiche fino a quando non arriva fino a questo momento. Non eseguire test.

Quindi è una trattativa sulle caratteristiche e il tempo, non solo il tempo, che la storia dice che non puoi cambiare. Se insistono nel negare nel tempo, inizia a negare i bonus per aver raggiunto il tempo indicato (se la tua squadra è disposta a lavorare gli straordinari per arrivarci). Diciamo che possiamo fare il tempo che vuoi, ma ti costerà un bonus di $ 1000 per arrivarci

Ricorda loro che lo sviluppo del software è come una fabbrica e la fabbrica è in grado di produrre una quantità di tempo X in Y. Va di nuovo al bonus, puoi fare gli straordinari, ma avrà un costo. Non chiamarlo fuori orario o ti faranno morire. Deve essere anche scritto. X prodotto per data Y per bonus Z. Potresti anche insistere su un giorno di riposo dopo che la squadra sarà bruciata dopo. Anche nel contratto l'aggiunta di funzionalità o correzioni di errori oltre il X% del tempo normale aggiungerà tempo alla pianificazione.

Non puoi modificare l'ora, elimina solo le funzioni.

    
risposta data 27.04.2012 - 23:53
fonte
0

Ho visto un sacco di questa divisione negativa e posizionale nella mia carriera e penso che il modo migliore di lavorarci sia la più onesta e trasparente possibile. (Le frasi negative come "il comportamento è stupido", "non ho idea", "non può essere fatto" dovrebbero essere evitate. Cerca soluzioni / cause principali.)

In primo luogo, sembra che tutti stiano utilizzando contrattazione posizionale (book ). Vogliono ciò che vogliono e tu vuoi ciò che vuoi.Ma che cosa veramente sta guidando? Guarda cosa spinge la loro posizione e bersaglio. Per esempio. le vendite vogliono solo far uscire il prodotto il più rapidamente possibile per fare più vendite e aiutare i profitti dell'azienda. Cosa c'è che non va? E dalla tua parte vuoi semplicemente fare il miglior software di qualità che puoi. Quindi devi solo trovare una via di mezzo . Penso che il modo migliore per farlo sia l'educazione, l'onestà e la trasparenza. Trattali come parte della tua squadra e non "noi contro loro".

I metodi Agile e Scrum provano a incorporare questo nell'intero processo. Alcuni aspetti di Scrum si occupano di questo in modo carino:

  1. Un proprietario del prodotto che dà la priorità alle funzionalità e sceglie ciò che accade in ogni sprint. Questa persona è parte del team . Questa dovrebbe essere una persona che ha in mente le migliori intenzioni dei clienti. per esempio. questo potrebbe essere un addetto alle vendite o supervisore. Sono coinvolti regolarmente nel decidere cosa succede nel prodotto, quindi c'è una grande motivazione e responsabilità (impareranno a non spingere per tempo rispetto a qualità / caratteristiche)
  2. Ogni stakeholder è anche membro del team, semplicemente non ottiene il controllo nel backlog / sprint / timeline. Trattali come tali e possono apprendere come vengono calcolate le stime e la complessità inerente allo sviluppo del software.
  3. Un scrum master lavora per migliorare il processo nel tempo. Non ci si aspetta che sia una mischia istantanea, dato che è irragionevole in qualsiasi situazione. Lavorano alla rimozione dei blocchi stradali per tutti i membri del team (e la società).

In sintesi, solo essere onesti, positivi e cercare di educare - alla fine migliorerà. Anche se non segui ufficialmente l'agile / scrum, leggi alcune pubblicazioni per comprendere meglio questi concetti e queste motivazioni.

    
risposta data 02.05.2012 - 22:26
fonte
-2

Un altro approccio sarebbe quello di rendere impossibile per loro non vedere WHY / HOW che stai dando le stime.

Dato che sei responsabile del processo di sviluppo, perché non tieni traccia della velocità del team e mostrale, in base alle tue iterazioni passate, perché non farai la loro scadenza? Penso che sia semplice: "la nostra velocità attuale è X, e abbiamo punti storia Y per questa iterazione".

    
risposta data 02.05.2012 - 14:16
fonte

Leggi altre domande sui tag