Bild:
Hallo zusammen! Wir sind Automatisierungsingenieure des Unternehmens und wir unterstĂŒtzen die Entwicklung der Produkte des Unternehmens: Wir unterstĂŒtzen die gesamte Assembly-Pipeline von der Ăbergabe einer Codezeile durch Entwickler bis zur Veröffentlichung fertiger Produkte und Lizenzen auf Update-Servern. Informell werden wir DevOps-Ingenieure genannt. In diesem Artikel wollen wir ĂŒber die technologischen Stufen des Softwareproduktionsprozesses sprechen, wie wir sie sehen und wie wir sie einordnen.
Aus dem Material erfahren Sie mehr ĂŒber die KomplexitĂ€t der Koordinierung der Entwicklung mehrerer Produkte, darĂŒber, was eine technologische Landkarte ist und wie sie zur Rationalisierung und Replikation von Lösungen beitrĂ€gt, was die Hauptphasen und -schritte des Entwicklungsprozesses sind und welche Verantwortungsbereiche es gibt zwischen DevOps und Teams in unserem Unternehmen.
Ăber Chaos und DevOps
Kurz gesagt umfasst das Konzept von DevOps Entwicklungstools und -dienste sowie Methoden und Best Practices fĂŒr deren Verwendung. Lassen Sie uns das Globale herausgreifen Ziel aus der Umsetzung von DevOps-Ideen in unserem Unternehmen: Dies ist eine konsequente Reduzierung der Produktions- und Wartungskosten von Produkten in quantitativer Hinsicht (Personenstunden oder Maschinenstunden, CPU, RAM, Festplatte usw.). Der einfachste und naheliegendste Weg, die Gesamtentwicklungskosten auf der Ebene des gesamten Unternehmens zu senken, ist Minimierung der Kosten fĂŒr die DurchfĂŒhrung typischer Serienaufgaben in allen Phasen der Produktion. Aber was sind diese Phasen, wie kann man sie vom allgemeinen Prozess trennen, aus welchen Schritten bestehen sie?
Wenn ein Unternehmen ein Produkt entwickelt, ist alles mehr oder weniger klar: Es gibt normalerweise eine gemeinsame Roadmap und ein gemeinsames Entwicklungsschema. Aber was tun, wenn die Produktpalette erweitert wird und es mehr Produkte gibt? Auf den ersten Blick haben sie Ă€hnliche Prozesse und FlieĂbĂ€nder, und das Spiel âFinde X-Unterschiedeâ in Protokollen und Skripten beginnt. Was aber, wenn sich bereits mehr als 5 Projekte in der aktiven Entwicklung befinden und Support fĂŒr mehrere ĂŒber mehrere Jahre entwickelte Versionen erforderlich ist? Wollen wir die gröĂtmögliche Anzahl an Lösungen in Produktpipelines wiederverwenden oder sind wir bereit, Geld fĂŒr eine einzigartige Entwicklung jeder Lösung auszugeben?
Wie findet man ein Gleichgewicht zwischen Einzigartigkeit und seriellen Lösungen?
Diese Fragen tauchen seit 2015 immer hĂ€ufiger vor uns auf. Die Anzahl der Produkte wuchs und wir versuchten, unsere Automatisierungsabteilung (DevOps), die die Montagelinien dieser Produkte unterstĂŒtzte, auf ein Minimum zu erweitern. Gleichzeitig wollten wir so viele Lösungen wie möglich zwischen den Produkten reproduzieren. Warum sollte man schlieĂlich bei zehn Produkten das Gleiche auf unterschiedliche Weise tun?
Entwicklungsleiter: âLeute, können wir irgendwie bewerten, was DevOps fĂŒr Produkte tut?â
Wir: âWir wissen es nicht, wir haben eine solche Frage nicht gestellt, aber welche Indikatoren sollten berĂŒcksichtigt werden?â
Entwicklungsleiter: "Wer weiĂ! DenkenâŠ"
Wie in diesem berĂŒhmten Film: âIch bin in einem Hotel! ..â â âĂh ⊠Kannst du mir den Weg zeigen?â Beim Nachdenken kamen wir zu dem Schluss, dass wir zunĂ€chst ĂŒber den Endzustand der Produkte entscheiden mĂŒssen; Dies war unser erstes Ziel.
Wie analysiert man also ein Dutzend Produkte mit relativ groĂen Teams von 10 bis 200 Personen und ermittelt messbare Kennzahlen bei der Replikation von Lösungen?
1:0 zugunsten von Chaos oder DevOps auf den SchulterblÀttern
Wir begannen mit dem Versuch, IDEF0-Diagramme und verschiedene GeschĂ€ftsprozessdiagramme aus der BPwin-Serie anzuwenden. Die Verwirrung begann nach dem fĂŒnften Quadrat der nĂ€chsten Phase des nĂ€chsten Projekts, und diese Quadrate fĂŒr jedes Projekt können im Schwanz einer langen Python in mehr als 50 Schritten gezeichnet werden. Ich war traurig und wollte den Mond anheulen â das passte ĂŒberhaupt nicht.
Typische Produktionsaufgaben
Die Modellierung von Produktionsprozessen ist eine sehr komplexe und mĂŒhsame Aufgabe: Sie mĂŒssen viele Daten aus verschiedenen Abteilungen und Produktionsketten sammeln, verarbeiten und analysieren. Mehr dazu lesen Sie im Artikel â".
Als wir mit der Modellierung unseres Produktionsprozesses begannen, hatten wir ein konkretes Ziel â jedem Mitarbeiter, der an der Entwicklung der Produkte unseres Unternehmens beteiligt ist, und den Projektmanagern Folgendes zu vermitteln:
- wie Produkte und ihre Komponenten, beginnend mit dem Commit einer Codezeile, den Kunden in Form von Installationsprogrammen und Updates erreichen,
- welche Ressourcen fĂŒr jede Produktionsstufe der Produkte bereitgestellt werden,
- welche Dienstleistungen in jeder Phase beteiligt sind,
- wie die Verantwortungsbereiche fĂŒr jede Stufe abgegrenzt sind,
- welche VertrÀge am Eingang und Ausgang jeder Stufe bestehen.
Ein Klick auf das Bild öffnet es in voller GröĂe.
Unsere Arbeit im Unternehmen gliedert sich in mehrere Funktionsbereiche. Die Leitung der Infrastruktur beschĂ€ftigt sich mit der Optimierung des Betriebs aller âEisenâ-Ressourcen der Abteilung sowie der Automatisierung der Bereitstellung virtueller Maschinen und der darauf befindlichen Umgebung. Die Ăberwachungsrichtung ermöglicht eine Kontrolle der Serviceleistung rund um die Uhr. Wir bieten auch Ăberwachung als Service fĂŒr Entwickler an. Die Workflow-Richtung stellt Teams Tools zur VerfĂŒgung, um Entwicklungs- und Testprozesse zu verwalten, den Status des Codes zu analysieren und Analysen zu Projekten zu erhalten. Und schlieĂlich sorgt die Webdev-Leitung fĂŒr die Veröffentlichung von Releases auf den GUS- und FLUS-Update-Servern sowie die Lizenzierung von Produkten ĂŒber den LicenseLab-Dienst. Um die Produktionspipeline zu unterstĂŒtzen, richten wir viele verschiedene Supportdienste fĂŒr Entwickler ein und pflegen diese (Sie können Geschichten ĂŒber einige davon auf alten Meetups anhören: Đž). Wir entwickeln auch interne Automatisierungstools, darunter .
In den letzten fĂŒnf Jahren haben sich in unserer Arbeit viele gleichartige und routinemĂ€Ăige VorgĂ€nge angesammelt, und unsere Entwickler aus anderen Abteilungen kommen hauptsĂ€chlich aus den sogenannten typische Aufgaben, dessen Lösung ganz oder teilweise automatisiert ist, den Darstellern keine Schwierigkeiten bereitet und keinen nennenswerten Arbeitsaufwand erfordert. Gemeinsam mit den leitenden Bereichen haben wir solche Aufgaben analysiert und konnten einzelne Arbeitskategorien identifizieren, bzw Produktionsschritte, wurden die Etappen in unteilbare Schritte unterteilt, und mehrere Etappen addieren sich Produktionsprozesskette.

Das einfachste Beispiel einer Technologiekette sind die Phasen der Montage, Bereitstellung und PrĂŒfung jedes unserer Produkte innerhalb des Unternehmens. Die Build-Phase wiederum besteht beispielsweise aus vielen einzelnen typischen Schritten: Herunterladen von Quellen von GitLab, Vorbereiten von AbhĂ€ngigkeiten und Bibliotheken von Drittanbietern, Unit-Tests und statische Code-Analyse, AusfĂŒhren eines Build-Skripts auf GitLab CI, Veröffentlichen von Artefakten im Repository Artifactory und Generierung von Versionshinweisen durch unser internes ChangelogBuilder-Tool.
Ăber typische DevOps-Aufgaben können Sie in unseren anderen Artikeln auf HabrĂ© lesen: â"Und"".
Es bilden sich viele typische Produktionsketten Herstellungsprozess. Der Standardansatz zur Beschreibung von Prozessen besteht in der Verwendung funktionaler IDEF0-Modelle.
Ein Beispiel fĂŒr die Modellierung eines Fertigungs-CI-Prozesses
Besonderes Augenmerk legten wir auf die Entwicklung von Standardprojekten fĂŒr ein Continuous-Integration-System. Dadurch konnte eine Vereinheitlichung der Projekte erreicht werden, wobei die sogenannten hervorgehoben wurden Release-Build-Schema mit Werbeaktionen.

So funktioniert das. Alle Projekte sehen typisch aus: Sie umfassen die Konfiguration von Assemblys, die in das Snapshot-Repository bei Artifactory fallen. AnschlieĂend werden sie auf PrĂŒfstĂ€nden bereitgestellt und getestet und dann in das Release-Repository hochgestuft. Der Artifactory-Dienst ist ein zentraler Verteilungspunkt fĂŒr alle Build-Artefakte zwischen Teams und anderen Diensten.
Wenn wir unser Release-Schema stark vereinfachen und verallgemeinern, dann umfasst es die folgenden Schritte:
- plattformĂŒbergreifende Produktmontage,
- Einsatz auf PrĂŒfstĂ€nden,
- DurchfĂŒhrung von Funktions- und anderen Tests,
- Förderung getesteter Builds zur Veröffentlichung von Repositorys bei Artifactory,
- Veröffentlichung von Release-Builds auf Update-Servern,
- Lieferung von Baugruppen und Updates zur Produktion,
- Starten der Installation und Aktualisierung des Produkts.
Betrachten Sie beispielsweise das technologische Modell dieses typischen Release-Schemas (im Folgenden einfach Modell) in Form eines funktionalen IDEF0-Modells. Es spiegelt die Hauptphasen unseres CI-Prozesses wider. IDEF0-Modelle verwenden das sogenannte ICOM-Notation (Input-Control-Output-Mechanismus) beschreibt, welche Ressourcen in jeder Phase verwendet werden, basierend auf den Regeln und Anforderungen, an denen gearbeitet wird, was die Ausgabe ist und welche Mechanismen, Dienste oder Personen eine bestimmte Phase implementieren.
Ein Klick auf das Bild öffnet es in voller GröĂe.
In der Regel ist es einfacher, die Beschreibung von Prozessen in Funktionsmodellen zu zerlegen und zu detaillieren. Aber je mehr Elemente es gibt, desto schwieriger wird es, etwas darin zu verstehen. Aber in der realen Entwicklung gibt es auch Hilfsstufen: Ăberwachung, Zertifizierung von Produkten, Automatisierung von ArbeitsablĂ€ufen und andere. Aufgrund des Skalierungsproblems haben wir diese Beschreibung aufgegeben.
Geburt der Hoffnung
In einem Buch stieĂen wir auf alte sowjetische Karten, die technologische Prozesse beschreiben (die ĂŒbrigens noch heute in vielen Staatsbetrieben und UniversitĂ€ten verwendet werden). Warten Sie, warten Sie, denn wir haben auch einen Workflow! Es gibt Phasen, Ergebnisse, Metriken, Anforderungen, Indikatoren usw. Und so weiter. Warum versuchen Sie nicht, Flussdiagramme auch auf unsere Produktpipelines anzuwenden? Es gab ein GefĂŒhl: âDas ist es! Wir haben den richtigen Faden gefunden, es ist Zeit, ihn gut zu ziehen!
In einer einfachen Tabelle haben wir beschlossen, Produkte nach Spalten und technologische Stufen und Produktpipeline-Schritte nach Zeilen aufzuzeichnen. Meilensteine ââsind etwas GroĂes, beispielsweise ein Produktentwicklungsschritt. Und die Schritte sind etwas kleiner und detaillierter, etwa der Schritt des Herunterladens des Quellcodes auf den Build-Server oder der Schritt des Kompilierens des Codes.
An den Schnittpunkten der Zeilen und Spalten der Karte tragen wir die Status fĂŒr eine bestimmte Phase und ein bestimmtes Produkt ein. FĂŒr Status wurde eine Reihe von ZustĂ€nden definiert:
- Keine Information - oder unangemessen. Es ist notwendig, die Nachfrage nach einer Stufe des Produkts zu analysieren. Entweder wurde die Analyse bereits durchgefĂŒhrt, der Schritt wird jedoch derzeit nicht benötigt oder ist wirtschaftlich nicht gerechtfertigt.
- Verschoben - oder im Moment nicht relevant. Eine Etappe in der Pipeline ist erforderlich, aber es fehlen in diesem Jahr die KrĂ€fte fĂŒr die Umsetzung.
- Geplant. Die Umsetzung der Etappe ist fĂŒr dieses Jahr geplant.
- Umgesetzt. Die Stufe in der Pipeline wird im erforderlichen Volumen umgesetzt.
Das AusfĂŒllen der Tabelle begann Projekt fĂŒr Projekt. ZunĂ€chst wurden die Phasen und Schritte eines Projekts klassifiziert und deren Status erfasst. Dann nahmen sie das nĂ€chste Projekt, korrigierten darin die Status und fĂŒgten die Phasen und Schritte hinzu, die in frĂŒheren Projekten fehlten. Als Ergebnis erhielten wir die Phasen und Schritte unserer gesamten Produktionspipeline und deren Status in einem bestimmten Projekt. Es stellte sich heraus, dass es etwas Ăhnliches wie die Kompetenzmatrix der Produktpipeline war. Wir nannten eine solche Matrix eine technologische Karte.
Mit Hilfe der technologischen Landkarte stimmen wir messtechnisch sinnvoll mit den Teams die ArbeitsplĂ€ne fĂŒr das Jahr und die Ziele ab, die wir gemeinsam erreichen wollen: welche Etappen wir in diesem Jahr zum Projekt hinzufĂŒgen und welche wir auf spĂ€ter verschieben. AuĂerdem kann es im Laufe der Arbeit zu Verbesserungen in den Phasen kommen, die wir nur fĂŒr ein Produkt abgeschlossen haben. Dann erweitern wir unsere Karte und fĂŒhren diese Verbesserung als Stufe oder neuen Schritt ein, dann analysieren wir fĂŒr jedes Produkt und finden heraus, ob die Verbesserung machbar ist.
Sie könnten uns widersprechen: âDas ist natĂŒrlich alles gut, nur wird die Anzahl der Schritte und Etappen mit der Zeit unerschwinglich groĂ.â Wie sein?
Wir haben standardisierte und ziemlich vollstĂ€ndige Beschreibungen der Anforderungen fĂŒr jede Phase und jeden Schritt eingefĂŒhrt, damit sie von allen im Unternehmen gleichermaĂen verstanden werden. Im Laufe der Zeit, wenn Verbesserungen eingefĂŒhrt werden, kann es sein, dass ein Schritt in eine andere Phase oder einen anderen Schritt ĂŒbergeht und dann âzusammenbrichtâ. Gleichzeitig passen alle Anforderungen und technologischen Nuancen zu den Anforderungen der Generalisierungsstufe oder -stufe.
Wie lĂ€sst sich die Wirkung replizierender Lösungen bewerten? Wir verwenden einen Ă€uĂerst einfachen Ansatz: Wir rechnen die anfĂ€nglichen Kapitalkosten fĂŒr die Implementierung einer neuen Stufe mit den jĂ€hrlichen allgemeinen Produktkosten zusammen und dividieren sie dann bei der Replikation durch alle.
Teile der Entwicklung sind bereits als Meilensteine ââund Schritte auf der Karte dargestellt. Wir können die Reduzierung der Produktkosten durch die EinfĂŒhrung von Automatisierung fĂŒr typische Phasen beeinflussen. AnschlieĂend betrachten wir die VerĂ€nderungen der qualitativen Merkmale, quantitativen Kennzahlen und den von den Teams erzielten Gewinn (in eingesparten Arbeitsstunden oder Maschinenstunden).
Technologische Karte des Produktionsprozesses
Wenn wir alle unsere Stufen und Schritte nehmen, sie mit Tags kodieren und zu einer Kette erweitern, wird es sich als sehr lang und unverstĂ€ndlich herausstellen (genau derselbe âPython-Schwanzâ, ĂŒber den wir am Anfang des Artikels gesprochen haben). :
[Production] â [InfMonitoring] â [SourceCodeControl] â [Prepare] â [PrepareLinuxDocker] â [PrepareWinDocker] â [Build] â [PullSourceCode] â [PrepareDep] â [UnitTest] â [CodeCoverage] â [StaticAnalyze] â [BuildScenario] â [PushToSnapshot] â [ChangelogBuilder] â [Deploy] â [PrepareTestStand] â [PullTestCode] â [PrepareTestEnv] â [PullArtifact] â [DeployArtifact] â [Test] â [BVTTest] â [SmokeTest] â [FuncTest] â [LoadTest] â [IntegrityTest] â [DeliveryTest] â [MonitoringStands] â [TestManagement] â [Promote] â [QualityTag] â [MoveToRelease] â [License] â [Publish] â [PublishGUSFLUS] â [ControlVisibility] â [Install] â [LicenseActivation] â [RequestUpdates] â [PullUpdates] â [InitUpdates] â [PrepareEnv] â [InstallUpdates] â [Telemetry] â [Workflow] â [Communication] â [Certification] â [CISelfSufficiency]Dies sind die Phasen des Erstellens von Produkten [Build], deren Bereitstellung auf Testservern [Deploy], des Testens [Testen], des Hochstufens von Builds zur Veröffentlichung von Repositorys basierend auf den Testergebnissen [Promote], des Generierens und Veröffentlichens von Lizenzen [License], des Veröffentlichens [ Veröffentlichung] auf dem GUS-Update-Server und Bereitstellung an FLUS-Update-Server, Installation und Aktualisierung von Produktkomponenten in der Infrastruktur des Kunden mithilfe von Product Configuration Management [Install] sowie Erfassung von Telemetriedaten [Telemetry] von installierten Produkten.
DarĂŒber hinaus können einzelne Phasen unterschieden werden: Ăberwachung des Infrastrukturzustands [InfMonitoring], Versionierung des Quellcodes [SourceCodeControl], Vorbereitung der Build-Umgebung [Prepare], Projektmanagement [Workflow], Bereitstellung von Kommunikationstools fĂŒr Teams [Communication], Produktzertifizierung [ Zertifizierung] und Sicherstellung der Autarkie von CI-Prozessen [CISelfSufficiency] (z. B. UnabhĂ€ngigkeit von Baugruppen vom Internet). Dutzende Schritte in unseren Prozessen werden nicht einmal berĂŒcksichtigt, weil sie sehr spezifisch sind.
Der gesamte Produktionsprozess ist viel einfacher zu verstehen und zu betrachten, wenn er in Form dargestellt wird technologische Karte; Hierbei handelt es sich um eine Tabelle, in der die einzelnen Produktionsstufen und zerlegten Schritte des Modells in Zeilen geschrieben sind und in den Spalten eine Beschreibung dessen, was in jeder Phase oder jedem Schritt getan wird. Der Schwerpunkt liegt auf den Ressourcen, die jede Stufe bereitstellt, und der Abgrenzung der Verantwortungsbereiche.
Die Karte ist fĂŒr uns eine Art Klassifikator. Es spiegelt die groĂen technologischen Teile der Herstellung von Produkten wider. Dadurch wurde es fĂŒr unser Automatisierungsteam einfacher, mit Entwicklern zu interagieren und gemeinsam die Implementierung von Automatisierungsphasen zu planen sowie zu verstehen, welche Arbeitskosten und Ressourcen (Personal und Hardware) dafĂŒr erforderlich sind.
In unserem Unternehmen wird die Karte automatisch aus der Jinja-Vorlage als regulÀre HTML-Datei generiert und dann auf den GitLab Pages-Server hochgeladen. Ein Screenshot mit einem Beispiel einer vollstÀndig generierten Karte kann angezeigt werden .
Ein Klick auf das Bild öffnet es in voller GröĂe.
Kurz gesagt ist die technologische Landkarte ein verallgemeinertes Bild des Produktionsprozesses, das klar klassifizierte Blöcke mit typischer FunktionalitÀt widerspiegelt.
Aufbau unserer Roadmap
Die Karte besteht aus mehreren Teilen:
- Titelbereich â hier finden Sie eine allgemeine Beschreibung der Karte, grundlegende Konzepte werden vorgestellt, die wichtigsten Ressourcen und Ergebnisse des Produktionsprozesses werden definiert.
- Dashboard â hier können Sie die Anzeige der Daten fĂŒr einzelne Produkte steuern, es wird eine Zusammenfassung der durchgefĂŒhrten Phasen und Schritte allgemein fĂŒr alle Produkte bereitgestellt.
- Technologische Karte â eine tabellarische Beschreibung des technologischen Prozesses. Auf der Karte:
- alle Stufen, Schritte und ihre Codes sind angegeben;
- Es werden kurze und vollstÀndige Beschreibungen der Etappen gegeben.
- die in jeder Phase verwendeten Input-Ressourcen und Dienste werden angegeben;
- die Ergebnisse jeder Stufe und eines separaten Schritts werden angezeigt;
- der Verantwortungsbereich fĂŒr jede Stufe und jeden Schritt ist angegeben;
- die technischen Ressourcen wie HDD (SSD), RAM, vCPU und die Arbeitsstunden, die zur UnterstĂŒtzung der Arbeit in dieser Phase erforderlich sind, sowohl zum aktuellen Zeitpunkt â eine Tatsache, als auch fĂŒr die Zukunft â ein Plan, wurden festgelegt;
- FĂŒr jedes Produkt wird angegeben, welche technologischen Stufen oder Schritte dafĂŒr implementiert, zur Implementierung geplant, irrelevant oder nicht implementiert sind.
Entscheidungsfindung basierend auf der technologischen Landkarte
Nach PrĂŒfung der Karte können â abhĂ€ngig von der Rolle des Mitarbeiters im Unternehmen (Entwicklungsleiter, Produktmanager, Entwickler oder Tester) â einige MaĂnahmen ergriffen werden:
- Verstehen Sie, welche Phasen in einem realen Produkt oder Projekt fehlen, und beurteilen Sie die Notwendigkeit ihrer Implementierung.
- die ZustÀndigkeitsbereiche zwischen mehreren Abteilungen abgrenzen, wenn diese auf unterschiedlichen Stufen arbeiten;
- VertrĂ€ge an den Ein- und AusgĂ€ngen der BĂŒhnen vereinbaren;
- Integrieren Sie Ihren Arbeitsschritt in den gesamten Entwicklungsprozess.
- Bewerten Sie den Bedarf an Ressourcen, die die einzelnen Phasen bereitstellen, genauer.
Alles oben Genannte zusammengefasst
Das Routing ist vielseitig, erweiterbar und leicht zu warten. Es ist viel einfacher, eine Beschreibung von Prozessen in dieser Form zu entwickeln und zu pflegen als in einem streng akademischen IDEF0-Modell. DarĂŒber hinaus ist eine tabellarische Beschreibung einfacher, vertrauter und besser strukturiert als ein Funktionsmodell.
FĂŒr die technische Umsetzung der Schritte verfĂŒgen wir ĂŒber ein spezielles internes Tool CrossBuilder â ein Layer-Tool zwischen CI-Systemen, Diensten und Infrastruktur. Der Entwickler muss sein Fahrrad nicht kĂŒrzen: In unserem CI-System reicht es aus, eines der Skripte (die sogenannte Aufgabe) des CrossBuilder-Tools auszufĂŒhren, das es unter BerĂŒcksichtigung der Merkmale unserer Infrastruktur korrekt ausfĂŒhrt .
Ergebnisse
Der Artikel ist recht lang geworden, was bei der Beschreibung der Modellierung komplexer Prozesse jedoch unvermeidlich ist. AbschlieĂend möchte ich kurz unsere Hauptgedanken festhalten:
- Das Ziel der Umsetzung von DevOps-Ideen in unserem Unternehmen besteht darin, die Produktions- und Wartungskosten der Unternehmensprodukte quantitativ (Mann- oder Maschinenstunden, vCPU, RAM, Disk) konsequent zu senken.
- Die Möglichkeit, die Gesamtkosten der Entwicklung zu senken, besteht darin, die Kosten fĂŒr die DurchfĂŒhrung typischer Serienaufgaben zu minimieren: Phasen und Schritte des technologischen Prozesses.
- Eine typische Aufgabe ist eine Aufgabe, deren Lösung vollstĂ€ndig oder teilweise automatisiert ist, den AusfĂŒhrenden keine Schwierigkeiten bereitet und keine nennenswerten Arbeitskosten erfordert.
- Der Produktionsprozess besteht aus Phasen, die Phasen sind in unteilbare Schritte unterteilt, die typische Aufgaben unterschiedlichen Umfangs und Umfangs darstellen.
- Von disparaten typischen Aufgaben sind wir zu komplexen Technologieketten und mehrstufigen Modellen des Produktionsprozesses gelangt, die durch ein funktionales IDEF0-Modell oder eine einfachere Technologiekarte beschrieben werden können.
- Die technologische Landkarte ist eine tabellarische Darstellung der Phasen und Schritte des Produktionsprozesses. Das Wichtigste: Die Karte ermöglicht es Ihnen, den gesamten Prozess in seiner Gesamtheit zu sehen, in groĂen Teilen mit der Möglichkeit, diese zu detaillieren.
- Basierend auf der technologischen Landkarte ist es möglich, die Notwendigkeit der EinfĂŒhrung von Stufen in einem bestimmten Produkt zu beurteilen, Verantwortungsbereiche abzugrenzen, VertrĂ€ge an den Ein- und AusgĂ€ngen von Stufen zu vereinbaren und den Ressourcenbedarf genauer einzuschĂ€tzen.
In den folgenden Artikeln werden wir genauer beschreiben, mit welchen technischen Hilfsmitteln bestimmte technologische Stufen auf unserer Karte umgesetzt werden.
Artikelautoren:
- â Leiter Automatisierung (DevOps) bei Positive Technologies
- - Stellvertreter Leiter der Automatisierungsabteilung (DevOps) bei Positive Technologies
Source: habr.com
