Praticamente tutte le risposte sono state dette a morte in numerosi luoghi qui e altrove. O almeno l'ho sentito morire. Impara il tuo IDE, impara a digitare più velocemente, usa i framework, usa la generazione di codice, ecc. Sì, certo, queste cose aiuteranno e dubito che ci siano molti programmatori che ne sono i padroni. Ma essendo il tipo di programmatore che pone queste domande e frequenta siti come Stack Overflow , sapevi già queste cose . Volevi semplicemente ripeterli qui o volevi solo sfogarti un po '?
E se fossimo in grado di raggiungere quello stato? Intendo padroneggiare tutti questi suggerimenti? Cosa succederebbe allora? Bene. Immagino che i tempi saranno ridotti ulteriormente. E ancora, torneremo a una percezione della qualità. Voglio dire, il nostro mestiere è decisamente migliorato e diventa sempre più produttivo nel corso dei decenni. Ma la qualità è aumentata in questo periodo (esclusi ovviamente i primissimi anni)?
La mia risposta è semplice: un software di qualità richiede tempo ! Puoi scambiare solo uno con l'altro (qualità / velocità). Ma sì, sappiamo tutti che, tuttavia, non siamo onesti riguardo al grado in cui tale compromesso finisce spesso per la velocità della scala. E siamo bugiardi ancora più grandi all'inizio dei progetti!
Dico che non sei in colpa qui. Il problema è la percezione che le persone hanno di quanto tempo dovrebbe impiegare un software di qualità. Ci prendiamo in giro credendo di essere in grado di creare software di qualità con i tipi di scadenze che i nostri manager o addirittura indoviniamo. Non realizziamo software di qualità . Scriviamo software che funziona ma a volte con lampi di qualità in alcuni angoli di un'applicazione.
Quindi cosa possiamo fare al riguardo? Non possiamo semplicemente convincere i nostri capi che dobbiamo raddoppiare o triplicare l'investimento in ciascuno dei nostri progetti. Dico l'esempio. Crea un software davvero eccezionale come progetto secondario. Dedica il tuo tempo e non scendere a compromessi. Nel frattempo presta attenzione a come progredisci. Prendi nota delle attività apparentemente non correlate in cui hai dovuto trascorrere un periodo di tempo inaspettato e vedi se riesci a giustificarlo. Contrasta questo con tutti gli altri progetti che hai lavorato. Sii brutalmente onestocon te stesso e tutti gli aspetti di questa analisi. Le cose extra che hai fatto con il tuo software di qualità possono essere trascurate in progetti "reali" al lavoro? Ma forse il tuo tentativo è fallito. Qual è stata la ragione? Ti sei annoiato e ti sei precipitato a fare le funzioni principali? Devo ancora fare qualcosa del genere, motivo per cui concludo questo pensiero con qualche dubbio, ma ho intenzione di provarlo. Vi terrò aggiornati :).
Infine, penso che la maggior parte (se non tutte) le valutazioni delle prestazioni siano distorte e straordinariamente manipolative. Non puoi limitare la qualità e la velocità al 100%. Il tuo capo dovrebbe farti segnare contro uno standard stabilito dall'organizzazione. Lo standard dell'organizzazione sul compromesso tra qualità e velocità. Immaginiamo che OrangeSoft Inc. si aspetti una qualità del 33% e una velocità del 66%. Quindi, se stai scrivendo un codice che ha forse un terzo dei test dell'unità, dovrebbe farlo, ma compensandolo con velocità e tempi di consegna ridotti, dovresti ottenere un punteggio vicino al 100% sulla tua recensione! (Queste sono analogie piuttosto approssimative, ma ottieni il punto). Ma invece, ciò che accade è che Bob scrive codice in modo estremamente veloce ma che è notoriamente difettoso. Quindi nella sua revisione delle prestazioni segnerà 3/5 per qualità e 5/5 per velocità. Carol invece scrive il codice molto più lentamente ma produce molti meno bug. Segna 5/5 per qualità ma 3/5 per velocità. In ogni caso, Bob e Carol sono ancorati al rilancio. È possibile per qualsiasi dipendente ottenere un punteggio perfetto? È giusto?