Wie gehen Sie damit um, der einzige Techniker in einem Nicht-Techniker-Team zu sein?

Das Unternehmen, für das ich derzeit arbeite, hat eine schreckliche Menge an Prozessen, die manuelle Arbeit erfordern, daher ist die Anzahl der Projekte, die sie übernehmen können, sehr begrenzt, da ihre Prozesse nicht skaliert werden können, haben sie einen Punkt erreicht, an dem sie Projekte ablehnen müssen . Diese Prozesse hängen weitgehend von manuellen Einstellungen, manueller Ausführung und dem Schreiben von Excel- und Word-Dokumenten und dergleichen ab. Ein Beispiel dafür, einer dieser Prozesse beinhaltet das manuelle Ausfüllen von mehr als 800 Zellen in einer Tabelle, ein anderer exportiert alle diese Zellen manuell in einen anderen internen Werkzeug und so weiter.

Ich wurde von diesem Unternehmen vor etwa einem halben Jahr in einer technischen Führungsrolle eingestellt, mit der Absicht, die aktuelle Abteilung, in der ich arbeite, von der manuellen Arbeit in die automatisierte Arbeit mit Python als Programmiersprache umzuwandeln. Mein Profil ist rein technisch, ich bin Softwareentwickler und Softwarearchitekt mit jahrzehntelanger Erfahrung.

Während dieser sechs Monate habe ich zwei verschiedene Rollen wahrgenommen, die Python-Infrastruktur aufgebaut, um die Prozesse automatisch auszuführen, und dieselbe Infrastruktur auch verwendet, um Ergebnisse in einem sehr wichtigen Projekt zu liefern, das sie haben, das alles funktioniert gut und ich wurde von gelobt hohe Qualität der Leistungen.

Die Infrastruktur ist so generisch und flexibel wie möglich und kann über Python angepasst werden, um die unterschiedlichen Anforderungen der Projekte zu erfüllen. Die Logik ist die gleiche wie zum Beispiel Projekt in React oder in Django. Alles Komplizierte ist in der Infrastruktur abstrahiert und über einen Funktionsaufruf in Python verfügbar, alles ist so konzipiert, dass der Benutzer nur Projektspezifika programmieren und Blöcke mit Python zusammenfügen muss.

Das Problem ist, weil andere Leute in der Abteilung mit anderen Projekten beschäftigt waren und die manuellen Prozesse so lange dauern, hat niemand außer mir an dieser Infrastruktur oder den daraus abgeleiteten Projekten gearbeitet, und niemand sonst in der Abteilung ein Programmierer noch etwas über Python weiß, das wenige Programmieren, das sie gemacht haben, ist VBA.

Ich habe meinen Kollegen gezeigt, wie alles funktioniert, und sie erkennen den Wert, den es liefert, und finden es erstaunlich, mögen Python aber überhaupt nicht, wenn es um die Implementierung der Projektspezifikationen oder die Wartung der Infrastruktur geht. Sie sind keine Programmierer und die Rolle, in die sie wechseln sollen, erfordert bis zu einem gewissen Grad Programmieren. Die Implementierung der Projektspezifika erfordert Kenntnisse in einfachem Python, also hatte ich gehofft, dass sie in jedem Projekt von dort aus beginnen und die Ergebnisse selbst miterleben würden, aber ich bin es Beginnen zu glauben, dass dies niemals passieren wird, mit der Ausrede, dass sie damit beschäftigt sind, die manuelle Arbeit in anderen Projekten zu erledigen.

Ich habe kürzlich erfahren, dass in der Vergangenheit eine externe Firma für die gleiche Sache wie ich eingestellt wurde, aber nicht weit gekommen ist.

Das andere Problem ist, dass weder mein Vorgesetzter noch andere Vorgesetzte etwas über Software wissen, es gibt keine Stunden für die Infrastruktur, also stecke ich alle Stunden, die ich mit der Infrastruktur, die nicht projektspezifisch ist, verbracht habe, in ein bestimmtes Projekt, wie ich wurde gesagt, und jetzt glauben sie, dass automatisierte Prozesse zu viel Zeit in Anspruch nehmen, weil dieses Projekt länger als erwartet gedauert hat, obwohl ich mehrmals erklärt habe, dass die meisten Stunden mit der Infrastruktur zusammenhängen und nur sehr wenig mit der eigentlichen Projektfunktionalität.

Ich suche also Rat, da ich mich allein fühle und nicht sicher bin, ob ich gegen eine Wand stoße. Im Moment habe ich das Wachstum der Infrastruktur begrenzt, bevor es für eine Person zu viel wird, und konzentriere mich darauf, Interesse zu wecken und zu bekommen ordentliche Statistiken darüber, was möglich ist und wie viel Zeit dafür benötigt wird.

BEARBEITEN:

Ich werde mehr Kontext basierend auf den gegebenen Antworten bereitstellen.

Ein Prozess selbst kann darin bestehen, eine physikalische Größe 800-mal zu messen und die Ergebnisse zwischen bestimmten Schwellenwerten oder bestimmten Kriterien 800-mal in einer Excel-Tabelle zu melden. Derzeit wird dies manuell von einem gut bezahlten Ingenieur durchgeführt, der auf den Knopf eines Werkzeugs 800 drückt hundert Mal alle fünf Sekunden oder so (so schnell er kann) und filtert in seinem Kopf und schreibt die Daten manuell in eine Tabelle.

Die Kommunikation mit dem Tool kann aus mehreren Gründen nicht mit VBA erfolgen, einschließlich technischer Einschränkungen der Sprache, und dies würde auch nicht für alle Tools skalieren oder wartbar sein, die diese Größenordnung messen, da sie unterschiedliche Protokolle verwenden und zu unterschiedlichen Herstellern gehören.

Beachten Sie, dass dies nur ein Prozess in einem riesigen Rahmen von Prozessen und Projekten ist, die sehr unterschiedlich sind und sich ändern können, und beachten Sie, dass dies auch in Echtzeit erfolgen muss, obwohl dies aufgrund der bestehenden technischen Einschränkungen nicht in Echtzeit geschieht Da dies manuell erfolgt, haben sich Kunden beschwert, aber es wird nicht darauf eingegangen. Aus diesem Grund lobten sie die Ergebnisse meiner Arbeit, weil auch solche Bedenken angesprochen wurden.

Also brauche ich eine richtige Sprache, und ich habe mich für Python entschieden, weil ich es gut kenne und es am einfachsten zu erlernen und damit zu beginnen ist so weiter und nur erwarte ich vom Benutzer etwas Python-Code, um die Filterkriterien für die Ergebnisse festzulegen und wo sich das Tool anhand seiner IP befindet. Ich persönlich finde das nicht kompliziert.

Ich könnte dies zu einer grafischen Benutzeroberfläche abstrahieren, um zu vermeiden, dass Benutzer Python verwenden, aber beachten Sie, dass dies bedeuten würde, dass ich in jedem Projekt alle Teile der Funktionalität selbst implementieren würde, wenn ich dies für jeden Prozess tue, während meine Kollegen nur einen Knopf drücken. Und nicht alle Prozesse passen sich gut an eine GUI an, sie erfordern eine gewisse Logik, um über Python implementiert zu werden, ich wäre nicht in der Lage, dieses Arbeitsvolumen selbst zu bewältigen, noch ist es die Absicht, die Absicht ist, dass die Leute anfangen, Dinge zu automatisieren, wie ich es tue ich selbst. Die Absicht ist, dass ich die Infrastruktur und komplexe Probleme selbst handhabe, während sie die Anforderungen für andere Projekte mit dieser Infrastruktur mithilfe von Python automatisieren.

Ich habe mit allen Beteiligten gesprochen und die Vision für die Infrastruktur geteilt, bevor ich angefangen habe, und ausdrücklich erwähnt, dass Python verwendet werden würde, es sei denn, und die vielfältigen Gründe dafür, insbesondere die wachsende Komplexität der Projekte und die Tatsache, dass die aktuelle Arbeitsweise dies sehr impliziert der Kundenanforderungen wurden nicht berücksichtigt. Mir ist jetzt klar, dass sie vielleicht OK gesagt haben, ohne zu viel nachzudenken.

Die Annahme dieses Tools wird dadurch gefördert, dass ich Zeit habe, anderen Mitgliedern zu zeigen, wie es funktioniert, und zwei Personen wurden ausgewählt, um mit mir daran zu arbeiten, und ich muss ihnen das ganze Jahr über so viel wie möglich beibringen, aber Ich bin mir nicht sicher, ob sie darüber glücklich sind, und wenn Sie das Programmieren nicht mögen, kann das Leben die Hölle sein.

Mit generisch und flexibel, wie es sein kann, meine ich nicht, dass es kompliziert ist oder es zu viele Funktionalitäten gibt, es bedeutet, dass sie einen einzigen Einstiegspunkt zu einer Funktionalität haben, unabhängig von der Einrichtung, und die Infrastruktur alle zugrunde liegenden Details handhabt Kommunikation, Protokolle und Algorithmen hinter den Kulissen, sie können jedes verfügbare Tool mit der Infrastruktur verwenden und die gleichen Ergebnisse reproduzieren, mit generisch und flexibel meine ich, dass es nicht von bestimmten Tools oder Hardware abhängig ist, Sie rufen einfach eine Funktion in Python auf Holen Sie sich einen Wert aus einer Kombination von Tools und es regelt alle Details und die Kommunikation für Sie und gibt Ihnen einen Wert.

Meiner Meinung nach ist es erforderlich, ein wenig Python zu lernen, um das zu erreichen, was das Unternehmen mit der Abteilung vorhat. Das Unternehmen erhält ausdrücklich Projekte, die ein hohes Maß an kundenspezifischer Automatisierung von Prozessen erfordern, um in sehr kurzer Zeit Ergebnisse zu erzielen.

IN BEZUG AUF NICHT-TECH

Ich soll der technische Leiter für den Übergang sein, aber der Titel ist derselbe wie für alle anderen in der Abteilung, wenn nicht für den Senior-Tag. Mit Nicht-Tech meinte ich nicht, dass ich mit Leuten aus anderen Bereichen zusammenarbeite, ich meinte, dass ich die manuelle Arbeit, die in der Abteilung geleistet wird, nicht als so technisch betrachte, da jeder Knöpfe drücken und Tabellenkalkulationen füllen kann. Im Vergleich zu anderen Unternehmen hinken wir in Bezug auf Prozesse und Zeitrahmen weit hinterher.

Wer hat bei Ihrem Arbeitgeber entschieden, dass jemand für Ihre Rolle benötigt wird, und was tun sie, um die Akzeptanz Ihrer Lösung zu fördern?
Wenn ich dem Ansatz folge, Python nach Excel zu abstrahieren, um die Bedürfnisse meiner Benutzer zu erfüllen, könnte ich mich am Ende in ein Loch graben, in dem ich am Ende alle speziellen Funktionen für alle Projekte implementiere, was schnell unwartbar werden kann und meine Abwesenheit wäre blocker. Ich sehe sie nicht als meine Benutzer, ich leite den Übergang einer Abteilung zu einer Abteilung, die die Automatisierung so durchführt, wie ich es selbst tue, weshalb ich glaube, dass Python und eine Programmiersprache notwendig sind, und ich finde, dass dies der einfachste Ansatz ist.
@Josh "Die Kommunikation mit dem Tool kann aus mehreren Gründen nicht mit VBA erfolgen ... und dies würde auch nicht für alle Tools skaliert oder gewartet werden, die diese Größenordnung messen, da sie unterschiedliche Protokolle verwenden und zu unterschiedlichen Herstellern gehören." Gibt es eine Art gemeinsames Protokoll/API/SCADA, das die Tools gemeinsam haben?
@DaveGremlin Nein, dies sind verschiedene Tools von verschiedenen Herstellern und ziemlich kostspielig, die sogar benutzerdefinierte Kabel erfordern, um mit ihnen zu interagieren, oder NDAs, um auf einige der Funktionen zuzugreifen. Die zugrunde liegende Technologie könnte dieselbe sein, beispielsweise USB oder Ethernet, aber die Befehle zur Interaktion mit den Geräten können sehr umfangreich sein. Das ist eine Sache, die die Infrastruktur erreicht, indem sie all diese Details abstrahiert, zum Beispiel liefert die Messung einer physikalischen Größe den gleichen Wert, unabhängig vom verwendeten Werkzeug, solange sie diese Größe messen kann.
@JoeStrazzere Mein Chef stimmt aufgrund der bisherigen Ergebnisse und Ergebnisse zu und besteht darauf, dass mehr Menschen das Gleiche tun. Ich denke, es ist ein Missverständnis zu sagen, dass meine Kollegen meine Benutzer sind, es ist das, was die Projekte erfordern, die von anderen Unternehmen festgelegten Standards , nach bewährten Praktiken... Das sollten sie bereits tun, aber das ist nicht der Fall, ich sehe keinen Sinn darin, etwas zu bauen, das an die aktuellen Bedürfnisse angepasst ist, wenn bekannt ist, dass der derzeitige Mangel an Wissen und Arbeitsweise dies nicht tut Projektanforderungen erfüllen. Wenn ich diesen Weg gehe, könnte das bedeuten, dass ich am Ende alles selbst mache
Die Frage ist sehr lang und ein bisschen überall. Ich habe mindestens drei verschiedene Probleme gezählt: 1.) Ihre Benutzer passen Ihre Lösung nicht an. 2.) Sie können Ihre Infrastruktur nicht skalieren und warten. 3.) Ihr Management hält die Entwicklung für langsam. Ich denke, es gibt Antworten auf alle, aber es ist immer noch unklar, wofür Sie Glück haben. Ich schlage vor, Ihren Beitrag in verschiedene Fragen aufzuteilen und sich darüber im Klaren zu sein, was das gewünschte Ergebnis sein soll. Einige der Fragen sind möglicherweise besser für Software Engineering oder Project Management SE geeignet.
Sie können nicht sagen, ob die Teammitglieder mit dem neuen Tool zufrieden sind, weil sie keine Programmierer sind? Können Sie dann Ihren Chef bitten, einen echten Programmierer einzustellen, der sowohl dieses Tool verwendet als auch die Aktualisierung dieses Tools auf lange Sicht unterstützt?
Ihre Frage hat mir gefallen und ich habe sie positiv bewertet. Vielleicht könnten Sie davon überzeugt werden, sie zurückzubringen, vielleicht mit nur einer der darin enthaltenen Unterfragen, und für alle anderen Unterfragen erstellen Sie separate Threads.
Möchten Sie es löschen? Sie können Ihre eigene Frage zum Löschen vormerken.
„Ich könnte dies auf eine grafische Benutzeroberfläche abstrahieren, um zu vermeiden, dass Benutzer Python verwenden, aber beachten Sie, dass, wenn ich dies für jeden Prozess tue, dies bedeuten würde, dass ich in jedem Projekt alle Teile der Funktionalität selbst implementieren würde, während meine Kollegen nur einen Knopf drücken. " Dennoch ist es aus Unternehmenssicht ein ziemlich vernünftiger Weg, um geringes Engagement zu beheben. Und Menschen, die manuelle Prozesse verwenden und sich weigern, Code anzufassen, sind in der Regel diejenigen, die das bloße Minimum an GUIs akzeptieren und gerne verwenden. Das Erstellen einer Aufforderung zum Drücken einer Schaltfläche dauert in Python etwa 30 Sekunden. Das Verknüpfen eines Felds dauert ungefähr eine Minute oder so.
Das hört sich ernsthaft nach einem Labview-Problem an.

Antworten (5)

Sie sagen also, dass die Mitarbeiter Ihres Unternehmens nicht technisch versiert sind und einige Tabellenkalkulationen und VBA zusammengebastelt haben, damit sie ihre Arbeit erledigen können, und dass Sie dies durch ein System ersetzt haben, bei dem sie Python lernen müssen?

Das von Ihnen erstellte System ist möglicherweise erweiterbarer, wartbarer, skalierbarer usw. usw., aber wenn die Mitarbeiter Code in Python schreiben müssen, um Projekte einzurichten und die Infrastruktur zu warten, dann sind Sie in einer verlorenen Position, es geht nicht passieren. In der Tat sollte es nicht passieren, vermutlich verfügen die Mitarbeiter über andere Bereiche des betriebswirtschaftlichen Wissens, die für ihre Arbeit von zentraler Bedeutung sind; Kundenbetreuung, Kontoverwaltung, Geschäftsanalyse? Das Codieren ist eine Verschwendung ihrer Zeit und ihres Fachwissens.

Es ist völlig verständlich, dass Sie sich in dieser Position befinden. Sie mussten zuerst die Knochen des Systems schreiben lassen. Sie müssen die Daten schützen, eine Benutzeroberfläche kann in diesem Stadium wie ein Luxus erscheinen. Vor allem, wenn alles an Ihrer Softare hängt und Sie die einzige Person sind, die die Arbeit macht. Sie müssen jedoch dafür sorgen, dass das System funktioniert, ohne sich auf die Programmierfähigkeiten der Benutzer zu verlassen.

Ich kann mir vorstellen, dass Sie deswegen unter großem Druck stehen. Es scheint, dass Sie allein schon besser abgeschnitten haben als ein ganzes Unternehmen externer Berater. Jetzt ist es an der Zeit, diesen Erfolg zu nutzen, um Hilfe zu erhalten. Können Sie das Unternehmen davon überzeugen, jemanden einzustellen, der Ihnen hilft? Wenn nicht, um Ihnen beim Schreiben einer Benutzeroberfläche zu helfen, dann zumindest, um die Last von den Benutzern zu nehmen und Ihre Zeit freizusetzen, um mit einer Benutzeroberfläche zu beginnen. Sie müssen zu diesem Zeitpunkt keinen erfahrenen Entwickler einstellen, ein eifriger Neuling, den Sie ausbilden können, ist möglicherweise die bessere Option.

Eine letzte Sache: Ich war in der Lage, Monster-Excel-Tabellen mit alptraumhaften VBA-Makros durch richtig codierte Systeme zu ersetzen, und ein Ansatz, der funktionierte, bestand darin, Excel als Benutzeroberfläche in der ersten Iteration beizubehalten, um das Problem „Hier nicht erfunden“ zu vermeiden. Mit der Zeit sahen sie, dass wir ihnen den Schmerz nahmen und ihr Leben leichter machten, und sie vertrauten uns, wenn es darum ging, Excel endgültig zu entsorgen.

Vielen Dank für Ihren Beitrag, ich habe eine ziemliche Automatisierung von Excel in der Infrastruktur mit COM, die sich hauptsächlich auf die Berichterstellung konzentriert, aber ich kann Daten aus Excel-Tabellen und dergleichen abrufen, daher könnte dies ein guter Ausgangspunkt für die Bereitstellung von Benutzeroberflächen sein zu allem. Technisch gesehen müssen sie von manueller zu automatisierter Arbeit übergehen, weil die Projekte dies erfordern, und ich befürchte, dass ich durch die Bereitstellung von Benutzeroberflächen all das selbst tun werde, es ist nicht so, dass sie in anderen Bereichen arbeiten, sondern eine Abteilung technisch sollte schon tun, was ich tue.
@Josh Es scheint, als ob Ihre Aufgabe tatsächlich darin besteht, eine nicht-technische Abteilung in eine technische umzuwandeln - "Wie gehen Sie damit um, der einzige Techniker in einem Nicht-Technik-Team zu sein?" Dazu gehören Einstellungen und Entlassungen, ein kompletter Kulturwandel und eine Menge Unterstützung durch die Geschäftsleitung.
Ja, das ist der springende Punkt, auf den ich stoßen wollte. Ich soll der technische Leiter für den Übergang sein, aber der Titel ist derselbe wie für alle anderen in der Abteilung, wenn nicht für den Senior-Tag. Mit Nicht-Tech meinte ich nicht, dass ich mit Leuten aus anderen Bereichen zusammenarbeite, ich meinte, dass ich die manuelle Arbeit, die in der Abteilung geleistet wird, nicht als so technisch betrachte, da jeder Knöpfe drücken und Tabellenkalkulationen füllen kann. Im Vergleich zu anderen Unternehmen hinken wir in Bezug auf Prozesse und Zeitrahmen weit hinterher.
@Josh Es könnte sich lohnen, Ihre Frage zu bearbeiten, um sie etwas hervorzuheben. Wir greifen alle die technischen / Codierungsdetails auf und schreiben Antworten mit dem falschen Fokus.
Sieht aus wie ein weiteres Beispiel für Remys Law of Requirements Gathering

Das klingt nach einer ungewöhnlichen (und frustrierenden) Situation, in der ich persönlich noch nicht war, also wird wahrscheinlich jemand anderes direkt relevantere Erfahrungen haben. Dieser Teil warf jedoch eine rote Fahne für mich auf:

Die Infrastruktur ist so generisch und flexibel wie sie nur sein kann...

Das klingt zumindest nach dem, was ich bei einigen brandneuen Kollegen in Softwarejobs gesehen habe. Es fällt mir auf, dass es für eine anfängliche Arbeit möglicherweise zu kompliziert ist, bevor sich irgendein Wert gezeigt hat. Die Probleme, die Sie in späteren Absätzen beschreiben, treffen ziemlich genau auf meine Sorgen, wenn ich das lese.

Ich würde denken, dass Sie zunächst sehr kleine Teile der Funktionalität abbeißen und sich selbst und Ihrem Arbeitsplatz beweisen müssen , dass Sie tatsächlich Effizienzsteigerungen erzielen können. Führen Sie ein paar Gespräche mit Leuten in Ihrem spezifischen Projekt darüber, (a) was die schwerwiegendsten Schmerzpunkte sind, und (b) überlegen Sie, welche Art von Tool oder Schnittstelle sie zu ihrem Prozess hinzufügen könnten. Wenn Ihre Lösung Benutzerprogrammierung erfordert und diese keine Programmierer sind, dann ist das ein Nichtstarter. (Wenn sie es gewohnt sind, sich Excel anzusehen, ist das Erstellen einer Tabellenkalkulationsvorlage mit einigen Python-Makros unter der Haube vielleicht eine vernünftige Startalternative.)

Holen Sie sich im Voraus etwas Buy-in oder Interesse für ein kleines Tool. Bringen Sie es ihnen in einer Woche. Holen Sie sich Feedback und iterieren Sie. Holen Sie sich eine Geschwindigkeit, mit der Sie den Schmerz für andere Menschen reduzieren. Zeigen Sie, dass sich die projektspezifische Zeit tatsächlich auszahlt. Man muss fast die Denkweise eines winzigen Startups/Skunkworks übernehmen und Wege finden, sich selbst zu verkaufen, um den Kunden glücklich zu machen. Es ist unwahrscheinlich, dass es produktiv ist, einen großen Moonshot zu machen und zu versuchen, alle Probleme auf einmal zu lösen (ohne vorheriges Buy-in auf der Schnittstelle).

In meinem Bereich (Videospiele) habe ich einen einzelnen Entwickler gesehen, der unabhängig einer Nicht-Tech-Abteilung (Kunst) angehört hatte, der sich sehr bewusst und sensibel für die Bedürfnisse von Künstlern war (z. B. Spitzenleistung mit visuell basiertem grafischem Denken), der sehr erfolgreich war und galt als unschätzbares Teammitglied. Sie konnte schnell Hilferufe von den Künstlern entgegennehmen und die bisherigen textbasierten Tools verbessern, um die dortigen Engpässe zu beseitigen.

Vielleicht verbringen Sie ein Wochenende damit, darüber nachzudenken, wie Ihr Ein-Mann-Softwareentwicklungsprozess aussieht. Auch das traditionelle SDLC- Wasserfallmodell beginnt mit ausgiebigen Kundeninterviews in den ersten Schritten. Denke nicht, dass du das überspringen kannst.

Es war ein großer Fehler von Ihnen, Infrastrukturstunden einem bestimmten Projekt zuzuordnen. Man hätte von Anfang an darauf achten sollen, dass es dafür ein eigenes Projekt gibt.

Ich vermute auch, dass es ein Fehler von Ihnen war, ein System zu implementieren, das anscheinend von niemand anderem verwendet werden kann. Wie auch immer, was getan ist, ist getan.

Ich habe das Gefühl, dass dieses spezielle Problem nicht so ungewöhnlich ist.

Sie müssen einen Haken finden, damit die Leute beginnen können, die zugrunde liegende Infrastruktur zu nutzen, und einige anfängliche Produktivitätsgewinne erzielen, die ihnen die Möglichkeit geben, mehr zu lernen. Sie sollten dies wahrscheinlich so tun, dass sie die Tools verwenden können, mit denen sie zu Beginn vertraut sind.

Wenn sie beispielsweise daran gewöhnt sind, Daten über Skripte in einem Excel-Arbeitsblatt zu ändern, sollten Sie in Betracht ziehen, einen odata-Endpunkt bereitzustellen, der von Excel gelesen/geschrieben werden kann. Sie könnten diesen Endpunkt konfigurierbar machen, um einige Datentransformationen gemäß Konfigurationsdateien durchzuführen. Dann geht es darum, die üblichen Transformationen aus den VBA-Skripts langsam in Funktionen Ihres Endpunkts zu migrieren.

Power-User erkennen vielleicht irgendwann, dass sie ihre eigenen odata-Endpunkte schreiben können, oder entscheiden sich vielleicht sogar, Excel komplett über Bord zu werfen, um direkt auf die Infrastruktur zuzugreifen.

Ich vermute, Sie müssen das Projekt finden, das mit dem geringsten Aufwand am wahrscheinlichsten davon profitiert, und darauf abzielen.

Das Problem, das ich dabei sehe, ist, dass sie Logik irgendwie implementieren müssen, um die Projektanforderungen zu erfüllen, und daher finde ich, dass sie dafür eine Programmiersprache brauchen. Bei Excel und VBA gab es viele Dinge, die nicht angesprochen wurden, und viele Beschwerden von Kunden. Ich könnte einige standardisierte Prozesse implementieren, die von Excel aus verwendet werden sollen, aber aufgrund von Projektbesonderheiten kann nicht alles für jedes Projekt von Excel aus verwendet werden. Ich müsste das alles selbst in Python tun und es mit Excel verknüpfen, wenn sie Python nicht verwenden. Das kann ein großes Arbeitsvolumen sein.

Du bist gegen eine Wand gefahren. Leider müssen Sie sich möglicherweise ändern, um mehr zu erreichen - entweder das Unternehmen oder was Sie tun.

Sie haben ein gutes System gebaut, aber niemand kann es benutzen. Dies ist ein typisches Missverhältnis zwischen einer technischen Person und den Benutzern.

Eine Lösung wäre, den Ansatz zu ändern. Die "Kunden" für Ihre Arbeit sind Ihre Mitarbeiter. Meiner Erfahrung nach ist es am besten, herauszufinden, welche Art von Lösung meine Kunden verwenden können, bevor ich anfange, etwas zu bauen. In diesem Fall klingt es so, als könnten die Kunden Lösungen verwenden, die auf Excel und VBA basieren, aber nichts anderes. Ja, VBA ist nicht so sauber wie Python, aber es kann trotzdem die Arbeit erledigen.

Gibt es eine Möglichkeit, das, was Sie bereits geschrieben haben, in VBA neu zu schreiben? Ich finde, dass es einen großen Unterschied in der Akzeptanz dessen macht, was ich tue, wenn ich den Leuten ein kurzes VBA-Makro gebe, das ihnen hilft. Wiederholen.

Eine vollständige Neufassung ist möglicherweise nicht erforderlich, es gibt Möglichkeiten, Daten von externen Diensten in Excel zu importieren.

Sie befinden sich in einer schwierigen Situation, in der Sie im Grunde mit Fallschirm in ein Unternehmen gesteckt werden, um ihre alten manuellen Prozesse zu automatisieren, mit wenig oder keiner Unterstützung durch die Geschäftsleitung, wenig oder keiner Unterstützung durch Ihre Mitarbeiter und dem Wissen, dass ein früherer Versuch, diese Aufgabe zu erledigen endete mit einem Misserfolg.

Ihr Ziel, Ihre Mitarbeiter dazu zu bringen, Python zu lernen, ist gut, aber nicht kurzfristig; Verständlicherweise werden sie fragen, „was habe ich davon“, und eine Antwort von „vielleicht etwas reduzierter Arbeitsbelastung in 6 Monaten“ wird nicht befriedigend erscheinen.

Unterschätzen Sie auch nicht den Angstfaktor vor Änderungen des Status quo; Ihre Kollegen könnten besorgt sein, dass ihre nicht vorhandenen Programmierkenntnisse der Aufgabe nicht gewachsen sind, und das Management wird sie entlassen, weil sie nicht programmieren können. Diese Angst mag völlig unbegründet sein, aber sie kann ihr Urteilsvermögen unterschwellig beeinflussen, wenn es darum geht, sich zu engagieren.

Sie müssen also ein Vorzeigeprojekt erstellen, das zeigt, wie wunderbar und nicht bedrohlich Ihr Ansatz ist. Wählen Sie eine besonders mühsame manuelle Aufgabe aus, die im Allgemeinen von allen nicht gemocht wird, und automatisieren Sie sie. Kurzfristig müssen Sie die gesamte Codierung vornehmen, aber wenn die Benutzer nach Verbesserungen fragen, können Sie ihnen sanft vorschlagen, den Code unter Ihren wachsamen Augen zu ändern. Wenn Sie es schaffen, das Arbeitspensum einer Person zu verbessern, spricht sich das herum, und nach und nach werden andere Interesse zeigen - aber das wird leider eine ganze Weile dauern, und es wäre nicht verwunderlich, wenn Sie die Begeisterung für einen Job verlieren würden, der sich wie Waten anfühlt durch Sirup, und suchte ein Unternehmen auf, das für Ihre Talente empfänglicher war.