Projektmanagement

Der Weg von der Planung bis zum fertigen Produkt kann komplex und langwierig sein. Profitieren Sie von agilen Projektmanagement-Werkzeugen, die moderne Techniken wie SCRUM oder Kanban einsetzen.

Redmine ist eine vollständige Projektmanagementplattform für Geschäftsprozesse.

Durch den modularen Aufbau lässt es sich für unterschiedliche Industriebereiche oder spezielle Abteilungen einsetzen.

In gleicher Weise, wie das Konzept "Agile Projectmanagement", kommt Redmine aus der Software-Entwicklung und stellt u.a. Module für Quellcodeverwaltung zur Verfügung (SVN, Git, usw.). Allerdings ist es wesentlich umfangreicher und dank dem modularen Umbau an jede Form von Business anpassungsfähig:

  • Task und Workflow Management
  • Organisation von Meilensteinen
  • Zeitmanagement
  • Traditionelles und agiles Projektmanagement
  • Dokumentenverwaltung
  • Wikis

Diese Plattform bietet ähnliche Features wie Redmine, allerdings mit einem reduzierteren Umfang.

Dennoch ist es für Administratoren einfacher zu installieren und zu warten.

Mantis Bug Tracker ist ein zentrales System zum Melden von Issues (Probleme, Meldungen, Ideen). Es kann mithilfe von Plugins zu einer Projektmanagement Lösung erweitert werden.

Auch Mantis ist einfacher zu installieren und zu warten. Da es in PHP geschrieben ist, ist es für eine größere Gruppe von Entwicklern zugänglicher.

Versionsverwaltung

Versionen und Revisionen: Die Verwaltung von Quellcode. In gleicher Weise, wie Projektmanagement, ist Versionsverwaltung ein sehr umfangreiches Thema.

Seit Jahrzehnten werden Programme entwickelt, die den Entwickler helfen Quellcode mit anderen zu Teilen (ähnlich wie Collaborative Product Development). Dabei sind Tools entstanden, die über Versionen und Revisionen, die Timeline seines Workflows abbildet.

Eins der ersten Tools ist das Current Version System (kurz CVS). Hier werden Revisionen festgehalten, die an eine "Datenbank" gebunden sind.

CVS ist, im Vergleich zu späteren Produkten, für Konflikte anfälliger, also entstand ein Produkt, das es besser machen sollte: Subversion, kurz SVN. (CVS done right)

Heute gehört SVN zu den populärsten Versionsverwaltungstools, die sowohl im Hochschul- als auch Industriebereich eingesetzt werden. Allerdings gewinnt anderes Versionsverwaltungssystem immer mehr an Bedeutung: Git didn't beat SVN, GitHub did.

Linus Torvalds war mit den Versionsverwaltungswerkzeugen unzufrieden. Die Entwickler des Linux-Kernels fanden es letztlich besser Patch-Dateien abzuleiten und per Email zu schicken, als irgendeine Versionskontrolle einzusetzen. Letzlich entwicklete er eine eigene Lösung: Git: Tech Talk: Linus Torvalds on git

Git

Git hat die Besonderheit, dass durch die Dezentralisierung der Daten kein Zwang entsteht sich mit einem Server zu verbinden. Dadurch werden Arbeitsabläufe der Entwickler beschleunigt. Die Anbindung an einen Server ist optional, aber dennoch empfehlenswert. Durch die Lockerung dieser Abhängigkeit kann der Entwickler offline am Code arbeiten, ein Vorteil der mit SVN und CVS von der Designphilosophie ausgeschlossen ist.

Git ist in der Verwendung komplexer als SVN, doch die Lernkurve doch die steile biete Vorteiel, insbesondere weil weitere Features zur Verfügung gestellt werden, mit dem die Effizienz eines Software-Entwicklungs-Zyklus drastisch gesteigert wird.

Github und Gitlab

Git hat an Bedeutung gewonnen, dadurch das eine Reihe von Diensten zur Verfügung gestellt wurden, die heute populär sind. Darunter zählt auch Github. Als propietärer Dienst besteht keine Möglichkeit, einen eigenen Server mit dem System zu hosten. Um dieses Problem zu lösen wurde Gitlab entwickelt.

Github und Gitlab sind nicht nur ein Frontend für Git. Inzwischen sind sie zu umfassenden Projektmanagement-Plattformen herangewachsen. Mit diesen können Entwickler kommunizieren, Wiki-Seiten aufbauen, Berechtigungen konfigurieren und CD/CI (Continous Deployment, Continous Integration) integrieren. Es wird gerne als das Soziale Netzwerk der Software Entwickler gesehen (Social Coding).