Qual è la definizione di "debito tecnico"? [duplicare]

5

Qual è la definizione di debito tecnico?

    
posta user11347 14.11.2010 - 15:12
fonte

4 risposte

15

La metafora Debito tecnico intende evocare un'analogia con il debito finanziario.

Il debito finanziario può essere usato come strumento per avviare un'impresa: hai bisogno di macchine per fare soldi, ma hai bisogno di soldi per acquistare macchine. Rompi questo fermo-22 prendendo un prestito per comprare macchine, e poi ripagando il prestito usando i soldi che hai guadagnato usando le macchine.

Il debito tecnico può essere utilizzato come strumento per comprovare il dominio: è necessario giocare con il software per capire di cosa si tratta, ma è necessario sapere che cosa sta per scrivere il software. Rompi questo catch-22 scrivendo il software nel miglior modo possibile usando la comprensione parziale che hai attualmente, quindi riscrivi il software usando la comprensione che hai acquisito giocando con esso.

Proprio come il debito finanziario, il debito tecnico deve essere limitato, deve essere restituito e accumula interesse se non è rimborsato.

È molto importante che il debito tecnico sia uno strumento per comprendere . È non una scusa per codice errato, cattiva progettazione o cattiva descrizione. È non su come ottenere un prodotto fuori dalla porta.

Si tratta di fare esperienza. (Si noti che ottenere un prodotto fuori dalla porta potrebbe essere un prerequisito per fare esperienza, ma non è quello che riguarda il debito tecnico.)

Ward Cunningham originariamente coniò il termine quando stava spiegando al suo capo perché il refactoring era importante. Il software su cui stavano lavorando era il software finanziario, la società era una società finanziaria, il capo era un ragazzo della finanza, quindi ha usato una metafora finanziaria.

Dato che hai chiesto espressamente una definizione, ecco la mia:

Technical Debt is the difference between your current understanding of the domain and the understanding that is reflected in the current version of the software.

    
risposta data 14.11.2010 - 16:14
fonte
6

Significa praticamente le cattive scelte progettuali fatte durante lo sviluppo del software per ottenere un prodotto fuori dalla porta.

L'idea è che "pagherai il debito" più tardi e correggi il cattivo design quando ne hai il tempo.

Wikipedia ha una spiegazione più dettagliata .

    
risposta data 14.11.2010 - 15:16
fonte
3

Il termine originale è stato coniato da Ward Cunningham, e l'idea è che se tagli gli angoli a breve termine, stai prendendo a prestito contro la futura manutenibilità del software e che a un certo punto, non diversamente da una carta di credito, tu ripagherò quel debito tornando indietro e sistemando le soluzioni hacky che sono state messe in atto.

Consulta il post del blog qui per ulteriori informazioni e su come mitigarlo:

risposta data 19.06.2012 - 03:35
fonte
1

Il debito tecnico è il risultato della qualità del codice commerciale per qualcos'altro che ritieni più importante in quel momento. Può essere commercializzato velocemente per ottenere feedback. Può spedire rapidamente una patch di vulnerabilità. Può concentrarsi sul fare bene una (altra) cosa.

Il debito tecnico è un compromesso consapevole. È diverso dal fare casino .

    
risposta data 14.01.2015 - 15:26
fonte

Leggi altre domande sui tag