Cosa devo fare quando il mio team leader sta rompendo il mio schema di database con una versione in arrivo?


21

Il mio team leader ha questa terribile abitudine di confondere con lo schema del database e apportare modifiche che potrebbero causare gravi rotture della base di codice (senza consultarmi sul modo in cui le modifiche influirebbero sulla base di codice).

Normalmente, vivrei solo con esso, ma abbiamo una scadenza tra 2 settimane e questo è successo da quando ho iniziato 1 mese e mezzo fa. Sono stato portato avanti, per accelerare lo sviluppo del progetto.

A causa della scadenza, sto già impiegando più di 60 ore alla settimana e non mi resta davvero energia per affrontarlo (ho già provato in qualche modo). Siamo solo un team di 2 uomini e, oltre a cambiare il database su base giornaliera, non ha contribuito molto nel senso dello sviluppo reale (codifica).

Attualmente, mi sento come se stessi facendo tutto il lavoro, oltre a dover "riparare" ciò che rompe con i suoi cambiamenti.

Come si fa a gestire questo? Ho già parlato con il nostro manager della sua mancanza di sforzi nel reparto sviluppo. È stato lì 6 mesi più a lungo di me, ma ho scritto il 95% del codice quando si esclude la quinta mostruosità del database del modulo normale che "ha contribuito".

Eventuali suggerimenti?

Post-mortem:

Venerdì abbiamo avuto una discussione con il manager e ho reso note le mie preoccupazioni. Ciò ha portato a un po 'di confronto, ma nel complesso ho sentito che il manager si schierava con me. Quindi almeno ora abbiamo i nostri dati bloccati, vediamo come va da qui.


3
+1 per il tag "troppo agile"! :-) Agile è una grande metodologia, ma alcune persone affermano erroneamente di essere agili, quando sono semplicemente indisciplinate.
Bill Karwin,

2
Un primo esempio di test automatizzati vale la pena. Altera un tavolo e 15 minuti dopo campane e fischietti iniziano a dirti che tutto il codice si è rotto.

Risposte:


15

"La scadenza è tra due settimane; dobbiamo congelare lo schema se vogliamo colpirlo."


3
Ok, passaggio 1, blocco del database, profitto passaggio 3! :) Vediamo come va ...

1
Ho preso un po 'di controllo senza assumermi la responsabilità, ora abbiamo un altro membro del team. Il tuo consiglio è stato la risposta definitiva per il momento. Continuiamo a fissare la testa di

4

Parlando con il manager E lo sviluppatore nella stessa riunione:

"Le modifiche al database e al codice devono essere visualizzate simultaneamente. Se si modifica il database, è necessario anche modificare e testare la base di codice. Altrimenti si stanno inviando commit non funzionanti, il che è inaccettabile se dobbiamo rispettare la scadenza. Non riparerò più il codice interrotto dai tuoi impegni, semplicemente annullerò le modifiche e ti lascerò una nota via e-mail perché non posso indagare e risolvere problemi al di fuori del lavoro che mi è stato assegnato e mi aspetto ancora di rispettare la scadenza ".

Molto più difficile se non hai un piano di test ...


Piano di test? Non abbiamo nemmeno un piano friggen! Solo le solite specifiche del requisito del cliente, scritte nella lingua del cliente ... E sì, è molto triste quando devi prendere nota del check-in che dice: COSTRUIRE È ROTTO.

2

Dovrai essere più energico e assicurarti che presto (come ieri, l'altro ieri o il mese scorso) ti accontenti di uno schema e vai avanti. Non esiste un modo ragionevole per continuare a sviluppare un'app con un database che è un obiettivo mobile.


1

Devi affrontarlo e spiegargli come i suoi cambiamenti stanno influenzando la base di codice e quindi le linee temporali del progetto. Convincilo che ha bisogno di considerare l'impatto dei suoi cambiamenti prima di metterli in atto. Fallo anche concordare in presenza del tuo manager sul fatto che sarà responsabile di eventuali ritardi che induce a causa di questo comportamento


1

Se il capo squadra non è una persona ragionevole (e non sembra ragionevole dalla tua descrizione del suo comportamento), parla con il tuo manager e spiegagli che non rispetterai la scadenza con il modo in cui vanno le cose. Chiedigli di prendere una posizione e assicurati che il tuo team leader sia consapevole di questo tenendo una riunione in cui il manager stabilisce le aspettative.

Dovresti anche spingere il tuo caso riguardo alla mancanza di contributo del tuo team leader allo sviluppo. Entrambi i problemi devono essere risolti per rendere il progetto un successo.


Abbiamo vissuto qualcosa del genere, ma sembra che non abbia capito ... beh, ha detto che avrebbe contribuito, ma finora non ho visto nulla, tranne i cambiamenti di schema. Mi chiedo se sa anche scrivere codice e non solo "progettare".

Perché il manager lascia che il caposquadra riesca a cavarsela? Chi ha reso il capo squadra il capo squadra? Il tuo manager non ha voce in capitolo in questo?

Immagino che il manager stia cercando di salvare la faccia. Almeno l'ho avvertito presto, e spero che non mi daranno la colpa per i ritardi.

1

Dovrai imporre un po 'di moderazione alla tua squadra, ma può essere difficile giocare nella tua posizione in essa.

Un modo utile per affrontare questo problema potrebbe essere l'adozione di un controllo delle modifiche documentato più rigoroso. Puoi giocare insistendo sul fatto che al momento le modifiche ad hoc stanno mettendo a rischio la tua capacità di gestire gli aggiornamenti del sistema in un modo che non ha conseguenze impreviste e minacciose per la scadenza (il che è vero). Quindi insistere sul fatto che tutte le modifiche devono essere fornite con la documentazione che mostra la modifica proposta e i relativi effetti su tutti gli altri codici e strutture. Sarai sorpreso di quanto ridurrà il volume delle modifiche che si verificano :-)


Uno degli altri ragazzi del supporto IT lo ha raccomandato :)

Hehe, è perché è vero - ci sono stato. La maggior parte delle altre risposte qui sono soluzioni tecniche per un guasto dei sistemi logici percepito. In realtà ciò che hai problemi comportamentali, quindi è necessario implementare un sistema di punizione / ricompensa per modificare quel comportamento

1

Hai tenuto una retrospettiva con il team? In caso contrario, tenere uno. In tal caso, identificare le modifiche non pianificate (confusione con) nel database come un problema. Specifica il costo per te e gli altri in merito al rischio e alla qualità della vita lavorativa. Lavorare continuamente per 60 ore non è sostenibile. Se non sei in grado di sostenere il tuo ritmo di sviluppo, non stai agendo.

Inoltre, stai facendo TDD (test driven development) o test funzionale / di regressione automatizzato? In tal caso, le modifiche al database dovrebbero comportare il fallimento dei test. Ciò dovrebbe aiutare a contrastare l'impatto e identificare il codice che deve essere aggiornato.

In questo caso, il capo della tua squadra non è " troppo agile ", il capo della tua squadra è un " cowboy agile ". Tenere una retrospettiva, identificare ciò che è andato storto. Dai la priorità in alto, quindi affrontalo durante la prossima iterazione. Questo dovrebbe legare nel tuo agile cowboy !!!


Ho provato e provato. Penso che sia puramente un cowboy di BS. Ad ogni modo, ci sto vivendo.

0

Non hai avuto lo stesso problema con te circa un anno fa? 'Il mio capo squadra dice A.Property = A.Property; va bene '. Sembra che la qustion sia stata vietata perché non la vedo nella cronologia dei miei commenti. Comunque, il punto è:

Se ritieni che tutti i leader della tua squadra ti stiano rovinando avendo a malapena metà della tua esperienza, probabilmente troverai un lavoro senza uno . Suggerirei di provare e diventare un vantaggio come un'altra opzione, se dovessi essere in grado di farlo, ti era già stato offerto di farlo.

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.