Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Automatisierungssteuerung System

Softwareentwicklung automatisieren und Innovation beschleunigen

Herkömmliche Softwareentwicklung ist langsam. Es dient nur zum Umdenken.

Vor fast drei Jahren hat Satya Nadella von Microsoft den berühmten Satz geprägt, dass „jedes Unternehmen ein Softwareunternehmen sein wird“. Heute ist der globale Softwaremarkt mit einem Volumen von 500 Milliarden US-Dollar auf dem besten Weg, sich bis 2030 auf 1 Billion US-Dollar zu verdoppeln.

J.P. Morgan hat nachweislich 40.000 Software-Ingenieure (mehr als Alphabet) in ihrer jüngsten Anmeldung. Jedes große Unternehmen strebt danach, Ingenieure einzustellen, um seine Konkurrenz zu übertreffen. Das große Problem ist, dass traditionelle Softwareentwicklung langsam, fragmentiert und verschwenderisch ist.

Beispielsweise verbringt der durchschnittliche Softwareentwickler jede Woche 4 Stunden mit dem Warten auf den Abschluss von Tests, 3,5 Stunden mit dem Warten auf Builds und 3 Stunden mit dem Umgebungsmanagement – ​​mehr als ein Viertel seiner Arbeitswoche, ohne wirklich etwas Wertvolles zu schaffen. Wenn man bedenkt, dass Ingenieure oft die bestbezahlten Personen in Organisationen sind, ist das eindeutig ein großes Problem. Die Dinge ändern sich jedoch.

Eine der führenden Entwicklungsplattformen, CircleCI, ging die Wette ein, dass KI und Automatisierung der Schlüssel zur Beschleunigung der Softwareinnovation sein und Ingenieuren Zeit für wichtige Arbeit geben würden. Im letzten Jahr führte das Unternehmen eine Reihe von Verbesserungen in den Bereichen Automatisierung und maschinelles Lernen ein, die die Wartezeit von Ingenieuren um 50 % reduzierten. Dies ist einer der vielen Gründe, warum sich mehr als 300.000 Entwickler, darunter Facebook, Spotify, GoPro, InstaCart und viele andere, an CircleCI gewandt haben, um schneller voranzukommen.

An der Spitze des Unternehmens steht Jim Rose – ein sechsmaliger Gründer mit früheren Investitionen von Google Ventures, Foundation Capital und Marc Andreessen. Seit sie vor etwas mehr als vier Jahren zu CircleCI kam, hat Rose den Umsatz um mehr als 450 % gesteigert und das Unternehmen zu einer wirklich aufregenden Einheit ausgebaut.

Information Age war daran interessiert, mehr über die Automatisierung der Softwareentwicklung und die Beschleunigung von Innovationen zu erfahren, und sprach mit Rose über dieses Thema.

Wie ist der aktuelle Stand des Softwaremarktes?

Im Moment gibt es noch viele Unternehmen und Einzelpersonen, die verschiedene Prozesse manuell durchführen. Wenn Sie an den Prozess der digitalen Transformation denken, geht es wirklich darum, ein Softwareentwicklungsteam zu fördern.

Einer versucht, Software aus Rechenzentren vor Ort herauszuholen und sie in Cloud-native Umgebungen zu bringen, wo Sie sofort Zugriff auf die Datenverarbeitung erhalten.

Zweitens wurde Software traditionell oder in vielen Fällen als Richtlinie oder Ergänzung zum Primärgeschäft angesehen. Jetzt haben Sie alle Arten von Unternehmen, von Banken über Autohersteller bis hin zu Einzelhändlern, die alle erkennen, dass Software das Herzstück ihrer Arbeit ist. Sie müssen also herausfinden, was sie besitzen, und sie müssen ihre Vermögenswerte konsolidieren und sie als Standard integrieren.

Sobald Unternehmen diesen sofortigen Zugriff auf Computer haben und Strukturen vorhanden sind, in denen Entwickler arbeiten können, ist das, was heute dazwischen liegt, normalerweise eine Art Mischmasch aus verschiedenen Plattformen und Prozessen.

In den meisten Fällen haben Sie sehr lange Wasserfall-Software-Release-Prozesse mit vielen manuellen Schritten und dann mit vielen manuellen Skripten. In einigen Fällen haben fortschrittlichere Shops möglicherweise die erste Generation von Automatisierungslösungen im Einsatz, aber wenn die Teams schneller werden, beginnen diese zu brechen.

Und jetzt kommen wir ins Spiel und helfen Unternehmen bei der Navigation. Während ihre Softwareteams schneller werden, entwickeln sie mehr Software und versuchen, dies schneller zu tun; um sowohl auf Marktchancen als auch auf potenzielle negative Veränderungen reagieren zu können. Unternehmen müssen nur komplett überdenken, wie all diese Teile zusammengesetzt werden.

Ist diese Geschwindigkeit die größte Hürde in der Softwareentwicklung?

Unternehmen und Entwicklungsteams versuchen, schneller zu werden, während sich der Markt beschleunigt. Sie versuchen herauszufinden, wie sie schnell arbeiten können, damit sie Gelegenheiten nutzen können.

Der einzige Weg, um dorthin zu gelangen, besteht darin, wirklich alle Schritte zu automatisieren, die nicht unbedingt menschliches Eingreifen erfordern, denn anstatt sie im Laufe von Minuten, Stunden und Tagen zu erledigen, können Sie sie in Sekunden erledigen.

Da Teams schneller werden und Software Ihr primäres Schaufenster für Ihre Kunden ist, müssen Sie sicherstellen, dass die Qualitätsniveaus hoch sind. Sie müssen zum Beispiel sicherstellen, dass es nicht abstürzt oder dass Sie keine Sicherheitslücken haben.

Wenn Sie also an Agilität denken, geht es darum, agiler zu werden, sowohl aus Qualitätssicht als auch aus Geschwindigkeitssicht.

In den USA dreht sich alles um Geschwindigkeit, aber wenn Sie schneller werden, kleinere Teile integrieren und Software konsistenter veröffentlichen können, wird Ihre Software von Natur aus besser. All diese Befürchtungen bezüglich der Notwendigkeit einer Bereitstellung verschwinden, wenn Sie dies fünf-, acht- oder 15-mal pro Woche tun, und in einigen Fällen haben wir Kunden, die dies 100-mal am Tag tun.

Die Bereitstellung ist kein Problem mehr.

Auf der Qualitätsseite war eines der großen Probleme für die Softwareentwicklung in der Vergangenheit, dass es Ihnen wirklich schwer fiel, sicherzustellen, dass alle Änderungen, die Sie in Ihre Anwendung einführen, tatsächlich zusammenarbeiten, wenn Sie nur einmal im Quartal veröffentlichen. Oft sehen Sie Unternehmen, die eine Big-Bang-Veröffentlichung durchführen und dann, nachdem sie eine Big-Bang-Veröffentlichung durchgeführt haben, verbringen sie die nächsten 60, 90 Tage damit, all die Dinge zu reparieren, die zurückgegangen und kaputt gegangen sind. Bei dieser Methode verlangsamt sich Ihr Softwarezyklus, aber auch die Qualität der Anwendung selbst leidet.

Aus einer agilen Perspektive versuchen die Leute genau das anzugehen.

Wie kann sich eine Organisation ändern, um Softwareentwicklungsteams unterzubringen, zu unterstützen und zu fördern?

Es gibt verschiedene Möglichkeiten.

Einer ist, dass Entwickler schwer einzustellen sind und Sie daher sicherstellen möchten, dass die gesamte Zeit, die Sie aus der Entwicklungsperspektive aufwenden, dem Erstellen Ihrer speziellen Software gewidmet ist, was auch immer das sein mag; Wenn Sie eine Bank sind, erstellen Sie eine großartige Bankanwendung, wenn Sie eine E-Commerce-App sind, erstellen Sie eine wirklich großartige E-Commerce-App. Ich denke, einer der großen Bereiche, in die die Leute zu wenig investiert haben, ist, dass Softwareentwickler historisch gesehen Dinge gebaut haben. Das tun sie, sie bauen Software. Daher wurde der Entwicklungszyklus aus Sicht der Drittanbieter-App zu wenig investiert.

Es gibt einfach Dinge wie zum Beispiel Testautomatisierung und Continuous-Delivery-Infrastruktur, die Teams nicht selbst aufbauen müssen. Sie sind viel besser dran, es von jemand anderem zu erwerben, der sich auf diesen Bereich spezialisiert hat, damit Sie sich auf das konzentrieren können, worin Sie gut sind. Es wäre, als würde man jemandem sagen, dass er eine Kaffeemaschine bauen muss, und ihm ein paar Kupferrohre, etwas Lötzinn und einige Ventile geben. Das würdest du niemals tun. Aber historisch wurde Entwicklung so behandelt. Daher ist es wirklich entscheidend, auf jeden Fall die richtigen Tools und Plattformen einzusetzen, und zwar auf und ab im Stack, vom Rechenzentrum bis hin zu den Planungstools.

Ich denke, der zweite Teil ist, dass in einem traditionellen Wasserfallmodell die Softwareentwicklung normalerweise die Rolle des Fängers spielt, sodass die Anwendung viel früher im Prozess definiert wird und dann, wenn das Entwicklungsteam sie erhält, eine Reihe von Entscheidungen getroffen wurden das kann tatsächlich funktionieren oder nicht und kann machbar oder einfach zu bewerkstelligen sein oder nicht.

Es gibt diesen Begriff der Verschiebung nach links, der versucht, die Entwicklung immer weiter nach oben im Planungszyklus zu schieben, damit die Bedenken oder Bedürfnisse des Entwicklungsteams sowohl bei der Erstellung der Anwendung als auch bei ihrer Bereitstellung berücksichtigt werden. Und wenn Sie es aus operativer Sicht betrachten, bedeutet dies, dass Sie wirklich auch viel früher im Lebenszyklus darüber nachdenken müssen, wie eine Anwendung betrieben wird. Wenn Sie beispielsweise versuchen, Cloud-native Apps zu erstellen, müssen Sie diese auf eine ganz bestimmte Art und Weise entwerfen, was bedeutet, dass Sie diese Entscheidung treffen und viel früher Teil dieses Prozesses sein müssen.

Wenn Teams eher softwareorientierte, agile Prozesse einführen, endet dies mit einer Triangulierung von Bedenken. Sie haben die Leute und die Geschäftsinhaber und die Produktmanager, die wissen, warum Sie etwas bauen. Sie haben die technischen Architekten und die Softwareentwickler, die wirklich darüber reden, wie Sie es bauen. Und dann haben Sie die Bediener, die für die tatsächliche Ausführung verantwortlich sind und herausfinden, was Sie am Ende dieses gesamten Prozesses tatsächlich ausführen. Also müssen alle mitmachen. Und das kann für einige Unternehmen ein schwieriger Übergang sein.

Wie können KI und Automatisierung Softwareinnovationen vorantreiben und verbessern?

Mit Automatisierung können Sie sowohl vorgegebene als auch selbstlernende Aufgaben automatisieren. Ein Beispiel dafür könnte sein, dass Sie jedes Mal, wenn Sie versuchen, eine Software herauszubringen, einen Test eines Drittanbieters gegen ein anderes Zahlungssystem eines Drittanbieters durchführen müssen. In der Vergangenheit mussten Sie für diese Aufgaben ein QA-Team einstellen, das im Wesentlichen versucht, Transaktionen zu verarbeiten und alles manuell zu erledigen, was unglaublich langsam ist. Es ist auch unglaublich voller Fehler und Komplikationen.

Dies sind perfekte Beispiele für Aufgaben, die in Ihrer Testsuite vollständig automatisiert werden sollten – all diese Dinge, von denen Sie wissen, dass Sie sie immer wieder tun werden, sollten Sie diese Aufgaben automatisieren, um sie deterministisch und vorhersehbar zu machen. Und dann letztendlich schnell.

Es gibt Gelegenheiten, sich wiederholende Aufgaben zu übernehmen, bei denen jede Minute, die ein Entwickler damit verbringt, diese Dinge immer und immer wieder zu tun, Zeitverschwendung und, ehrlich gesagt, Geldverschwendung ist.

Wenn Sie sich also KI und Software ansehen, die entwickelt wird, anstatt darüber nachzudenken, prädiktive deterministische Software voranzutreiben, tun Sie dies, indem Sie ein Modell vorantreiben. Und das Modell ist eine Sandbox mit vorgefassten Vorstellungen darüber, wie etwas funktionieren könnte, und während die Leute es durchgehen und während Tests durchgeführt werden, ändert und entwickelt sich das Modell, während es mehr darüber lernt, wie die Dinge funktionieren oder nicht Arbeiten. Das setzt das Testsystem enorm unter Druck.

Wenn Sie an einige der KI-Fehltritte denken, wenn Sie Situationen haben, in denen unbewusste Vorurteile in die KI eingebaut sind, in denen die KI irgendwie Amok läuft und anfängt, Menschen von bestimmten Anwendungen auszuschließen oder Dinge herunterzufahren, dann sind das alles Situationen, in denen von a Testperspektive, die herausfordernd ist.

Es wird immer komplizierter, aber es wird auch viel, viel schneller und reaktionsschneller. Sie werden also sehen, dass die Einbeziehung von KI und maschinellem Lernen in die Softwareentwicklung weiter zunehmen wird. Aber jetzt müssen Sie über alle notwendigen Frameworks verfügen, um auf all diese Änderungen testen zu können.


Automatisierungssteuerung System

  1. Was ist ein Autoservice-Autor und was macht er?
  2. Design und Entwicklung eines kostengünstigen Inspektionsroboters
  3. SABIC und Nottingham Spirk arbeiten zusammen, um die Innovationsentwicklung zu beschleunigen
  4. Smarte Gebäudeautomation und die Zukunft der Immobilienentwicklung in Städten
  5. Seegrid gründet Forschungs- und Entwicklungsgruppe „Blue Labs“.
  6. AMRC treibt Innovationen in Technologie und Kreislaufwirtschaft voran
  7. ABB Robotics:Technologieinnovation und Robotik-F&E
  8. Bright Machines bringt Microfactory-Hardware und -Software auf den Markt
  9. Bestandsverwaltungssoftware:Funktionen und Vorteile
  10. Was ist ein Instandhaltungsleiter und was macht er?