Definitionen von Begriffen rund um Softwareentwicklung, Entwicklungsprozesse, Tests, Deployment und Arbeitspraktiken in IT-Teams.
Was ist Programmierung?
Programmierung ist der Prozess des Entwerfens, Erstellens, Testens und Wartens von Software. Sie umfasst nicht nur das Schreiben von Code, sondern auch die Auswahl von Architektur, Werkzeugen, Arbeitsmethoden und Praktiken, die Qualität und Sicherheit von Systemen sichern.
Begrifflicher Umfang
Programmierung verbindet technische und organisatorische Themen: Programmiersprachen, APIs, Tests, Versionskontrolle, Automatisierung von Deployments, Abhängigkeitsmanagement und den Lebenszyklus von Software. Wichtig sind auch Ansätze wie TDD, DDD, Agile, Scrum, DevOps, GitOps und CI/CD.
Bedeutung in der IT
Gute Programmierpraktiken beeinflussen die Stabilität von Anwendungen, die Geschwindigkeit der Auslieferung von Änderungen und die Wartungskosten von Systemen. In modernen Teams ist Programmierung eng mit Tests, Monitoring, Sicherheit, Infrastruktur sowie der Zusammenarbeit von Business und Technologie verbunden.
Agile umfasst Prinzipien und Praktiken für flexibles Projektmanagement, iterative Produktentwicklung und eine schnelle Reaktion auf sich ändernde Anforderungen.
Chaos Engineering, Chaos Engineering im Softwarebetrieb
Chaos Engineering testet die Widerstandsfähigkeit von Systemen durch kontrolliert herbeigeführte Ausfälle und Störungen, um Schwachstellen vor echten Vorfällen zu erkennen.
DDD beziehungsweise Domain-Driven Design ist ein Ansatz der Softwareentwicklung, der Architektur und Code an der Geschäftsdomäne, ihren Begriffen und Regeln ausrichtet.
DevOps verbindet Entwicklungs- und Betriebsteams, um die Erstellung, das Testen und die Bereitstellung von Software zu automatisieren, zu stabilisieren und zu beschleunigen.
Ein Feature Toggle ermöglicht es, Funktionen einer Anwendung dynamisch zu aktivieren oder zu deaktivieren, ohne eine neue Codeversion bereitzustellen. Er unterstützt Tests, schrittweise Releases und eine schnelle Reaktion auf Fehler.
Ein Freelancer ist ein unabhängiger Spezialist, der Projekte und Aufträge für Kunden übernimmt und Arbeitsumfang, Fristen sowie Zusammenarbeit selbst festlegt.
GitHub ist eine cloudbasierte Plattform auf Basis von Git zum Speichern von Code, zur Versionskontrolle, Zusammenarbeit, Codeprüfung und Automatisierung von Deployments.
GitOps ist eine Methodik zur Infrastrukturverwaltung und Anwendungsbereitstellung, bei der ein Git-Repository als zentrale Quelle für Konfigurationen und Automatisierungsprozesse dient.
Jira ist eine Plattform von Atlassian für Projektmanagement, Fehlerverfolgung und die Organisation von Teamarbeit, besonders in Agile-, Scrum- und Kanban-Umgebungen.
Lasttests zeigen, wie sich eine Anwendung, ein System oder eine Website unter definierter Belastung verhält, und helfen, Engpässe vor dem Produktivbetrieb zu erkennen.
Linting ist die automatisierte Analyse von Quellcode zur Erkennung von Fehlern, Inkonsistenzen, Sicherheitsproblemen und Verstößen gegen Programmierstandards.
MLOps umfasst Praktiken, Prozesse und Werkzeuge zur Automatisierung des gesamten Lebenszyklus von Machine-Learning-Modellen – von Datenaufbereitung und Training bis zu Bereitstellung, Monitoring und Aktualisierung.
No-Code ermöglicht die Erstellung von Anwendungen, Websites und Automatisierungen mit visuellen Werkzeugen, fertigen Komponenten und Konfiguration statt klassischer Programmierung.
npm ist ein Paketmanager für JavaScript und Node.js, der die Installation von Bibliotheken, die Verwaltung von Abhängigkeiten und die Automatisierung der Anwendungsentwicklung erleichtert.
PoC, kurz für Proof of Concept, ist ein funktionierender Prototyp zur Prüfung der Machbarkeit einer Idee, Technologie oder Lösung vor der vollständigen Umsetzung.