Test Driven Development, ha ridotto lo stress per gli sviluppatori?

7

Comprendo i vantaggi dello sviluppo basato sui test, ma ci sono stati studi che rivelano il livello di soddisfazione con il prodotto o i livelli di stress degli sviluppatori di authoring con l'introduzione del test delle unità?

Sto cercando casi di studio, o preferibilmente documenti di ricerca.

    
posta monksy 19.05.2012 - 23:26
fonte

2 risposte

7

Personalmente non conosco nessun documento che si concentri su TDD vs Programmer Stress. Posso davvero offrirti solo prove aneddotiche basate sulla mia esperienza personale.

Una delle cose più difficili quando ho provato TDD per la prima volta è stato quello di riorientare il mio modo di pensare in modo che fosse più sensato scrivere il test prima del codice. Spesso mi è sembrato più semplice inserire le mie idee in codice, quindi seguire i test. Col passare del tempo ho notato che il numero di bug evidenti nel mio codice non sembrava cambiare e i test sembravano farmi apparire più lentamente. In un certo senso, ciò ha contribuito a creare ulteriore stress al momento, poiché mi sembrava un fallimento in termini di capacità di fornire un lavoro di qualità in tempo e tutte le mie stime di pianificazione sembravano essere lontane da ciò che mi sarei aspettato.

Avanzare di parecchi anni con maggiore esperienza e la determinazione di vedere se potessi effettivamente far funzionare questo approccio. Ho cambiato il mio approccio all'utilizzo del BDD perché sembra adattarsi meglio alla mia mente, e per me sembra un modo migliore di fare TDD. Non solo ho trovato che lavoro meglio in questo modo, ma che riesco più facilmente a concentrarmi sulla soddisfazione dei requisiti specificati. Non sto perdendo tempo con la placcatura in oro, e sono in grado di sfornare il codice più velocemente di prima, semplicemente perché i miei sforzi sono più mirati e questo mi consente di utilizzare il mio tempo in modo più efficiente. Ciò ha avuto l'effetto di rendere piacevoli anche le attività più banali quando il mio test runner mi mostra tutti i miei test che passano. Vedo anche migliorare la qualità del mio codice e il codice è diventato più facile da mantenere nel tempo. Tutto ciò ha reso molto meno stressante il mio lavoro.

Il fatto è che, mentre vedo che le cose funzionano meglio in questo modo, non riesco a tracciare una correlazione diretta tra TDD e meno stress, perché ci sono molti altri fattori che hanno influito sulla qualità del mio lavoro vita. Ho imparato altre abilità nel tempo che hanno anche contribuito a una riduzione generale dei livelli di stress. Alcune di queste abilità sono interpersonali, alcuni sono semplici esercizi di consapevolezza, mentre altre abilità sono state acquisite in seguito alla lettura di molti libri sulla qualità del codice e sul design che hanno tutti avuto la loro influenza sul modo in cui vado sul mio lavoro. Tutti questi elementi contribuiscono alla quantità di stress che percepisco, ma nessuna cosa spicca come se avesse avuto un impatto significativo di per sé.

Quindi, anche se non posso davvero dire che lo stesso TDD riduce lo stress, posso offrire l'osservazione che TDD ha contribuito a migliorare il modo in cui scrivo il software. Contribuendo a semplificare la mia vita lavorativa, potrei sostenere che il TDD ha contribuito in qualche modo ad aiutarmi a mantenere una situazione lavorativa meno stressante, ma che è difficile misurare direttamente l'importo specifico che TDD ha contribuito.

    
risposta data 25.05.2012 - 00:15
fonte
6
 > Test Driven Development, has it reduced stress for developers?

No ma ha cambiato il tipo di stress.

Nei progetti non tdd legacy ho stress a causa della qualità del codice e dei maggiori costi di manutenzione. Soprattutto ho sottolineato nel giudicare perché "questo piccolo cambiamento nella logica del programma costa così tanto tempo e denaro".

Nei progetti di tdd ci sono parti interessate "intelligenti" che vogliono aumentare ulteriormente la produttività abolendo il "tdd-spreco di tempo" con tutto il suo codice non necessario. Quindi difendere il TDD è stress.

Se sei più produttivo a causa della buona qualità del codice, devi implementare più funzionalità in un determinato periodo temporale.

Riesco a pensare ad alcuni progetti legacy non-tdd che hanno causato un sacco di stress dove avrei voluto che fossero progetti tdd.

    
risposta data 25.05.2012 - 11:38
fonte

Leggi altre domande sui tag