Pair Programming e ISO 27001

16

Ho lavorato in un team di programmazione eXtreme e ho fatto programmazione di coppie per oltre 7 anni in un ambiente Windows. Quando abbiamo iniziato a farlo, qualcuno avrebbe eseguito il login con le proprie credenziali di Windows e quindi l'accesso a tutte le risorse del dominio e, più specificamente, il controllo della versione, sarebbe responsabile per l'utente di Windows. Alla fine ci siamo evoluti per avere account di pairing di Windows per specifiche stazioni di accoppiamento (ad esempio pairA, pairB, PairC ecc ...). Tutti gli sviluppatori conoscono le password di questi account. La responsabilità per i commit (check-in) si ottiene inserendo le iniziali dei programmatori nel commento durante il commit.

Fino ad ora questo ha funzionato bene per noi, ma la mia azienda sta attualmente attraversando un audit ISO 27001 e questo è stato segnalato dal revisore come un rischio. Ho una serie di soluzioni possibili come la creazione di un account di abbinamento per ogni combinazione di coppie, ma mi piacerebbe davvero sapere se qualcun altro ha riscontrato questo problema e come lo hanno risolto?

Quale soluzione era accettabile dagli auditor?

    
posta Martin Hughes 24.07.2012 - 14:36
fonte

5 risposte

13

Supporrei che i revisori preferirebbero che gli sviluppatori si collegassero come se stessi e non come una "coppia" che ha una password condivisa. Il rischio dovrebbe essere ovvio: uno sviluppatore aggiunge del codice maligno come "PairA" e inserisce le iniziali di qualcun altro nel commento (o non lo commenta affatto). Come fai a risalire allo sviluppatore malevolo?

Consiglio a chiunque stia guidando per primo (in una sessione) il login con il proprio ID, e la coppia continua a inserire entrambe le sue iniziali nei commenti - in questo modo, il codice rimane rintracciabile in un effettivo sviluppatore.

    
risposta data 24.07.2012 - 18:04
fonte
7

Manterrei i conti così come sono, in genere solo una persona sta guidando, e anche se l'altra persona utilizza la macchina (non ufficialmente) la persona che ha effettuato l'accesso dovrebbe essere ancora a conoscenza di ciò che sta accadendo sulla sua macchina.

I check-in avrebbero ancora bisogno di commenti per mostrare chi fosse la coppia comunque.

    
risposta data 24.07.2012 - 16:30
fonte
6

Invece di creare account separati in modo che il lavoro non sia bloccato a un utente possibilmente assente, usa il tuo sistema di controllo della versione. Quando una coppia inizia a lavorare, crea un ramo attività. Passare il codice al ramo attività ogni volta che passano i test. Una volta completata l'attività, unire indietro e chiudere il ramo attività.

    
risposta data 24.07.2012 - 18:05
fonte
5

Up until now this has worked fine for us, but my company is currently going through a ISO 27001 audit

ISO 27001 o no, il tuo sistema attuale funziona solo perché sei una piccola azienda in cui esiste un alto livello di comunicazione e fiducia reciproca. Questo tipo di cose non si adatta molto bene, quindi probabilmente dovresti prendere in considerazione altre opzioni ad un certo punto nel futuro.

Creare un account separato per ogni coppia possibile sembra ancora meno pratico: avresti bisogno di 90 account per un gruppo di 10 sviluppatori, e ognuno di questi 10 sviluppatori dovrebbe conoscere 9 diverse combinazioni di login / password.

L'unica soluzione pratica è utilizzare account individuali, come altri hanno suggerito, e tracciare l'identità della seconda persona nella coppia in qualche altro modo (commentare nel tuo controllo di versione commit, campo nel sistema di tracciamento dei problemi, ecc.) .

    
risposta data 24.07.2012 - 18:51
fonte
2

Per amor di Pete, lascia che il membro che guida la coppia si assuma credito / responsabilità per il push / commit. La prossima volta guiderà l'altro membro. Il "conducente" non farà nulla che non sia d'accordo con il co-pilota.

La programmazione è uno sforzo collettivo. Nessun atto di programmazione è individuale al 100%. Non c'è bisogno di essere meticoloso nel voler riflettere sul fatto che un dato spaccio / commit è stato fatto da Tom e Harry e non solo da Tom. I vantaggi della programmazione della coppia valgono la pena di ignorare questa sfumatura.

L'auditor ha ragione, gli account "pool" dovrebbero essere evitati.

    
risposta data 25.07.2014 - 15:52
fonte

Leggi altre domande sui tag