Proibire o controllare "IT nascosto ..." Chi dovrebbe scrivere e gestire applicazioni software ad hoc?


61

Le aziende più grandi di solito hanno il problema che non è possibile scrivere tutti i programmi desiderati dai dipendenti (per risparmiare tempo e ottimizzare i processi) a causa della mancanza di personale e denaro.

Quindi i programmi nascosti saranno creati da alcune persone che hanno (almeno alcune) esperienze di programmazione (o da studenti / stagisti a basso costo ...). In alcune circostanze queste applicazioni aumenteranno di importanza e si diffonderanno da un utente a un intero reparto.

Quindi c'è il punto critico: chi manterrà l'applicazione, aggiungerà nuove funzionalità, ...? E questa app è fondamentale. È necessario. Ma lo stagista ha lasciato la compagnia. Nessuno sa come funziona. Hai solo un sacco di fonti e una sorta di documentazione.

Ha senso provare a controllare o vietare lo sviluppo di applicazioni fatto ad-hoc al di fuori del dipartimento IT (ad eccezione di elementi minori come le macro di Excel)?


3
Dipenderebbe dall'ambiente. È possibile configurare il sistema operativo sul posto di lavoro in modo tale che solo gli amministratori possano installare un nuovo software, è possibile impedire l'accesso a risorse rilevanti sul server (database, filesystem) a cui questo software dovrebbe accedere. Puoi farlo in modo tecnico, quindi è impossibile, puoi evitare di fornire password, indirizzi IP e informazioni simili richieste o semplicemente renderlo politico aziendale e licenziare tutti coloro che non rispettano. Ho visto più o meno tutto questo.
Thorsten Müller,

40
Ma se questi "programmi nascosti" sono davvero critici e non possono essere implementati dal vero dipartimento IT, cosa guadagni vietandoli? Dopotutto sono fondamentali , quindi semplicemente non puoi permetterti di non averli. Forse ristrutturare il reparto IT? O riordina le priorità? Mi sembra comprensibile che persone abili stiano facendo cose al di fuori del normale flusso di lavoro, se detto flusso di lavoro non risponde ...
Andres F.

13
@ thorstenmüller A quel punto alla fine si finisce con l'implementazione di programmi nascosti come formule di Excel per un ordine di grandezza minore manutenibilità rispetto persino a Excel VBA. Dal momento che la creazione di fogli di calcolo Excel è un'abilità di cui molti impiegati hanno bisogno, non è possibile escluderlo come se fosse una piattaforma di sviluppo più adatta.
Dan Neely,

5
@ thorstenmüller Il mio punto è che, indipendentemente da ciò che provi e fai, quando le scelte passano attraverso i canali attendi diversi giorni (se non mesi a causa di burrocrazy), trascorri diverse ore a farlo manualmente, o fai un giro intorno alle politiche che la gente sta facendo per fare quest'ultimo. Supporre che puoi fermarlo è delirante. Il meglio che puoi sperare è di avere un processo efficace per trovare e adottare questi strumenti dopo il fatto.
Dan Neely,

16
Cosa c'è che non va nelle persone normali che automatizzano i loro processi aziendali? Fintanto che in realtà sta risparmiando loro tempo, cosa che probabilmente è, lo considero una buona cosa . Se un particolare strumento di automazione "ad hoc" "disordinato" diventa fortemente dipendente, potrebbe valere la pena di far scrivere agli sviluppatori una versione gestibile. Nel peggiore dei casi devono ricominciare a fare le cose manualmente quando cambiano i requisiti, ma almeno hanno già risparmiato molto tempo!
Filippo

Risposte:


79

Lavoravo per un'azienda in cui ogni app che fornivamo li portava alla domanda: possiamo esportare questi dati in Excel?

Dopo un po ', ho deciso che dovevo sapere perché erano ossessionati dalle esportazioni di Excel per tutto. Si è scoperto che molti dipartimenti avevano una persona esperta in Excel e in grado di scrivere un'utile app di analisi dei dati in pochissimo tempo. Queste app si sarebbero diffuse in tutto il dipartimento come un incendio e noi, i tecnici, non avevamo idea che esistessero.

Perché non sono venuti prima da noi? Perché c'era una reputazione che il team tecnico aveva troppo da fare e, se lo avessero chiesto, avrebbero potuto (se fossero stati fortunati) essere messi in fila sei mesi dopo.

Non è stata un'accusa ingiusta e non ci hanno mai chiesto di supportare le loro app Excel, quindi nessuno pensava davvero che fosse un problema. Quando questi sviluppatori di Excel se ne andarono, riuscirono sempre a trovare qualcun altro a raccoglierlo.

Si potrebbe sostenere che ciò significava che stavamo assegnando delle priorità in modo errato, che il lavoro importante non veniva svolto. Ma direi che ha liberato gli sviluppatori più pagati a fare lavori più difficili. Cosa può far male?

Ora io vorrei proibire software che aggiorna il database in fase di scrittura al di fuori del team di sviluppo. E rifiuterei di supportare app scritte al di fuori del team di sviluppo. Ma non tenterei di vietare a tutti i software di essere scritti dall'azienda stessa e scriverei felicemente esportazioni di dati per autorizzarli a farlo (purché ciò non esponga dati che non dovrebbero vedere, ovviamente ).


36
Ho lavorato in un ambiente simile e la reazione del nostro dipartimento a queste "app" è stata sempre frustrante. Molte delle mie università nel reparto IT si sono sentite minacciate da queste app per qualche motivo, ma le ho viste meravigliose. Ha permesso agli utenti dei dipartimenti di definire ciò di cui avevano realmente BISOGNO, e quando quel singolo database di Access non funzionava per loro, potevano semplicemente consegnarcelo e costruivamo una soluzione SQL "reale" per supportare la stessa funzionalità. Ucciderei di nuovo per un simile progetto. Tutti i requisiti erano noti il ​​primo giorno quando abbiamo iniziato.
Graham,

8
+1 ben indicato. Responsabilizzare gli utenti del nostro software dovrebbe essere una delle nostre massime priorità.
Steven Evers,

Dovrei essere d'accordo per lo più con la tua risposta. Ma la linea di fondo è che query scritte male possono far cadere un server di database; anche se scritto in Excel o Access. Una volta deve bilanciare gli impegni SLA dell'IT con le esigenze del business.
Steve,

@Stephen: Sì. Ed è per questo che è meglio consentire agli utenti di fare le proprie cose, piuttosto che lasciarli ai dati di produzione. Che si tratti di una copia giornaliera di sola lettura dei dati, di esportazioni Excel o di una DSL, dipende molto dalle esigenze di sicurezza / SLA e dai requisiti dei dati.
pdr

1
@mattnz: lo sconsiglio vivamente. Questo offre alle persone un modo per convincere il team tecnico a dare la priorità ai loro problemi rispetto al resto dell'azienda, semplicemente mettendo insieme qualcosa e andando "Riesci a vedere perché questo non funziona?" Hai mai conosciuto uno sviluppatore che potesse resistere a una sfida del genere?
pdr,

50

Penso che alla gente manchi il punto generale qui:

Se non ti piace tutto lo sviluppo personalizzato che sta accadendo, proibirlo è risolvere il problema sbagliato - dovresti invece chiederti perché stanno andando in giro per l'IT, non solo dicendo loro che non è permesso. Ricorda che tu (IT) esisti per aiutarli a fare meglio il loro lavoro e che le persone non usano il software perché è bello, pulito o nuovo, lo usano perché risolve un problema che hanno.

Perché queste app vengono create in primo luogo?

In tutti i casi che ho visto, c'è un motivo comune:

I gruppi di imprese danno priorità ai propri bisogni rispetto a quelli che sono prioritari nel contesto dell'intera azienda

Il marketing è responsabile solo del marketing, quindi le iniziative a beneficio dei loro obiettivi sembrano critiche per loro, mentre sono considerate lanugine per altri gruppi e tendono ad avere una priorità inferiore quando si tratta di risorse limitate come l'IT. La definizione delle priorità entra in gioco solo quando desiderano utilizzare una risorsa condivisa: se mantengono il progetto interamente all'interno del proprio reparto, solo il capo dipartimento deve occuparsi del budget e della tempistica.

Non c'è motivo per cui proibire questo tipo di sviluppo, entro limiti ragionevoli: facilita i vincoli sulle risorse condivise (principalmente IT) e consente a ciascun gruppo di autorizzare se stesso a risolvere i propri problemi (poiché le persone esperte in Excel avanzato sono piuttosto comuni, poiché questo è un problema comune, la maggior parte dei dipartimenti ne ha almeno uno).

Tuttavia, non ci si può aspettare di risolvere eventuali problemi derivanti da queste applicazioni o di supportarle dopo che lo sviluppatore originale ha lasciato l'azienda. Come menzionato da un altro postato, ciò non impedisce al grande capo di chiedere di supportarlo, ma se tieni conto dei tipi di applicazioni o processi personalizzati disponibili, puoi avere un'idea di quando qualcosa diventa critico e tu potrebbe essere necessario essere coinvolti per portarlo "in-house". Inoltre, se qualcosa si connette e modifica i sistemi che sono sotto il controllo IT, allora l'IT dovrebbe essere coinvolto, anche solo per garantire la sicurezza e l'integrità dei loro sistemi centrali - tuttavia, se è qualcosa di limitato al desktop di un utente, perché sentirne la necessità vietarlo?

Ma ecco qualcosa da ricordare: ogni applicazione personalizzata che è stata sviluppata al di fuori dell'IT corrisponde a un'esigenza che non viene soddisfatta dall'IT . Potrebbe esserci una buona ragione per cui non vengono rispettati - non una priorità in azienda, un problema molto specializzato, non buono come altre opzioni, un linguaggio personalizzato che il personale IT non conosce, ecc. - e la mancanza di coinvolgimento IT potrebbe essere legittimo, ma queste soluzioni sono state create perché alcuni dipartimenti avevano un'esigenza che l'IT non poteva (o non voleva) soddisfare.

Cerca di aiutarli a risolvere i loro problemi e, se non hai il tempo o le risorse, lasciali risolvere da soli. Mandare un linguaggio che ha una ripida curva di apprendimento, con l'unico scopo di tenere le persone fuori dalla tua attività, serve solo a migliorare l'atteggiamento elitario che la maggior parte degli utenti percepisce l'IT e, alla fine, quel tipo di atteggiamento d'élite porta solo a più dello stesso problema, poiché gli utenti hanno paura di avvicinarsi all'IT e sono convinti che l'IT non capisca le loro esigenze o desideri. Apri la relazione: capire di cosa hanno bisogno è l'unico modo per impedire loro di aggirarti.


2
+1 spot on. Non vedo nessuno qui menzionare ciò che tende ad essere un grosso problema con queste pratiche che ho visto in più aziende. Ciò che funziona per una o due persone a breve termine, si trasforma rapidamente in un enorme caos software di 30 piccole app che sono cresciute negli anni, circa la metà del lavoro e la loro manutenzione è dieci volte il costo di se il reparto IT avesse assunto persone per fare tutti in modo che fossero coerenti e avessero una base di proprietà centrale dell'IT.
Jimmy Hoffa,

4
Come persona che lavora come programmatore di "black ops", posso dirti che spesso l'IT non ha le competenze necessarie per comprendere le esigenze di un determinato ufficio tecnico. Alcuni dei nostri programmi più critici e innovativi sono nati come programmi "black ops". L'IT non è un luogo in cui l'innovazione viene premiata, l'innovazione e la sperimentazione spesso significano molti progetti falliti per ognuno di successo. Una volta che un programma "black ops" è ben adottato, viene generalmente passato all'IT per mantenerlo.
Bill

+1 I miei pensieri esattamente, ma formulati molto meglio.
Phil

16

Si dovrebbe anche considerare il caso delle aziende in cui il reparto IT contiene persone incompetenti, mentre l'app nascosta verrebbe creata da uno sviluppatore abile che ha un lavoro non da sviluppatore all'interno dell'azienda. Nella mia esperienza, questi casi sono estremamente frequenti.

Immagina di avere un doppio profilo di uno sviluppatore di software e un contabile. Sei assunto come contabile perché questa è stata un'opportunità per te per ottenere un lavoro ben pagato. Capisci subito che i tuoi colleghi (e ora tu) passano ore a fare cose ripetitive che possono essere fatte in pochi secondi da un programma.

Trascorri alcune sere per scrivere l'app che farà tutto il lavoro. Lo mostri sul tuo laptop personale ai tuoi colleghi e lo trovano molto utile. Vuoi installarlo sui PC aziendali, ma dovresti avere l'accordo del dipartimento IT. Lo chiedi, ma lo rifiutano perché non supportano la tua applicazione.

Non sembra stupido?

A parte questo caso particolare, il problema con il supporto non è molto diverso da quello che molte aziende incontrano con tutto  il software, anche uno scritto all'interno del dipartimento IT: se il dipartimento IT non applica le migliori pratiche, il codice sarà male / non documentato, scritto da persone inesperte che non si preoccupano della manutenzione e che se ne sono andate anni fa.

Per concludere, la domanda principale è la redditività . Se tu, il dipartimento IT, ti viene chiesto di mantenere un'app sviluppata da un impiegato che non capisce le regole di base dello sviluppo software, non importa quanto sia divertente questo compito, devi comunque farlo se porta un sacco di soldi per l'azienda . O lo riscrivi da zero se è il modo più economico per fare le cose.


2
"Nella mia esperienza, questi casi sono estremamente frequenti." - Quindi la tua azienda fa un ottimo lavoro assumendo grandi programmatori in lavori non programmatori e quindi poveri programmatori in lavori di programmazione? Penso che sia più probabile che qualcuno che non capisca le pratiche e i sistemi sottostanti penserà di scrivere software migliore. Solo i miei 2 centesimi.
Ominus,

2
@Ominus: se c'è un posto vacante per un avvocato, la società cercherà un avvocato; se il candidato è anche uno sviluppatore esperto, l'intervistatore potrebbe anche non saperlo. Quindi no, la società non sta "assumendo grandi programmatori in lavori non programmatori": stanno assumendo una persona qualificata per un lavoro, senza essere specificamente consapevoli del fatto che questa persona è anche un grande sviluppatore.
Arseni Mourzenko,

@Ominus: nota che quando sei assunto come, ad esempio, un impiegato, durante l'intervista non dici che sei un grande programmatore. Per molte persone senza background tecnico, programmatore = hacker = amico che passerà il suo tempo a crackare i PC aziendali = molti problemi.
Arseni Mourzenko,

1
@Ominus - La società non deve essere cattiva nell'assumere personale IT per avere un reparto IT incompetente. I dipartimenti IT non validi possono verificarsi perché l'IT è considerato "sovraccarico" da qualcuno e ridotto il più possibile. Ciò li estende oltre le loro effettive capacità e diventano incompetenti come organizzazione: passare costantemente da un'attività all'altra, modalità di panico costante, non comunicare con nessuno, non mantenere le promesse.
Michael Kohne,

2
@Ominus: ciò che è più probabile qui è che la società svolga ugualmente un buon lavoro nell'assumere entrambi i tipi di ruoli, ma poi il gruppo IT è carico di beurocrazia, priorità contrastanti e un sistema PM che non fa bene il lavoro, soffocando innovazione piuttosto che alimentarla. I tecnici nei lavori non IT, una volta notata la loro abilità, sono autorizzati a concentrarsi su un'attività, poiché solo il loro capo dipartimento controlla il loro tempo. Le persone che svolgono il lavoro effettivo hanno un buy-in automatico sull'innovazione, mentre il gruppo IT non ha la stessa prospettiva sulle esigenze.
SqlRyan,

6

Non puoi controllarlo completamente ...

Direi che non puoi mai controllarlo COMPLETAMENTE, poiché i dipendenti avranno sempre i mezzi per produrre codice canaglia e diffonderlo con mezzi alternativi. Quindi non è molto utile ossessionarsi troppo su di esso, dopo aver redatto e applicato alcune regole e processi di base e impostato alcuni strumenti.

L'idea è che tu renda il più attraente possibile per le persone rispettare queste regole e usare questi strumenti, piuttosto che rendere così impossibile fare cose nuove da non produrre nulla.

Ma puoi creare un ambiente favorevole al codice

Molte aziende, spesso molto grandi, lo fanno. Un buon esempio è Google, per il quale i rappresentanti hanno dichiarato di utilizzare un unico SCM per l'intera azienda, affinché tutti possano monitorare e guardare il codice degli altri.

Ti consiglierei di fare quanto segue:

  • dare accesso pubblico ad alcune aree del tuo SCM,
  • semplificare la richiesta di accesso a server di integrazione continua e ispezione continua
  • incoraggiare le persone a creare posti di lavoro per i loro strumenti.

Il problema è quindi la proliferazione di tecnologie. Ovviamente, alcuni preferiranno usare X su Y ed è allora che diventa più difficile inserirli nella tua architettura. Tuttavia, non è impossibile, e se vogliono che il loro codice venga mantenuto, probabilmente avranno il miglio in più se, beh, è ​​solo un miglio.

Potresti anche prendere una posizione più arbitraria e decidere che sono consentite solo la lingua L e Stack S, ma poi otterrai alcune cose canaglia qua e là, quindi ti consiglio di ampliarlo un po '. Alcuni sistemi CI faranno miracoli con alcuni plugin, se i tuoi dipendenti sono disposti a scrivere un po 'di codice colla o alcuni script di configurazione per farli rientrare.

Dai alle squadre un po 'di libertà

È importante dare ai team la libertà di andare per capriccio e iniziare alcuni piccoli nuovi progetti con cose sperimentali. Li tiene in guardia e tu e anche te ti costringe a considerare queste tecnologie piuttosto che rimanere bloccate in una pila per sempre fino a quando non ti causano problemi.

Quindi assicurati di avere la possibilità di installare i propri sistemi per testare i loro progetti di animali domestici. Assicurati però che abbiano l'abitudine di parlarne con l'IT.

Parla con l'IT, coinvolgi

È molto meglio se i tuoi dipendenti sviluppano il riflesso di inviare una richiesta via e-mail all'IT e chiedono loro se possono impostare qualcosa per loro e adattarsi. Saranno rifiutati per la maggior parte del tempo, ma almeno c'è qualche nozione di controllo e di chi dovrebbe essere responsabile e dà all'IT una certa visibilità sulle richieste dei diversi team.

Una volta che i progetti raccolgono una massa più critica, puoi richiedere di nuovo e riconsidereranno. La comunicazione è fondamentale ed è necessario che i team di sviluppatori, consulenti, personale di supporto IT o chiunque abbia a che fare con il codice lavorino insieme. Nessuno di loro vuole programmi randagi, quindi è nel miglior interesse di tutti. È molto più semplice far rispettare le regole se le supportano da sole.


3

Non puoi fermare queste applicazioni "nascoste" perché le persone le fanno per risolvere i problemi del mondo reale. Tutto quello che puoi fare è aiutarli a farlo nel modo "giusto". E per "giusto" intendo far sì che le app possano essere mantenute dopo che la persona che le ha avviate ha lasciato. Ti consiglio di usare la lingua suggerita in Up o Out : ho bisogno che tu documenti dettagliatamente questo processo in modo che ogni Yahoo possa capirlo tra un anno da quando te ne sei andato. Aiuta a impostare il controllo della versione (e mostrare loro come usarlo), un wiki (per tenere note informali su come il lavoro viene effettivamente svolto) e un semplice sistema di tracciamento dei bug. Se vuoi rendere le cose davvero perfette, imposta l'integrazione continua su un server di riserva (se ne hai uno).

Vedrai l'enorme desiderio di integrazione di Excel (o almeno importazione / esportazione) perché tutte le scuole di business ora insegnano Excel ed è uno strumento importante utilizzato in molti corsi di business.


3

Sarbanes-Oxley e una legislazione simile al di fuori degli Stati Uniti, combinata con le leggi sulla privacy e le procedure e le politiche interne auto-imposte sulla privacy e sulla sicurezza sono il "martello" che può e spesso viene utilizzato per reprimere il fenomeno dell'ombra-IT.

Non appena le informazioni identificative personali del cliente o del dipendente (o qualsiasi dato che non si desidera divulgare) iniziano a circolare in questi fogli di calcolo, si verifica un incidente in attesa di verificarsi.

Allo stesso modo, non appena uno di questi progetti IT di skunkworks prende quel foglio di calcolo Excel e lo utilizza come i dati dietro un'app Web rivolta verso l'esterno che viene hackerato, avrai il tuo CIO e CEO che si precipitano nell'ufficio di chiunque abbia costruito quell'app in un fine settimana che viene a spiegare le conseguenze.

E poi c'è il problema che quando si guardano a questi sforzi moltiplicati per le centinaia (o migliaia) di dipartimenti in un'azienda Fortune 500, si scopre presto che la propria impresa ha oltre 100 database "master" di clienti. I tuoi clienti iniziano a lamentarsi di aver aggiornato le loro informazioni di contatto in un unico posto, ma è ancora obsoleto in altri 10, o che non sai nemmeno quanta attività fai con i tuoi grandi partner perché le informazioni sono distribuite su 10 ombra Database IT.

Tutto ciò dà origine a processi di conformità e audit onerosi che non sono divertenti per nessuno ma sono i fatti concreti della vita dell'IT in un ambiente aziendale.

Una buona strategia è quella di esaminare tutti i reparti che lo stanno facendo e fare in modo di spostare i loro investimenti nell'IT ombra in IT adeguati, argomentando che l'IT può raggiungere un'economia di scala e fare questo lavoro in modo più efficiente rispetto all'attuale modello skunkworks distribuito ad hoc. Questo può essere un duro lavoro in un ambiente in cui i vincoli del budget IT e la velocità di consegna hanno dato origine agli skunkworks in primo luogo, ma combinati con i rischi di audit / fiduciari possono fare un buon pugno di due.


2

La decisione di scrivere una nuova domanda si basa spesso su un'analisi costi-benefici della richiesta; così come il valore complessivo per l'azienda. Il tutto tenendo conto di molti altri driver come risorse IT disponibili, ambito della richiesta, obiettivi aziendali e direzione solo per citarne alcuni. Spesso una richiesta di un reparto specifico viene negata perché il direttore / direttore del dipartimento non ha mostrato un ROI ragionevole o semplicemente non segue il processo stabilito.

Indipendentemente dal motivo, il "dipartimento IT" è spesso il capro espiatorio, anche se la decisione era al di fuori del loro controllo. Pertanto, anche se la negazione della richiesta potrebbe non riflettere male sul reparto IT, la percezione è spesso completamente diversa.

Nonostante ciò, troverai applicazioni disoneste in quasi tutte le organizzazioni aziendali del mondo. Alcuni ben scritti e altri così bene, contengono codice che non avrebbe mai dovuto vedere la luce del giorno.

Mentre dovremmo fare tutto il possibile per soddisfare le esigenze dei nostri clienti interni, ci sono volte che semplicemente non possiamo. Quando ciò accade, cercheranno altrove per risolvere il loro problema.

Se il gruppo IT è attivamente coinvolto nel progetto, allora possiamo richiedere l'adesione ai nostri standard, aiutare il consulente a seguire le linee guida di codifica interne e comprendere le interazioni delle applicazioni con i nostri sistemi (database, rete, firewall, ...). Senza questo coinvolgimento saremo colti di sorpresa e passeremo molto tempo a cercare di capire perché i nostri sistemi di produzione non rispettano lo SLA.

Indipendentemente dal fatto che il dipartimento IT li perdoni e li supporti, può e avrà un impatto diretto in termini di supporto, impegni OLA e SLA su cui viene misurato qualsiasi reparto IT.


1

Sono vietati nella nostra azienda per questi motivi:

  • Macro Excel protette da password in cui l'unica persona che conosce la password ha lasciato l'azienda,
  • Essere ritenuto responsabile di segnalazioni errate scritte da persone inesperte perché è IT
  • Ci viene chiesto di modificare un rapporto di cui non abbiamo mai visto o sentito parlare prima.

Capisco che può essere frustrante per gli utenti quando l'IT è occupato e potrebbero essere inclini a "farlo da soli". Ma l'IT non può essere ritenuto responsabile di cose che non sa nemmeno che esistono, e se nessuno è responsabile dell'IT generale, allora ci sono grandi problemi a venire.


5
Da quello che ho capito, l'IT è lì per supportare l'azienda; non è lo scopo dietro avere un dipartimento IT per aiutare le persone a fare il loro lavoro? Come possono fare bene il loro lavoro se proibisci loro di creare gli strumenti di cui hanno bisogno? Non c'è niente di sbagliato nel dire "Non ritenerci responsabili per quel rapporto errato - qualcuno nelle vendite lo ha creato."
Phil

@Phil - Concordato. L'IT è lì per aiutare l'azienda a funzionare, non per svolgere alcuna funzione da sola - non esisterebbe se non consentisse all'azienda di svolgere meglio il proprio lavoro e tutto ciò che l'IT deve realizzare dovrebbe essere visto attraverso l'obiettivo di come gli affari funzionano meglio grazie ai loro sforzi. Ogni processo creato al di fuori dell'IT corrisponde a un'esigenza che l'IT non sta soddisfando e vietandoli aumenta maggiormente l'insicurezza. Non puoi aspettarti di supportare processi che non hai sviluppato, e sarei fermo, ma rifiutare di riconoscere che queste soluzioni "canaglia" corrisponde a bisogni reali è solo testardo.
SqlRyan,

1
Devo aggiungere che sono state prese misure per espandere il dipartimento IT per soddisfare queste esigenze.
Paul T Davies,

Mentre l'IT supporta l'azienda, spesso l'azienda non supporta l'IT. Le aziende spesso non tengono conto del tempo impiegato dall'IT per assumere o consigliare fogli di calcolo o applicazioni complessi sviluppati dall'utente finale. L'effetto netto è un reparto IT a corto di personale. E sappiamo tutti come funziona.
Mike Sherrill "Cat Recall",

1

Se c'è un problema qui è con il dipartimento IT.

Non c'è nulla di sbagliato nel consentire alle persone con conoscenze specializzate in ambito aziendale / di dominio di manipolare ed elaborare i propri dati.

Il dipartimento IT deve riconoscerlo e supportarlo. Fornendo interfacce riutilizzabili, fornendo dati in formati convenienti come EXCEL o Access DB e fornendo strumenti flessibili (COGNOS, Jasper Reports ecc.).

Il reparto IT deve anche ripensare le sue priorità: è lì per servire l'azienda, non per implementare la metodologia più recente, o per installare l'hardware più sexy.


1

Una frustrazione che molte aziende o reparti nelle aziende hanno è che i loro dipartimenti IT si mettono in mezzo e rendono difficile per loro svolgere il loro lavoro o fare nuove cose. Questo porta i dipartimenti, che si sentono come trattenuti dai criteri IT, a tentare di risolvere i propri problemi. La comunicazione è la chiave. Se i dipartimenti lavorano attorno all'IT, quello che hai davvero è un problema IT. L'IT non può permettersi di essere visto come un nemico. Le aziende, e in particolare i dipartimenti IT, devono rendersi conto che devono lavorare insieme invece che uno contro l'altro. Se i dipartimenti comunicano con il proprio personale IT (in particolare quelli che dovrebbero avere una supervisione) e dicono loro le loro esigenze e come stanno lavorando per risolvere i propri problemi, Almeno l'IT avrà la possibilità di aiutare a risolvere i problemi invece di scoprire dopo il fatto che si verifica una crisi. Mantieni l'IT nel giro.


1

C'è quasi sempre una valida necessità di questi strumenti speciali, siano essi applicazioni o fogli di calcolo. Un dipartimento IT ha due scelte. Possono essere abilitanti o disabilitanti. Nella mia esperienza, i disabilità perdono perché ostacolano le valide esigenze aziendali e diventano nemici comuni. Gli attivatori d'altro canto aiutano veramente un'azienda.

Ciò non significa che lo sviluppo finanziato dai dipartimenti dovrebbe avere un regno libero. Alcuni requisiti devono essere applicati, come i seguenti:

  • Tutto il codice deve essere regolarmente impegnato in un sistema di controllo della versione gestito dall'IT. L'IT dovrebbe creare liberamente account e directory per renderlo possibile. L'IT potrebbe anche voler fornire alcune istruzioni.
  • Tutto ciò che coinvolge PII (informazioni di identificazione personale), autenticazione, autorizzazione, crittografia, dati protetti dalla legge o dati che l'azienda ritiene critici deve coinvolgere ed essere approvato da un consulente IT. L'IT / il consulente dovrebbe fornire assistenza, biblioteche, ecc. Per proteggere adeguatamente l'azienda, consentendo allo stesso tempo lo sviluppo di app.
  • I database primari dovrebbero essere protetti. A seconda del database, l'accesso in lettura dovrebbe essere relativamente facile da ottenere e l'accesso in scrittura più difficile. Potrebbe essere necessario che l'IT fornisca account, registrazione o controllo.

L'abilitazione ha molti vantaggi.

  • L'IT impara di più su come soddisfare le esigenze dei propri clienti. Ciò porta a una migliore definizione delle priorità e condivisione.
  • L'IT è visto come un amico e un vantaggio, piuttosto che un problema.
  • Vengono soddisfatte le reali esigenze aziendali.
  • I dati aziendali sono adeguatamente protetti perché è stato coinvolto l'IT, evitando la necessità di backdoor.
  • Gli strumenti di deposito non vanno persi a causa del turnover e possono essere più facilmente trasferiti nell'IT, se necessario.

0

Non ho potuto fare a meno di identificarmi con te. Il problema che descrivi sembra essere universale, che abbraccia culture, lingue e continenti.

Le cose che puoi fare:

  • Limitare la creazione di account di database , chiedendo l'approvazione di un supervisore. Costringerli a utilizzare un computer locale come server di database o scrivere le app in modo indipendente, ne riduce notevolmente l'utilità.

  • Fai in modo che tutti gli stagisti delle carriere legate all'IT siano contratti solo attraverso l'IT .

  • Limitare tramite la politica del sistema operativo l' installazione del software . Ogni installazione di software deve essere canalizzata attraverso l'help desk IT, che richiede l'approvazione di un supervisore. In questo modo l'installazione di qualcosa come MS Access, PHP, Visual Basic, ecc., Sarà più difficile passare inosservata.

  • Emettere una politica in cui si afferma che ogni nuovo sviluppo, per ricevere supporto, deve essere scritto, diciamo Java, C #, C ++ o qualsiasi altro linguaggio che richiederebbe una ripida curva di apprendimento . In questo modo riduci l'universo delle persone con "una certa conoscenza della programmazione" per scherzare.

  • I requisiti che le persone devono dare un'occhiata alle "soluzioni Excel" all'interno dell'azienda, poiché ciò riflette le esigenze IT dell'azienda.

  • Implementazione di un data warehouse e di uno strumento di data mining e reporting intuitivo per l'utente finale . In questo modo riduci la necessità di piccole app personalizzate create internamente.

Ma: non una sola cosa che farai supererà una telefonata di un grande capo , chiamando il responsabile IT e chiedendogli di supportare l'app che ha fatto uno stagista.


circa il punto 1, le app stand alone possono essere di grande aiuto nell'elaborazione dei dati anche senza un DB, al punto 4 una curva di apprendimento ripida non impedisce mai a qualcuno di scrivere cose quando sono alla base di esso il cui risultato sarà anche peggio supporto, o addirittura soemone che dice "meh non ho bisogno di questa app supportata"
maniaco del cricchetto

Il punto 3 sulla restrizione del sistema operativo non funziona. Molte aziende sono già passate al modello "porta-il-tuo-laptop".
Sulthan,

5
Concordo con il punto 4 (tenere presente che gli strumenti personalizzati possono riflettere una mancanza di risposta da parte dell'IT), ma non con il resto. Misure orientate alla restrizione puzzano di burocrazia. Nella mia esperienza, il risultato finale è che le cose non vengono fatte e raramente l'IT viene coinvolto in modo efficace. Ad esempio "no, non puoi fare X. Chiedi a un manager e fallo approvare." (risultato: X non viene mai fatto; il livello di frustrazione aumenta)
Andres F.

0

Un modo in cui la mia azienda aiuta in questo tipo di situazioni è di non essere agnostico sulla lingua. Se vuoi che un'app / programma venga presa in considerazione, deve essere in una lingua a nostra scelta (java). Potremmo allungare un po 'le regole per alcuni JQuery o js, ​​ma dovrebbe essere un'applicazione ben composta che soddisfacesse un'esigenza critica. Non venire e dire "Ho questa app PHP che ho bisogno che tu ospiti per me" perché probabilmente ti verrà consegnato solo un foglio delle politiche.

È importante stroncare le cose prima che diventino troppo grandi, perché una volta che sei meglio avere qualcuno che puoi dedicare all'apprendimento o alla riscrittura. Perché una volta che quella grande parrucca di sopra decide che gli piace, probabilmente non ti libererai mai della mia esperienza.


0

L'arroganza di Geeks!

In molti casi gli utenti aziendali possono utilizzare gli strumenti per fare cose che le persone IT non comprendono. Questo non è perché sono intrinsecamente cattivi, ma perché conoscono il business, come funziona e come vorrebbero che funzionasse.

Ad esempio, una società di software ha sviluppato un'applicazione per ottimizzare (a costi) l'accesso ai feed di dati di mercato. Come ripensamento hanno fornito un plug-in Excel in modo che gli utenti potessero accedere all'ultimo prezzo delle azioni tramite un foglio di calcolo. Avanti veloce di un anno e quasi tutti i trader della società per cui ho lavorato avevano uno o più fogli di calcolo incredibilmente complessi a supporto della loro strategia di trading. Di tanto in tanto avrebbero avuto un problema con le macro e chiedevano aiuto a uno dei ragazzi IT, i più rifiutati (e si chiedono perché l'azienda ci odia!). Tuttavia, ho provato e mentre potevo risolvere problemi tecnici con vari parametri di funzione e riferimenti circolari, posso onestamente dire che non avevo il minimo indizio su cosa facesse effettivamente l'intero foglio di calcolo. Non perché fossero mal messi insieme o mal programmati, ma perché non avevo le conoscenze o l'esperienza per apprezzare la sottigliezza di ciò che i trader stavano cercando di ottenere. Inoltre, stimerei un progetto IT di oltre 5 anni per replicare la funzionalità di uno di questi fogli di calcolo in un linguaggio di programmazione "adeguato" come progetto IT standard.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.