Verbieten oder Kontrollieren von "Hidden IT ..." Wer sollte Ad-hoc-Softwareanwendungen schreiben und warten?

61

Größere Unternehmen haben in der Regel das Problem, dass aus Personal- und Geldmangel nicht alle Programme geschrieben werden können, die die Mitarbeiter wünschen (um Zeit zu sparen und Prozesse zu optimieren).

Dann werden versteckte Programme von einigen Leuten erstellt, die (zumindest einige) Programmiererfahrung haben (oder von billigen Studenten / Praktikanten ...). Unter bestimmten Umständen gewinnen diese Anwendungen an Bedeutung und breiten sich von einem Benutzer auf eine ganze Abteilung aus.

Dann gibt es den kritischen Punkt: Wer wird die Anwendung warten, neue Funktionen hinzufügen, ...? Und diese App ist kritisch. Es wird gebraucht. Aber der Praktikant hat die Firma verlassen. Niemand weiß, wie es funktioniert. Sie haben nur eine Reihe von Quellen und eine Art Dokumentation.

Ist es sinnvoll, die Anwendungsentwicklung außerhalb der IT-Abteilung ad-hoc zu steuern oder zu verbieten (mit Ausnahme kleinerer Dinge wie Excel-Makros)?

matcauthon
quelle
3
Würde von der Umgebung abhängen. Sie können das Betriebssystem des Arbeitsplatzes so einrichten, dass nur Administratoren neue Software installieren können. Sie können den Zugriff auf relevante Ressourcen auf dem Server (Datenbanken, Dateisystem), auf die diese Software zugreifen müsste, verweigern. Sie können dies auf technische Weise tun, damit es unmöglich ist, Passwörter, IP-Adressen und ähnliche erforderliche Informationen nicht preiszugeben, oder einfach die Unternehmenspolitik zu bestimmen und jeden zu entlassen, der gegen die Vorschriften verstößt. Ich habe mehr oder weniger alles gesehen.
thorsten müller
40
Aber wenn diese "versteckten Programme" tatsächlich kritisch sind und nicht von der echten IT-Abteilung implementiert werden können, was bringt es Ihnen, wenn Sie sie verbieten? Sie sind schließlich kritisch , deshalb kann man es sich einfach nicht leisten, sie nicht zu haben. Vielleicht Ihre IT-Abteilung umstrukturieren? Oder Prioritäten neu setzen? Mir erscheint es verständlich, dass geschickte Leute Dinge außerhalb des normalen Workflows erledigen, wenn der Workflow nicht reagiert ...
Andres F.
13
@ thorstenmüller Zu diesem Zeitpunkt werden möglicherweise versteckte Programme als Excel-Formeln implementiert, was eine um eine Größenordnung schlechtere Wartbarkeit bietet als Excel VBA. Da das Erstellen von Excel-Arbeitsblättern eine Fähigkeit ist, die viele Büroangestellte benötigen, können Sie sie nicht pauschal verbieten, wie Sie es von einer geeigneteren Entwicklungsplattform erwarten.
Dan Neely
5
@ thorstenmüller Mein Punkt ist, egal was Sie versuchen und tun, wenn die Auswahl über Kanäle erfolgt, warten Sie mehrere Tage (wenn nicht Monate aufgrund von Burrocrazy), verbringen Sie mehrere Stunden damit, es manuell zu tun, oder führen Sie einen Endlauf durch, um die Politik zu umgehen Letzteres zu tun. Angenommen, Sie können damit aufhören, ist eine Täuschung. Das Beste, was Sie hoffen können, ist ein effektiver Prozess, um diese Tools nachträglich zu finden und anzuwenden.
Dan Neely
16
Was ist falsch daran, dass normale Leute ihre Geschäftsprozesse automatisieren? Solange es ihnen tatsächlich Zeit spart, was es wahrscheinlich ist, halte ich es für eine gute Sache . Wenn ein bestimmtes 'chaotisches' 'Ad-hoc'-Automatisierungstool stark abhängig wird, kann es sich lohnen, Entwickler eine wartbare Version schreiben zu lassen. Im schlimmsten Fall müssen sie bei sich ändernden Anforderungen wieder manuell vorgehen, aber zumindest haben sie schon viel Zeit gespart!
Philip

Antworten:

79

Ich habe für ein Unternehmen gearbeitet, in dem jede App, die wir ihnen gaben, zu der Frage führte: Können wir diese Daten nach Excel exportieren?

Nach einer Weile entschied ich, dass ich wissen musste, warum sie für alles von Excel-Exporten besessen waren. Es stellte sich heraus, dass viele Abteilungen eine Person hatten, die ein Experte für Excel war und in kürzester Zeit eine nützliche Datenanalyse-App schreiben konnte. Diese Apps verbreiteten sich wie ein Lauffeuer in der Abteilung und wir, die Technikfreaks, hatten keine Ahnung, dass sie überhaupt existierten.

Warum sind sie nicht zuerst zu uns gekommen? Weil es den Ruf gab, dass das technische Team viel zu viel zu tun hatte, und wenn sie danach fragten, konnten sie es sechs Monate später (wenn sie Glück hatten) in die Warteschlange stellen.

Das war keine unfaire Anschuldigung und sie haben uns nie gebeten, ihre Excel-Apps zu unterstützen, also dachte niemand wirklich, dass dies ein Problem sei. Wenn diese Excel-Entwickler gingen, gelang es ihnen immer, jemanden zu finden, der sie abholte.

Man könnte argumentieren, dass wir falsch priorisiert haben und wichtige Arbeiten nicht erledigt wurden. Aber ich würde argumentieren, dass es den höher bezahlten Entwicklern die Freiheit gab, schwieriger zu arbeiten. Was kann es weh tun?

Jetzt würde ich Software verbieten, die die Datenbank aktualisiert, die außerhalb des Entwicklungsteams geschrieben wird. Und ich würde es ablehnen, Apps zu unterstützen, die außerhalb des Entwicklungsteams geschrieben wurden. Aber ich würde nicht versuchen, zu verbieten, dass Software vom Unternehmen selbst geschrieben wird, und ich würde gerne Datenexporte schreiben, um sie dazu zu befähigen (solange dies keine Daten verfügbar macht, die sie offensichtlich nicht sehen sollten ).

pdr
quelle
36
Ich habe in einem ähnlichen Umfeld gearbeitet und die Reaktion unserer Abteilung auf diese "Apps" war immer frustrierend. Viele meiner Kollegen in der IT-Abteilung fühlten sich aus irgendeinem Grund von diesen Apps bedroht, aber ich fand sie wunderbar. Auf diese Weise konnten die Abteilungsbenutzer herausfinden, was sie wirklich brauchten, und wenn diese einzelne Access-Datenbank für sie nicht funktionierte, konnten sie sie uns einfach übergeben, und wir erstellten eine "echte" SQL-Lösung, die dieselbe Funktionalität unterstützt. Ich würde für so ein Projekt wieder töten. Alle Anforderungen waren am ersten Tag bekannt, als wir begannen.
Graham
8
+1 Gut erklärt. Die Befähigung der Benutzer unserer Software sollte eine unserer höchsten Prioritäten sein.
Steven Evers
Ich würde größtenteils Ihrer Antwort zustimmen müssen. Aber das Fazit ist, dass schlecht geschriebene Abfragen einen Datenbankserver zum Absturz bringen können. auch wenn in Excel oder Access geschrieben. Once muss die SLA-Verpflichtungen der IT mit den Anforderungen des Unternehmens in Einklang bringen.
Steve
@ Stephen: Ja. Aus diesem Grund ist es besser, Benutzer zu befähigen, ihre eigenen Aufgaben zu erledigen, als sie an Produktionsdaten zu beteiligen. Ob dies schreibgeschützt, eine tägliche Kopie der Daten oder ein Excel-Export oder eine DSL-Datei ist, hängt stark von Ihren Sicherheits- / SLA-Anforderungen und deren Datenanforderungen ab.
pdr
1
@mattnz: Ich würde stark dagegen empfehlen. Dies gibt den Leuten die Möglichkeit, das Techie-Team dazu zu bringen, ihre Probleme vor dem Rest des Geschäfts zu priorisieren, indem sie einfach etwas zusammenklopfen und sagen: "Kannst du sehen, warum das nicht funktioniert?" Haben Sie jemals einen Entwickler gekannt, der einer solchen Herausforderung standhalten kann?
pdr
50

Ich denke, die Leute vermissen den allgemeinen Punkt hier:

Wenn Ihnen die derzeitige kundenspezifische Entwicklung nicht gefällt, sollten Sie sich fragen, warum sie sich mit der IT befasst, und nicht nur sagen, dass dies nicht zulässig ist. Denken Sie daran, dass Sie (IT) existieren, um ihnen zu helfen, ihre Arbeit besser zu machen, und dass die Leute keine Software verwenden, weil sie cool, ordentlich oder neu ist. Sie verwenden sie, weil sie ein Problem lösen, das sie haben.

Warum werden diese Apps überhaupt erstellt?

In allen Fällen, die ich gesehen habe, gibt es einen gemeinsamen Grund:

Unternehmensgruppen, die höhere Prioritäten für ihre eigenen Bedürfnisse setzen als diese, werden im Kontext des gesamten Unternehmens priorisiert

Das Marketing ist nur für das Marketing verantwortlich. Initiativen, die ihren Zielen zugute kommen, scheinen für sie von entscheidender Bedeutung zu sein, während sie für andere Gruppen als unübersichtlich gelten und bei begrenzten Ressourcen wie der IT tendenziell eine niedrigere Priorität haben. Die Priorisierung spielt nur dann eine Rolle, wenn sie eine gemeinsam genutzte Ressource verwenden möchten. Wenn das Projekt vollständig in ihrer eigenen Abteilung bleibt, muss sich nur der Abteilungsleiter um das Budget und den Zeitplan kümmern.

Es gibt keinen Grund, diese Art von Entwicklung zu verbieten - sie verringert die Einschränkungen für gemeinsam genutzte Ressourcen (hauptsächlich IT) und ermöglicht es jeder Gruppe, ihre eigenen Probleme zu lösen (da Experten in fortgeschrittenem Excel weit verbreitet sind). Da dies ein häufiges Problem ist, haben die meisten Abteilungen mindestens ein Problem.

Es kann jedoch nicht erwartet werden, dass Sie Probleme lösen, die durch diese Anwendungen entstehen, oder diese unterstützen, nachdem der ursprüngliche Entwickler das Unternehmen verlassen hat. Wie bereits erwähnt, hält dies den Big Boss nicht davon ab, von Ihnen Unterstützung zu fordern. Wenn Sie jedoch ein Gespür für die Art der benutzerdefinierten Anwendungen oder Prozesse haben, können Sie ein Gefühl dafür bekommen, wann etwas kritisch wird und wann Sie Möglicherweise müssen Sie sich engagieren, um es "in-house" zu bringen. Wenn sich etwas mit Systemen verbindet und diese modifiziert, die sich unter der Kontrolle der IT befinden, sollte die IT einbezogen werden, um die Sicherheit und Integrität ihrer zentralen Systeme zu gewährleisten. Wenn dies jedoch auf den Desktop eines Benutzers beschränkt ist, warum sollte dies erforderlich sein? es zu verbieten?

Beachten Sie jedoch Folgendes: Jede benutzerdefinierte Anwendung, die außerhalb der IT entwickelt wurde, entspricht einem Bedarf, den die IT nicht erfüllt . Es kann einen guten Grund dafür geben, dass sie nicht erfüllt werden - keine Priorität im Unternehmen, ein sehr spezialisiertes Problem, nicht so gut wie andere Optionen, eine benutzerdefinierte Sprache, die Ihre IT-Mitarbeiter nicht kennen, usw. - und der Mangel an IT-Beteiligung legitim, aber diese Lösungen wurden entwickelt, weil einige Abteilungen ein Bedürfnis hatten, das die IT nicht befriedigen konnte (oder wollte).

Versuchen Sie, ihnen bei der Lösung ihrer Probleme zu helfen. Wenn Sie nicht über die Zeit und die Ressourcen verfügen, lassen Sie sie diese selbst lösen. Das Mandatieren einer Sprache mit einer steilen Lernkurve, die nur dazu dient, die Menschen von Ihrem Unternehmen fernzuhalten, dient nur dazu, die elitäre Haltung zu stärken, die die meisten Geschäftsbenutzer der Meinung sind, dass die IT eine solche Haltung hat, und letztendlich führt diese Haltung nur dazu Eher das gleiche Problem, da Benutzer Angst haben, sich an die IT zu wenden, und davon überzeugt sind, dass die IT ihre Bedürfnisse oder Wünsche nicht versteht. Öffnen Sie die Beziehung - nur wenn Sie verstehen, was sie brauchen, können sie Sie nicht umgehen.

SqlRyan
quelle
2
+1 Stelle auf. Ich sehe hier niemanden, der erwähnt, was bei diesen Praktiken, die ich in mehreren Unternehmen gesehen habe, ein großes Problem darstellt. Was kurzfristig für ein oder zwei Personen funktioniert, verwandelt sich schnell in ein gewaltiges Software-Durcheinander von 30 kleinen Apps, die über Jahre gewachsen sind. Etwa die Hälfte der Arbeit und die Wartung sind zehnmal so teuer wie wenn die IT-Abteilung Mitarbeiter eingestellt hätte Tun Sie dies alles, damit sie konsistent sind und eine zentrale Eigentümerbasis für die IT haben.
Jimmy Hoffa
4
Als Mitarbeiter eines "Black Ops" -Programmierers kann ich Ihnen sagen, dass die IT-Abteilung häufig nicht über die erforderlichen Kenntnisse verfügt, um die Anforderungen einer bestimmten technischen Abteilung zu verstehen. Einige unserer kritischsten und innovativsten Programme begannen als "Black Ops" -Programme. IT ist kein Ort, an dem Innovation belohnt wird. Innovation und Experimentieren bedeuten oft eine Menge gescheiterter Projekte für jedes erfolgreiche. Sobald ein "Black Ops" -Programm gut angenommen ist, wird es in der Regel zur Wartung an die IT übergeben.
Bill
+1 Genau meine Gedanken, aber viel besser formuliert.
Phil
16

Man sollte auch den Fall der Unternehmen in Betracht ziehen, in denen die IT-Abteilung inkompetente Personen enthält, während die versteckte App von einem geschickten Entwickler erstellt wird, der einen Nicht-Entwickler-Job innerhalb des Unternehmens hat. Nach meiner Erfahrung sind diese Fälle sehr häufig.

Stellen Sie sich vor, Sie haben ein Doppelprofil eines Softwareentwicklers und eines Buchhalters. Sie sind als Buchhalter angestellt, weil dies eine Gelegenheit für Sie war, einen gut bezahlten Job zu bekommen. Sie sehen schnell, dass Ihre Kollegen (und jetzt Sie) Stunden damit verbringen, sich wiederholende Dinge zu tun, die von einem Programm in wenigen Sekunden erledigt werden können.

Sie verbringen ein paar Abende damit, die App zu schreiben, die die ganze Arbeit erledigt. Sie zeigen es Ihren Kollegen auf Ihrem persönlichen Laptop und sie finden es sehr nützlich. Sie möchten es auf den Unternehmens-PCs installieren, müssen jedoch die Zustimmung der IT-Abteilung einholen. Sie fragen danach, aber sie lehnen es ab, weil sie Ihre Bewerbung nicht unterstützen würden.

Klingt das nicht dumm?

Abgesehen von diesem speziellen Fall unterscheidet sich das Problem mit dem Support nicht wesentlich von dem, bei dem viele Unternehmen mit der gesamten  Software konfrontiert sind, auch wenn diese in der IT-Abteilung geschrieben wurde. geschrieben von unerfahrenen Leuten, die sich nicht um Wartung kümmern und die vor Jahren gegangen sind.

Abschließend ist die Hauptfrage die Rentabilität . Wenn Sie als IT-Abteilung gebeten werden, eine von einem Sachbearbeiter entwickelte App zu warten, der die grundlegendsten Regeln der Softwareentwicklung nicht versteht, spielt es keine Rolle, wie angenehm diese Aufgabe ist viel Geld an die Firma . Oder Sie schreiben es von Grund auf neu, wenn es der billigste Weg ist, Dinge zu erledigen.

Arseni Mourzenko
quelle
2
"Nach meiner Erfahrung sind diese Fälle sehr häufig." - Also hat Ihr Unternehmen großartige Programmierer für Nicht-Programmierer-Jobs und schlechte Programmierer für Programmierer-Jobs eingestellt? Ich denke, es ist wahrscheinlicher, dass jemand, der die Praktiken und die zugrunde liegenden Systeme nicht versteht, denkt, dass er bessere Software schreibt. Nur meine 2 Cent.
Ominus
2
@Ominus: Wenn eine Anwaltsstelle frei ist, sucht das Unternehmen nach einem Anwalt. Wenn der Kandidat auch ein erfahrener Entwickler ist, weiß der Interviewer es möglicherweise nicht einmal. Nein, das Unternehmen stellt keine "großartigen Programmierer in Nicht-Programmierer-Jobs" ein: Sie stellen eine qualifizierte Person für einen Job ein, ohne sich bewusst zu sein, dass diese Person auch ein großartiger Entwickler ist.
Arseni Mourzenko
@Ominus: Beachten Sie, dass Sie, wenn Sie zum Beispiel als Angestellter angestellt sind, während des Interviews nicht sagen, dass Sie ein großartiger Programmierer sind. Für viele Leute ohne technischen Hintergrund ist Programmierer = Hacker = Typ, der seine Zeit damit verbringen wird, Firmen-PCs zu knacken = viele Probleme.
Arseni Mourzenko
1
@Ominus - Das Unternehmen muss nicht schlecht darin sein, IT-Mitarbeiter einzustellen, um eine inkompetente IT-Abteilung zu haben. Es kann zu schlechten IT-Abteilungen kommen, weil die IT von jemandem als "Overhead" betrachtet und so weit wie möglich reduziert wird. Dies überfordert sie über ihre tatsächlichen Fähigkeiten hinaus und sie werden als Organisation inkompetent - ständiger Wechsel zwischen Aufgaben, ständiger Panikmodus, keine Kommunikation mit irgendjemandem, keine Einhaltung von Versprechungen.
Michael Kohne
2
@Ominus: Was hier wahrscheinlicher ist, ist, dass das Unternehmen beide Arten von Rollen gleich gut einstellt, aber dann ist die IT-Gruppe mit Bürokratie, widersprüchlichen Prioritäten und einem PM-System belastet, das die Arbeit nicht gut macht und erstickt Innovation, anstatt sie zu fördern. Die Techniker in den nicht-IT-Berufen können sich, sobald ihre Fähigkeiten bemerkt werden, tatsächlich auf eine Aufgabe konzentrieren, da nur ihr Abteilungsleiter ihre Zeit kontrolliert. Die Leute, die die eigentliche Arbeit machen, haben ein automatisches Buy-in für Innovationen, während die IT-Gruppe die Bedürfnisse nicht aus der gleichen Perspektive betrachtet.
SqlRyan
6

Sie können es nicht vollständig steuern ...

Ich würde sagen, Sie können es niemals VOLLSTÄNDIG kontrollieren, da die Mitarbeiter immer Mittel haben, um unechten Code zu produzieren und ihn auf alternative Weise zu verbreiten. Wenn Sie ein paar grundlegende Regeln und Prozesse entworfen und durchgesetzt und ein paar Tools eingerichtet haben, ist es also nicht sinnvoll, zu sehr davon besessen zu sein.

Die Idee ist, dass Sie es für die Menschen so attraktiv wie möglich machen, diese Regeln zu respektieren und diese Werkzeuge zu verwenden, anstatt es so unmöglich zu machen, neue Dinge zu tun, die sie nicht produzieren.

Sie können jedoch eine Code-freundliche Umgebung erstellen

Viele oft sehr große Unternehmen tun dies. Ein gutes Beispiel dafür ist Google, für das Vertreter angegeben haben, dass sie ein einziges SCM für das gesamte Unternehmen verwenden, damit jeder den Code anderer überwachen und anzeigen kann.

Ich würde empfehlen, dass Sie Folgendes tun:

  • Geben Sie der Öffentlichkeit Zugang zu einigen Bereichen Ihres SCM.
  • Erleichterung der Anforderung des Zugriffs auf Server für die kontinuierliche Integration und die kontinuierliche Überprüfung,
  • Menschen ermutigen, Arbeitsplätze für ihre Werkzeuge zu schaffen.

Das Problem ist dann die Verbreitung von Technologien. Offensichtlich bevorzugen einige die Verwendung von X gegenüber Y, und dann wird es schwieriger, sie in Ihre Architektur einzufügen. Es ist jedoch nicht unmöglich, und wenn sie möchten, dass ihr Code gewartet wird, bekommen sie wahrscheinlich die Extrameile, wenn es nur eine Meile ist.

Sie könnten auch eine willkürlichere Haltung einnehmen und entscheiden, dass nur die Sprachen L und Stack S zulässig sind, aber dann erhalten Sie hier und da ein paar Schurken, daher würde ich empfehlen, es ein wenig zu erweitern. Einige CI-Systeme können mit ein paar Plugins Wunder bewirken, wenn Ihre Mitarbeiter bereit sind, ein bisschen Klebercode oder einige Konfigurationsskripte zu schreiben, damit sie sich einfügen.

Geben Sie den Teams etwas Freiheit

Es ist wichtig, den Teams die Freiheit zu geben, nach Lust und Laune kleine neue Projekte mit experimentellen Dingen zu starten. Es hält sie auf Trab, und Sie und es zwingt Sie, diese Technologien in Betracht zu ziehen, anstatt für immer im Stapel zu bleiben, bis es Ihnen Probleme bereitet.

Stellen Sie also sicher, dass sie die Möglichkeit haben, ihre eigenen Systeme zum Testen ihrer Lieblingsprojekte zu installieren. Aber stellen Sie sicher, dass sie es sich zur Gewohnheit machen, mit der IT darüber zu sprechen.

Sprechen Sie mit der IT und engagieren Sie sich

Es ist viel besser, wenn Ihre Mitarbeiter den Reflex entwickeln, eine E-Mail-Anfrage an die IT zu senden und sie fragen, ob sie etwas für sie einrichten und anpassen können. Sie werden die meiste Zeit abgelehnt, aber zumindest gibt es eine Vorstellung von der Kontrolle und davon, wer verantwortlich sein sollte, und gibt der IT einen Einblick in die Anforderungen verschiedener Teams.

Sobald Projekte eine kritischere Masse erreichen, können Sie sie erneut anfordern und sie werden es erneut überdenken. Kommunikation ist der Schlüssel, und Sie benötigen ein Team von Entwicklern, Beratern, IT-Support-Mitarbeitern oder Mitarbeitern, die sich mit Code befassen, um zusammenarbeiten zu können. Keiner von ihnen möchte streunende Programme, also ist es im besten Interesse aller. Es ist viel einfacher, Regeln durchzusetzen, wenn sie selbst gesichert werden.

Haylem
quelle
3

Sie können diese "versteckten" Anwendungen nicht stoppen, weil sie von den Mitarbeitern zur Lösung von Geschäftsproblemen in der Praxis erstellt werden. Alles, was Sie tun können, ist ihnen dabei zu helfen, es "richtig" zu machen. Und mit "richtig" meine ich, dass die Apps gepflegt werden können, nachdem die Person, die sie gestartet hat, sie verlassen hat. Ich empfehle die Verwendung der in " Nach oben" oder " Nach außen" vorgeschlagenen Sprache : Sie müssen diesen Vorgang detailliert dokumentieren, damit jeder Yahoo ihn in einem Jahr nach Ihrer Abreise verstehen kann. Helfen Sie beim Einrichten der Versionskontrolle (und zeigen Sie ihnen, wie man sie benutzt), einem Wiki (um informelle Notizen darüber zu machen, wie die Arbeit tatsächlich erledigt wird) und einem einfachen Fehlerverfolgungssystem. Wenn Sie wirklich gute Ergebnisse erzielen möchten, richten Sie die kontinuierliche Integration auf einem Ersatzserver ein (sofern vorhanden).

Sie werden den großen Wunsch nach Excel-Integration (oder zumindest Import / Export) sehen, da alle Business Schools jetzt Excel unterrichten und es ein wichtiges Werkzeug ist, das in vielen Business-Kursen verwendet wird.

Tangurena
quelle
3

Sarbanes-Oxley und ähnliche Gesetze außerhalb der USA sind in Kombination mit Datenschutzgesetzen und selbst auferlegten Datenschutz- und Sicherheitsprozessen und -richtlinien der "Hammer", der häufig eingesetzt wird, um das Schatten-IT-Phänomen einzudämmen.

Sobald in diesen Arbeitsblättern personenbezogene Daten von Kunden oder Mitarbeitern (oder Daten, die Sie nicht veröffentlichen möchten) in Umlauf gebracht werden, wartet ein Unfall auf Sie.

Sobald eines dieser Skunkworks-IT-Projekte diese Excel-Tabelle verwendet und sie als Daten für eine nach außen gerichtete Web-App verwendet, die gehackt wird, stürmt Ihr CIO und CEO in das Büro desjenigen, der diese App eingebaut hat ein Wochenende kommt, um die Konsequenzen zu erklären.

Und dann gibt es das Problem, dass, wenn Sie sich diese Bemühungen in Hunderten (oder Tausenden) von Abteilungen in einem Fortune 500-Unternehmen ansehen, Sie bald feststellen, dass Ihr Unternehmen über 100 Kunden- "Master" -Datenbanken verfügt. Ihre Kunden beschweren sich, dass sie ihre Kontaktinformationen an einer Stelle aktualisiert haben, bei 10 anderen jedoch immer noch veraltet sind oder dass Sie nicht einmal wissen, wie viel Geschäft Sie mit Ihren großen Partnern machen, da die Informationen über 10 Schatten verteilt sind IT-Datenbanken.

All dies führt zu mühsamen Compliance- und Prüfprozessen, die niemandem Spaß machen, sondern die harten Fakten des IT-Lebens in einer Unternehmensumgebung sind.

Eine gute Strategie besteht darin, einen Blick auf alle Abteilungen zu werfen, die dies tun, und ihre Investitionen in die Schatten-IT in die eigentliche IT zu verlagern, um zu argumentieren, dass die IT eine Skaleneffektivität erzielen und diese Arbeit effizienter ausführen kann als die derzeitige Ad-hoc verteiltes Skunkworks-Modell. Dies kann in einer Umgebung, in der IT-Budgetbeschränkungen und Liefergeschwindigkeit in erster Linie zu Skunkworks geführt haben, ein harter Verkauf sein, aber in Kombination mit den Prüfungs- / Treuhandrisiken kann dies einen guten Doppelsieg bedeuten.

Pat James
quelle
2

Die Entscheidung, einen neuen Antrag zu schreiben, basiert häufig auf einer Kosten-Nutzen-Analyse der Anfrage. sowie den Gesamtwert für das Geschäft. Dabei werden viele andere Faktoren wie verfügbare IT-Ressourcen, Umfang der Anforderung, Geschäftsziele und Richtung berücksichtigt, um nur einige zu nennen. Häufig wird eine bestimmte Abteilungsanforderung abgelehnt, weil der Abteilungsleiter / -direktor keine angemessene Rendite erzielt hat oder den festgelegten Prozess einfach nicht befolgt.

Unabhängig vom Grund ist die IT-Abteilung oft der Sündenbock, auch wenn die Entscheidung außerhalb ihrer Kontrolle lag. Auch wenn die Ablehnung der Anfrage die IT-Abteilung nicht schlecht widerspiegelt, ist die Wahrnehmung oftmals völlig anders.

Trotzdem gibt es in nahezu jeder Unternehmensorganisation der Welt unerwünschte Anwendungen. Einige sind gut geschrieben, andere enthalten Code, der niemals das Licht der Welt erblicken sollte.

Während wir alles tun sollten, um die Bedürfnisse unserer internen Kunden zu erfüllen, gibt es Zeiten, in denen wir dies einfach nicht können. In diesem Fall werden sie sich umsehen, um ihr Problem zu lösen.

Wenn die IT-Gruppe aktiv an dem Projekt beteiligt ist, können wir die Einhaltung unserer Standards fordern, dem Berater dabei helfen, interne Kodierungsrichtlinien zu befolgen und die Anwendungsinteraktionen und -anforderungen an unsere Systeme (Datenbank, Netzwerk, Firewall usw.) zu verstehen. Ohne diese Beteiligung werden wir überrascht und verbringen viel Zeit damit, herauszufinden, warum unsere Produktionssysteme die SLA nicht erfüllen.

Ob die IT-Abteilung sie duldet und unterstützt oder nicht, sie können und werden sich direkt auf den Support, die OLA- und SLA-Verpflichtungen auswirken, an denen jede IT-Abteilung gemessen wird.

Steve
quelle
1

Sie sind in unserer Firma aus folgenden Gründen verboten:

  • Passwortgeschützte Excel-Makros, bei denen die einzige Person, die das Passwort kennt, das Unternehmen verlassen hat,
  • Verantwortlich gemacht werden für falsche Berichte, die von unerfahrenen Personen verfasst wurden, weil es sich um IT handelt
  • Sie werden gebeten, einen Bericht zu ändern, von dem wir noch nie etwas gesehen oder gehört haben.

Ich verstehe, dass es für Benutzer frustrierend sein kann, wenn sie mit der IT beschäftigt sind, und dass sie dazu neigen, es einfach selbst zu tun. Die IT kann jedoch nicht für Dinge verantwortlich gemacht werden, von denen sie nicht einmal weiß, dass sie existieren, und wenn niemand für die gesamte IT verantwortlich ist, liegen große Probleme vor ihr.

Paul T Davies
quelle
5
Soweit ich weiß, ist die IT da, um das Geschäft zu unterstützen. Ist es nicht das Ziel einer IT-Abteilung, Menschen bei ihrer Arbeit zu unterstützen? Wie können sie ihre Arbeit gut machen, wenn Sie ihnen die Erstellung von Tools verbieten, die sie benötigen? Es ist nichts Falsches daran zu sagen: "Machen Sie uns nicht für diesen falschen Bericht verantwortlich - das hat jemand im Vertrieb geschaffen."
Phil
@ Phil - Einverstanden. Die IT soll den Geschäftsbetrieb unterstützen und keine Funktion für sich allein übernehmen - sie würde nicht existieren, wenn das Unternehmen seine Arbeit nicht besser erledigen könnte, und alles, was die IT leistet, sollte unter dem Aspekt betrachtet werden, wie die Das Geschäft läuft aufgrund ihrer Bemühungen besser. Jeder Prozess, der außerhalb der IT erstellt wird, entspricht einem Bedarf, den die IT nicht erfüllt, und das Verbieten stößt auf mehr Unsicherheit. Es ist nicht zu erwarten, dass Sie Prozesse unterstützen, die Sie nicht entwickelt haben, und ich bin fest davon überzeugt, dass es nur hartnäckig ist, sich zu weigern, anzuerkennen, dass diese "Schurken" -Lösungen den tatsächlichen Anforderungen entsprechen.
SqlRyan
1
Ich muss hinzufügen, dass Maßnahmen ergriffen wurden, um die IT-Abteilung zu erweitern, um diesen Anforderungen gerecht zu werden.
Paul T Davies
Während die IT das Geschäft unterstützt, unterstützt das Geschäft die IT häufig nicht. Unternehmen berücksichtigen häufig nicht die Zeit, die die IT benötigt, um komplexe, vom Endbenutzer entwickelte Tabellenkalkulationen oder Anwendungen zu übernehmen oder zu beraten. Der Nettoeffekt ist eine unterbesetzte IT-Abteilung. Und wir alle wissen, wie das geht.
Mike Sherrill 'Cat Recall'
1

Wenn es hier ein Problem gibt, liegt es an der IT-Abteilung.

Es ist nichts Falsches daran, Personen mit Fachkenntnissen im Bereich Business / Domain zu erlauben, ihre eigenen Daten zu manipulieren und zu verarbeiten.

Die IT-Abteilung muss dies anerkennen und unterstützen. Durch die Bereitstellung wiederverwendbarer Schnittstellen, die Bereitstellung von Daten in praktischen Formaten wie EXCEL oder Access DBs und die Bereitstellung flexibler Tools (COGNOS, Jasper Reports usw.).

Die IT-Abteilung muss auch ihre Prioritäten überdenken - sie soll dem Unternehmen dienen, nicht die neueste Methodik implementieren oder die schickste Hardware installieren.

James Anderson
quelle
1

Eine Frustration, die viele Unternehmen oder Abteilungen in Unternehmen haben, ist, dass ihre IT-Abteilungen im Weg stehen und es ihnen schwer machen, ihre Arbeit zu erledigen oder neue Dinge zu tun. Dies führt dazu, dass Abteilungen, die das Gefühl haben, von IT-Richtlinien zurückgehalten zu werden, versuchen, ihre eigenen Probleme zu lösen. Kommunikation ist der Schlüssel. Wenn Abteilungen mit der IT arbeiten, ist das, was Sie wirklich haben, ein IT-Problem. IT kann es sich nicht leisten, als Feind gesehen zu werden. Unternehmen und insbesondere IT-Abteilungen müssen sich darüber im Klaren sein, dass sie zusammenarbeiten müssen und nicht gegeneinander. Wenn die Abteilungen mit ihren IT-Mitarbeitern kommunizieren (insbesondere mit denjenigen, die die Kontrolle haben sollten) und ihnen ihre Bedürfnisse und ihre Arbeitsweise zur Lösung ihrer eigenen Probleme mitteilen, Zumindest die IT wird die Möglichkeit haben, zur Lösung von Problemen beizutragen, anstatt nachträglich herauszufinden, wann eine Krise eintritt. Halten Sie die IT auf dem Laufenden.

Nathan Pilling
quelle
1

Fast immer besteht ein Bedarf an diesen Spezialwerkzeugen, sei es für Anwendungen oder Tabellenkalkulationen. Eine IT-Abteilung hat zwei Möglichkeiten. Sie können Aktivierer oder Deaktivierer sein. Nach meiner Erfahrung verlieren die Behinderten, weil sie gültigen Geschäftsbedürfnissen im Wege stehen und zu einem gemeinsamen Feind werden. Enabler hingegen helfen einem Unternehmen wirklich.

Dies bedeutet nicht, dass die von der Abteilung finanzierte Entwicklung frei regiert werden sollte. Einige Anforderungen sollten durchgesetzt werden, wie zum Beispiel die folgenden:

  • Der gesamte Code muss regelmäßig an ein Versionskontrollsystem übergeben werden, das von der IT ausgeführt wird. Die IT sollte Konten und Verzeichnisse frei erstellen, um dies zu ermöglichen. Möglicherweise möchten die IT-Mitarbeiter sogar Anweisungen geben.
  • Alles, was personenbezogene Daten (PII), Authentifizierung, Autorisierung, Kryptografie, gesetzlich geschützte Daten oder vom Unternehmen als kritisch erachtete Daten betrifft, muss von einem IT-Berater geprüft und genehmigt werden. Die IT / der Berater sollte Unterstützung, Bibliotheken usw. bereitstellen, um das Unternehmen ordnungsgemäß zu schützen und gleichzeitig die App-Entwicklung zu ermöglichen.
  • Primärdatenbanken sollten geschützt werden. Abhängig von der Datenbank sollte der Lesezugriff relativ einfach und der Schreibzugriff schwieriger sein. Die IT muss möglicherweise Konten, Protokolle oder Audits bereitstellen.

Das Aktivieren hat viele Vorteile.

  • Die IT erfährt mehr über die Erfüllung der Bedürfnisse ihrer Kunden. Dies führt zu einer besseren Priorisierung und Freigabe.
  • IT wird eher als Freund und Nutzen denn als Problem gesehen.
  • Echte Geschäftsanforderungen werden erfüllt.
  • Geschäftsdaten werden angemessen geschützt, da die IT involviert war, sodass keine Hintertüren erforderlich sind.
  • Abteilungswerkzeuge gehen nicht durch Umsätze verloren und können bei Bedarf einfacher in die IT verlagert werden.
Walrii
quelle
0

Ich konnte nicht anders, als mich mit dir zu identifizieren. Das Problem, das Sie beschreiben, scheint ein universelles zu sein, das Kulturen, Sprachen und Kontinente umfasst.

Die Dinge, die Sie tun können:

  • Schränken Sie die Erstellung von Datenbankkonten ein und fordern Sie die Genehmigung eines Supervisors an. Wenn Sie sie zwingen, einen lokalen Computer als Datenbankserver zu verwenden oder die Apps als eigenständige Anwendungen zu schreiben, wird die Nützlichkeit erheblich beeinträchtigt.

  • Machen Sie alle Praktikanten von Berufen in Bezug auf IT nur durch IT vertraglich zu vereinbaren .

  • Einschränkung der Installation von Software über die Betriebssystemrichtlinie . Jede Softwareinstallation muss über den IT-Helpdesk geleitet werden und von einem Supervisor genehmigt werden. Auf diese Weise wird es schwieriger, die Installation von MS Access, PHP, Visual Basic usw. unbemerkt zu lassen.

  • Stellen Sie eine Richtlinie auf, die besagt, dass jede neue Entwicklung, um Unterstützung zu erhalten, in Java, C #, C ++ oder einer anderen Sprache geschrieben werden muss, die eine steile Lernkurve erfordert . Auf diese Weise reduzieren Sie das Universum der Menschen mit "einem gewissen Programmierwissen", um herumzuspielen.

  • Die Anforderungen , die die Mitarbeiter an die "Excel-Lösungen" im Unternehmen stellen müssen, spiegeln die IT-Anforderungen des Unternehmens wider.

  • Implementierung eines Data Warehouse und eines benutzerfreundlichen Data Mining- und Berichterstellungstools . Auf diese Weise reduzieren Sie den Bedarf an maßgeschneiderten, intern geschriebenen kleinen Apps.

Aber: Nicht eine einzige Sache, die Sie tun, übertrifft einen Anruf eines großen Chefs , der den IT-Manager anruft und ihn auffordert, die von einem Praktikanten erstellte App zu unterstützen.

Tulains Córdova
quelle
Bei Punkt 1 können eigenständige Apps eine große Hilfe bei der Verarbeitung von Daten sein, auch ohne DB. Bei Punkt 4 hindert eine steile Lernkurve niemanden daran, Dinge zu schreiben, wenn sie an der Basis sind, deren Ergebnis noch schlimmer ausfällt Unterstützung oder sogar soemone sagen "Meh, ich brauche diese App nicht unterstützt"
Ratschen-Freak
Punkt 3 zur Betriebssystemeinschränkung funktioniert nicht. Viele Unternehmen sind bereits auf das Modell "Bring-Your-Own-Laptop" umgestiegen.
Sulthan
5
Ich bin mit Punkt 4 einverstanden (beachten Sie, dass benutzerdefinierte Tools möglicherweise eine unzureichende Reaktion der IT widerspiegeln), aber nicht mit dem Rest. Restriktionsorientierte Maßnahmen stinken nach Bürokratie. Meiner Erfahrung nach ist das Endergebnis, dass Dinge nicht erledigt werden und dass sich die IT selten auf effektive Weise engagiert. ZB "Nein, Sie können kein X machen. Fragen Sie einen Manager und lassen Sie ihn genehmigen." (Ergebnis: X wird nie fertig, Frustration steigt)
Andres F.
0

Eine Möglichkeit, wie mein Unternehmen in solchen Situationen helfen kann, besteht darin, nicht sprachunabhängig zu sein. Wenn eine App / ein Programm überhaupt in Betracht gezogen werden soll, muss sie / es in einer Sprache unserer Wahl (Java) vorliegen. Wir können die Regeln für einige JQuery oder js ein wenig erweitern, aber es müsste eine gut komponierte Anwendung sein, die eine kritische Anforderung erfüllt. Sagen Sie nicht "Ich habe diese PHP-App, die Sie für mich hosten müssen", da Ihnen wahrscheinlich nur ein Richtlinienblatt ausgehändigt wird.

Es ist wichtig, dass Sie die Dinge ersticken, bevor sie zu groß werden, denn wenn Sie es einmal sind, sollten Sie jemanden finden, dem Sie sich widmen können, sie zu lernen oder sie neu zu schreiben. Denn wenn diese große Perücke oben einmal entschieden hat, dass sie ihm gefällt, werden Sie sie meiner Erfahrung nach wahrscheinlich nie mehr los.

Sedaition
quelle
0

Die Arroganz der Geeks!

In vielen Fällen können Geschäftsbenutzer die Tools verwenden, um Dinge zu tun, die die IT-Mitarbeiter nicht verstehen. Das liegt nicht daran, dass sie von Natur aus schlecht sind, sondern daran, dass sie das Geschäft kennen, wissen, wie es funktioniert und wie es funktionieren soll.

Beispielsweise hat ein Softwareunternehmen eine Anwendung entwickelt, um den Zugriff auf Marktdaten-Feeds (auf Kostenbasis) zu optimieren. Im Nachhinein stellten sie ein Excel-Plugin zur Verfügung, mit dem Benutzer über eine Tabelle auf den aktuellen Aktienkurs zugreifen konnten. Ein Jahr später hatte fast jeder Trader in dem Unternehmen, für das ich gearbeitet habe, eine oder mehrere unglaublich komplexe Tabellenkalkulationen, um seine Handelsstrategie zu unterstützen. Hin und wieder hatten sie ein Problem mit den Makros und fragten einen der IT-Mitarbeiter um Hilfe, die am meisten abgelehnt wurden (und sie fragten sich, warum das Geschäft uns hasst!). Ich hatte jedoch eine Chance und obwohl ich technische Probleme mit verschiedenen Funktionsparametern und Zirkelreferenzen beheben konnte, kann ich ehrlich sagen, dass ich nicht die geringste Ahnung hatte, was die gesamte Tabelle tatsächlich tat. Nicht weil sie schlecht zusammengestellt oder schlecht programmiert waren, sondern weil ich nicht das Wissen oder die Erfahrung hatte, die Subtilität dessen zu würdigen, was die Händler zu erreichen versuchten. Darüber hinaus würde ich ein IT-Projekt mit mehr als 5 Mannjahren veranschlagen, um die Funktionalität einer dieser Tabellenkalkulationen in einer "richtigen" Programmiersprache als Standard-IT-Projekt zu replizieren.

James Anderson
quelle