Fattore di giocoleria e separazione delle funzioni in una piccola squadra?

25

Sono lead dev su un team di cinque persone. Solo tre sono programmatori. E solo i programmatori sono davvero abbastanza tecnici da eseguire un roll out dell'applicazione su un server di produzione.

La nostra app ha un discreto successo e abbiamo raggiunto alcuni clienti di alto profilo. Questi clienti in genere ci sottopongono a controlli di sicurezza piuttosto brutali. Per la maggior parte, passiamo questi controlli. Ma un'area che ci incalza è la separazione dei doveri. per esempio. Vogliono una persona / gruppo per gestire gli ambienti di sviluppo, mentre una persona / gruppo gestisce gli ambienti di produzione. Inoltre, a volte vogliono anche la persona che fa il lavoro (come spingere alla produzione) e chi monitora / supervisiona / approva il lavoro anche in ruoli separati.

Il problema con solo tre persone tecnologiche è che non possiamo mantenere alto il nostro fattore di bus mantenendo la nostra separazione delle mansioni richieste da alcuni clienti.

Pensieri? Soluzioni? Hai affrontato problemi di risorse simili?

P.S. Ho provato a taggare questo devop e il fattore bus, ma non ho abbastanza rep per creare nuovi tag.

    
posta Neil N 03.09.2014 - 16:56
fonte

2 risposte

19

Non ho personalmente dovuto prendere questa decisione, anche se lavoro in un ambiente in cui viene implementata tale separazione delle funzioni.

Sei il proprietario di questa attività o lavori per qualcun altro?

La ragione che chiedo è perché realisticamente ciò si riduce a una decisione aziendale. (salvo l'ovvia prospettiva infosec di - "SEPARATE TUTTE LE COSE!")

Per trovare la risposta, è necessario porsi questa domanda / proprietario / CFO:

Is the cost to add more employees to implement separation of duties less than the amount of business that will be lost to clients who require such, or can you raise the cost of the software sold to cover the salaries of more employees without losing additional business due to the price increase?

Se è così, allora puoi aggiungere più dipendenti senza metterti in rosso, dal punto di vista finanziario.

    
risposta data 03.09.2014 - 17:55
fonte
16

Benvenuti nel mondo della sicurezza IT aziendale. Come hai scoperto, è facile per i reparti di sicurezza formulare raccomandazioni che si muovono vagamente verso le "migliori pratiche". È molto più difficile implementarlo sul terreno. Ma puoi risolvere questo problema e otterrai alcuni vantaggi.

Distribuzioni con un clic - le nuove versioni devono essere pacchettizzate in modo che possano essere installate facilmente. Puoi combinarlo con la distribuzione automatica usando qualcosa come Puppet. A quel punto, la distribuzione dovrebbe essere abbastanza semplice da poterla lasciare a un collega meno tecnico. Un vantaggio di questo approccio è che evita errori di implementazione. Lo sviluppatore può testare l'implementazione completa in fase di pre-produzione.

Log correlation - fa in modo che i server si colleghino a un server di correlazione del log centrale, usando qualcosa come Splunk. Puoi dare al tuo team di sviluppo l'accesso in sola lettura a questo senza violare la separazione dei compiti. Puoi anche fare il monitoraggio centralizzato di CPU, memoria, disco, ecc. Idealmente avrai un'analisi automatizzata dei registri che un collega meno tecnico può giudicare se le cose vanno bene o no.

Automatizza il più possibile. La manutenzione ordinaria deve essere programmata e programmata. Potresti anche voler scrivere determinate risposte a problemi, come il riavvio di un app server.

Accesso di emergenza - a volte la tua app si interrompe in modo che sia necessario uno sviluppatore per accedere per vivere per risolverlo. Questo è accettabile anche con la separazione dei doveri. Probabilmente vorresti un processo che assomigli a: "l'operatore identifica l'errore, richiede assistenza" "il manager approva l'accesso di emergenza" "il ragazzo degli ops emette uno sviluppatore una password temporanea".

Se fai tutto questo, puoi usare i tuoi due colleghi meno tecnici come personale operativo. Il tuo fattore di bus (bel termine BTW) non è seriamente compromesso perché hai de-abilitato il ruolo di ops.

Stai eseguendo l'app nei locali o nel cloud? Sarà più facile per te soddisfare questo requisito utilizzando un cloud piattaforma-come-servizio.

    
risposta data 03.09.2014 - 21:34
fonte

Leggi altre domande sui tag