TLDR: Ho spinto la funzionalità (interrotta) senza approvazione che è stata rilevata dal QA e il mio capo è (giustamente) arrabbiato. Cosa devo fare?
Io lavorare come sviluppatore su un prodotto digitale.
Recentemente, con una scadenza molto ravvicinata, abbiamo inviato una build per essere esaminata dal nostro team di QA e ieri sera è stato segnalato che hanno trovato un bug nel prodotto. Questo bug era una funzionalità che ho aggiunto, senza approvazione, come test per una futura versione del prodotto.
Avevo messo questa funzionalità dietro una sorta di passcode che doveva essere inserito interagendo con un elemento interno al prodotto in una certa sequenza, con il presupposto da parte mia che solo io sarei stato in grado di attivare e nessun altro lo vedrebbe. In seguito mi sono reso conto che il codice che ho inserito inizialmente avrebbe effettivamente attivato la funzionalità non approvata anche se la sequenza fosse stata inclusa in una sequenza più grande, il che significa che una serie di interazioni casuali avrebbe la possibilità di attivare la funzionalità (anche se pensavo che sarebbe stato ancora raro ). Ho apportato una correzione per consentire solo la sequenza precisa, ma quel codice non è entrato nella build inviata.
Pochi giorni dopo (ieri), dopo che il QA ha testato il prodotto, hanno attivato accidentalmente il sequenza e ha segnalato la funzionalità risultante come un bug. Il mio capo lo ha mostrato al nostro direttore creativo, che è stato anche in grado di attivare la funzionalità. Poi ha parlato con me della questione questa mattina.
Quando il mio capo ha parlato con me di questo, ha espresso diverse preoccupazioni:
- Ho aggiunto questa funzionalità senza chiedere alcuna approvazione
- Ho creato una "correzione" che non ha rimosso la funzionalità
- Nei commit del codice l'ho definita come un "easter egg", il che implica l'intento di spingerlo dal vivo
- La mia funzionalità è sia non funzionante che off-brand
- Questo sarebbe stato attivato se il QA non lo avesse rilevato
- La nostra tempistica (e le relative opportunità di marketing / presentazione - $$$) sono a rischio a causa della necessità di creare un'altra build ora
- Sono necessari costi aggiuntivi di QA
- I tempo sprecato che avrebbe dovuto essere speso per bug e funzionalità con priorità più alta
Oltre a quanto sopra, ha detto che ora avrebbe dovuto parlare con il suo capo per decidere cosa avrebbero fatto riguardo al importa. A quanto pare, si è avvicinato poco dopo a me, chiedendomi se sarei stato in grado di apportare la più piccola modifica possibile al codice per rimuovere la funzionalità, potendo forse bypassare un controllo completo del controllo di qualità e salvare la nostra finestra di rilascio. Ho immediatamente spinto una modifica di una riga che ha rimosso la funzionalità, mostrandogli il codice che ho modificato per farlo. Mi ha ringraziato, ma non gli ho più parlato da (oggi).
Anche se ora mi rendo conto dell'errore di giudizio, all'epoca le mie azioni erano influenzate da questo pensiero: Sfortunatamente, molte volte il mio il capo e il regista vedranno una caratteristica parzialmente completata (da me o da un altro sviluppatore) o ascolteranno un'idea descritta verbalmente e rifiuteranno la caratteristica o la funzionalità, a causa di ciò che ritengo sia una mancanza di visione di ciò che una caratteristica potrebbe essere nella sua versione finale modulo. Quando invece ho preso l'approccio di presentare loro qualcosa di più raffinato, è quasi sempre approvato. Di recente abbiamo discusso di una funzionalità come quella in questione, quindi ho impiegato un'ora di lavoro per entrare nella funzionalità di massima, da utilizzare come dimostrazione. Ho pensato che con la mia bacheca "passcode" nessuno l'avrebbe visto accidentalmente.
Ora mi rendo conto di quanto possa essere serio. In passato, anche se ho lavorato su cose in modo da pensare di poter dimostrare il loro valore, ho sempre mostrato le cose su cui ho lavorato e le ho presentate per l'approvazione finale, molto prima di una build finale. Mi rendo conto di aver superato il limite consentendo a qualcosa di andare in diretta, anche se pensavo di impedire a qualcuno di vederlo accidentalmente.
Penso che questo potrebbe essere qualcosa per cui il mio capo potrebbe licenziarmi. Sebbene io sia uno degli artisti più forti del team, potrebbe essere che questa rottura di fiducia sia sufficiente per giustificare la mia risoluzione.
Non voglio perdere questo lavoro. Mi piace il mio lavoro, è stimolante e creativo e sono grato per la paga e la flessibilità. Ho inviato un messaggio al mio capo chiedendo scusa, dicendo che mi rendo conto della gravità delle mie azioni e che ho rotto la fiducia e non farò mai più qualcosa di simile, andando fuori specifica senza approvazione, ecc. Non ha ancora risposto.
Qualche consiglio su cosa fare a questo punto sarebbe molto apprezzato! Grazie in anticipo.