Softwareentwicklung: Ohne passende Werkzeuge geht das nicht

Komplexe Programme schreiben sich besser mit unterstützenden Tools. Die Suche danach und das erste Kennenlernen sind anstrengend. Aber: Es lohnt sich.

Artikel von veröffentlicht am
Es hilft, das richtige Werkzeug zu benutzen.
Es hilft, das richtige Werkzeug zu benutzen. (Bild: Pixabay)

Um ein kleines Programm mit ein paar Zeilen Code zu schreiben, genügt es, eine Idee zu haben, einen Editor zu starten, ein paar Tasten in sinnvoller Reihenfolge zu drücken, den Code zu kompilieren und dann auszuprobieren. Klappt alles, ist das Programm fertig und kann benutzt werden. Ein paar Wochen später kommt eine neue Idee hinzu und das Programm wird um die zusätzliche Funktionalität erweitert.

Inhalt:
  1. Softwareentwicklung: Ohne passende Werkzeuge geht das nicht
  2. Von der (irreführenden) Idee eines einheitlichen SDLC
  3. Ohne die Akzeptanz der Nutzer geht gar nichts

Bei großen Projekten funktioniert das nicht. An neuen Versionen, Features, Bugfixes, Optimierungen und anderen Änderungen sind ganze Teams beteiligt. Es wird geplant, umgeplant, Termine werden gesetzt und verschoben, Software-Qualität als höchstes Ziel ausgegeben (zumindest wenn ein neues Feature nicht zu dringend gebraucht wird) - kurz gesagt: Es hält eine Menge Planung und ein festgeschriebener Entwicklungsprozess Einzug, dessen Komplexität mit der des Projekts steigt.

Um diesen Entwicklungsprozess zu unterstützen, braucht es Werkzeuge. Es ist nicht nur mit einem Integrated Development Environment (IDE) mit einem Compiler getan, hinzu kommen Tools wie ein Wiki, ein Issue Tracker, ein Code Repository, ein Build Tool, ein Werkzeug für Continuous Integration, ein System für Code Reviews, ein Tool für statische Code-Analyse und ein Repository für Artefakte.

So flüssig kann es gehen

In einem idealen Projekt gibt es für jeden einzelnen Schritt im Prozess das richtige Werkzeug. Und nicht nur das: Die Tools für die einzelnen Schritte sind miteinander verzahnt. Aus einem Wiki-Tool lassen sich aus dem Text heraus Arbeitspakete in einem Ticketing-System anlegen, das Ticketing-System erlaubt Softwareentwicklern, dazu aus dem Ticket heraus einen Feature Branch im Versionierungssystem zu kreieren, und aktualisiert sich in der Folge selbst durch Aktionen der Programmierer, wie zum Beispiel einem Commit aus der IDE heraus.

Stellenmarkt
  1. Technischer Projektleiter (w/m/d)
    Vertec GmbH, Hamburg, München, Zürich (Schweiz), Wien (Österreich) (Home-Office)
  2. IT-Supporter User Helpdesk (m/w/d)
    experts, Raum Ulm
Detailsuche

Zusätzlich kompiliert die CI nach diesem Commit den Feature Branch, lässt Unit-Tests und die statische Code-Analyse laufen, um schon an dieser Stelle automatisch vorhandene oder mögliche Fehler zu finden - und überprüft dabei auch gleich, ob die Code-Guidelines für das Projekt eingehalten wurden.

Signalisiert ein Entwickler, dass die Implementierung eines Features oder Bugfixes abgeschlossen ist, indem ein Pull Request gestellt wird, springt automatisch das Code-Review-Tool ein und stellt die Implementierung des Features zum Code-Review durch Entwicklerkollegen bereit.

Nach abgeschlossenem Review - und gegebenenfalls vorgeschlagenen Nachbesserungen - kann die Implementierung dann endlich in den Hauptentwicklungszweig gemerged werden. Auch das klappt meistens automatisch mit dem Klick eines Buttons in der Weboberfläche, nur bei nicht lösbaren Konflikten muss manuell eingegriffen werden.

Handbuch für Softwareentwickler: Das Standardwerk für professionelles Software Engineering

Eine Menge unterschiedlicher Werkzeuge

Leider gibt es für all diese Aufgaben im Entwicklungsprozess nicht das eine allerbeste Programm, sondern es steht eine Vielzahl von Tools zur Auswahl. Eine erste Übersicht bietet die folgende Tabelle, die aber keinen Anspruch auf Vollständigkeit hat.

Werkzeugkategorie Beispiele von Tools
IDE IntelliJ IDEA, Emacs, Vim, VS Code, Eclipse, Visual Studio etc.
Issue Tracker Atlassian Jira, Bugzilla, Apaches Bloodhound, TeamForge etc.
Code Repository Git, svn, Mercurial, cvs, IBM Rational ClearCase etc.
Build Tool Graddle, Ant, Maven, Bazel etc.
Continous Integration Jenkins, Atlassian Bamboo etc.
Code Review GitHub, Crucible, Gerrit, Review Board etc.
statische Code Analyse SonarQube, Lint, FindBugs, PMD etc.
Repository für Artefakte JFrog Artifactory, Sonatype Nexus, Python Package Index (PyPI) etc.
Wiki Wikipedia kennt fast 100 Wiki-Implementierungen

Sieht man sich die einzelnen Werkzeuge an, fällt schnell auf, dass es auch innerhalb der Kategorien große Unterschiede gibt. Die Feature-Listen unterscheiden sich ebenso wie der Umfang der Programme. Manch eines versucht auch gleich noch den benachbarten Bereich abzudecken, andere wiederum sind abhängig von einer bestimmten Programmiersprache und bringen verschiedene Philosophien in der Arbeitsweise mit. Zudem lassen sie sich unterschiedlich gut mit anderer Software integrieren - besonders gut klappt das normalerweise mit verschiedenen Tools desselben Herstellers.

Eines aber haben diese Programme gemeinsam: Sie alle behaupten, den Software Development Life Cycle (SDLC) zu unterstützen. Doch was ist das überhaupt?

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Von der (irreführenden) Idee eines einheitlichen SDLC 
  1. 1
  2. 2
  3. 3
  4.  


sambache 18. Apr 2021

Es reicht vielen halt nicht, dass es einmal funktioniert ;-) Was ist an "in EINEM...

aLpenbog 16. Apr 2021

Jo sind meist größere Änderungen die gemacht werden, das zieht sich schon mal mehrere...

lhfwc 16. Apr 2021

Der Artikel ist auf jeden Fall ein guter Diskussionsanstoß und viele Punkte konnte ich...

Trollversteher 15. Apr 2021

Hä? Was hat der völlig unangebrachte Rant jetzt mit dem Thema/Artikel zu tun? Typisch für...

heldenhaft 15. Apr 2021

Uh... muss das so sein - bestimmt eine tolle Fehlerquelle? Aber auch da gibt es...



Aktuell auf der Startseite von Golem.de
Musterfeststellungsklage
Parship kann eine Kündigungswelle erwarten

Die Verbraucherzentrale ruft zur Kündigung bei Parship und zur Teilnahme an einer Musterfeststellungsklage auf. Doch laut Betreiber PE Digital ist das aussichtslos.

Musterfeststellungsklage: Parship kann eine Kündigungswelle erwarten
Artikel
  1. Open Source: Antworten Sie innerhalb von 24 Stunden
    Open Source
    "Antworten Sie innerhalb von 24 Stunden"

    Die E-Mail eines großen Konzerns an den Entwickler von Curl zeigt wohl eher aus Versehen, wie problematisch das Verhältnis vieler Firmen zu Open-Source-Software ist.

  2. Raumfahrt: US-Weltraumstreitkräfte starten zwei Spionagesatelliten
    Raumfahrt
    US-Weltraumstreitkräfte starten zwei Spionagesatelliten

    Was können denn andere Satelliten im geostationären Orbit? Fliegen wir hin und schauen nach.

  3. Elektro-Pick-up: Neuer Tesla-Cybertruck-Prototyp gefilmt
    Elektro-Pick-up
    Neuer Tesla-Cybertruck-Prototyp gefilmt

    In einem Video wird ein neuer Cybertruck-Prototyp von Tesla im Detail gezeigt. Es stammt vermutlich aus der Gigafactory in Texas.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • RTX 3070 Ti 8GB 1.039€ • RX 6900XT 16 GB für 1.495€ • Acer Curved Gaming-Monitor 27" 259€ • RX 6800XT 16GB 1.229€ • Corsair 16GB DDR4-4000 111,21€ • 10% auf Gaming bei Ebay (u. a. Gigabyte 34" Curved UWQHD 144Hz 429,30€) • Razer Gaming-Stuhl 179,99€ [Werbung]
    •  /