Se la specifica è difettosa, dovrebbe comunque essere seguita?

28

Mi è stato assegnato lo sviluppo di un'integrazione a una delle applicazioni del mio datore di lavoro a un sistema esterno sviluppato dal nostro cliente. Le specifiche del nostro cliente per l'integrazione che ha alcuni vistosi difetti legati alla sicurezza. I difetti consentirebbero a un utente non autorizzato di accedere al sistema per visualizzare i dati riservati.

Ho indicato i difetti e i potenziali rischi per la sicurezza se sono stati implementati come previsto e fornito un'alternativa senza il difetto, ma (in breve) è stato detto "fallo come specificato" dal cliente.

Un programmatore ha la responsabilità etica di NON implementare il codice con noti rischi per la sicurezza? A che punto i requisiti di un cliente superano la responsabilità etica che abbiamo come sviluppatori di software per creare applicazioni sicure?

    
posta Nick Orlando 22.07.2013 - 19:52
fonte

1 risposta

40

Penso che tu abbia fatto la tua parte sottolineando il problema e suggerendo un'alternativa. Se insistono sul fatto che tu faccia cose che li espongono ad un certo livello di rischio, dovresti assicurarti di avere una traccia cartacea (e il back-up di esso) che mostri che hanno richiesto esplicitamente questo, conoscendo i rischi coinvolti. Se sei veramente preoccupato, potresti dire loro che faresti volentieri ciò che vogliono, se prima firmano una sorta di documento legale / dichiarazione di non responsabilità in cui riconoscono i rischi associati a ciò che sono " Ve l'ho chiesto di fare (e naturalmente ottenere un avvocato per redigere un documento del genere). Personalmente non conosco alcun precedente per un documento del genere per questa situazione, ma sono sicuro che potresti trovare un avvocato che ti aiuti con questo. Se la tua azienda ha un dipartimento legale, potrebbe essere qualcosa con cui dovrebbero essere coinvolti se esiste un potenziale di responsabilità aziendale. E naturalmente, se è così serio, dovresti discuterne anche con il tuo manager.

Penso che l'unica situazione in cui potrebbe essere OK semplicemente rifiutare di fare il lavoro sarebbe se questo è un software per un sistema in cui il difetto di cui sei preoccupato potrebbe portare al sistema di essere compromesso in modo tale che potrebbe causare la probabile perdita di vite umane / lesioni personali gravi o una sorta di perdita di proprietà catastrofiche.

    
risposta data 22.07.2013 - 20:01
fonte

Leggi altre domande sui tag