• IT-Karriere:
  • Services:

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 Boris Mayer 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. Leopold Kostal GmbH & Co. KG, Lüdenscheid
  2. Information und Technik Nordrhein-Westfalen (IT.NRW), Düsseldorf

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.  


Anzeige
Hardware-Angebote
  1. (u. a. PS5 + HD Kamera für 549,99€)

sambache 18. Apr 2021 / Themenstart

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

aLpenbog 16. Apr 2021 / Themenstart

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

lhfwc 16. Apr 2021 / Themenstart

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

Trollversteher 15. Apr 2021 / Themenstart

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

heldenhaft 15. Apr 2021 / Themenstart

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

Kommentieren


Folgen Sie uns
       


Satelliteninternet Starlink ausprobiert

Trotz der schwankenden Datenrate konnten wir das Netz aus dem All problemlos für Arbeit und Freizeit nutzen.

Satelliteninternet Starlink ausprobiert Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /