Wie verwaltet ihr eure Projekte und Ideen als einzelner Entwickler?

TimmyDuese

Ensign
Registriert
Apr. 2022
Beiträge
155
Hallo zusammen ,

ich benötige mal eure Meinungen und Erfahrungen.

  • Wie plant ihr eure Projekte? (egal ob Features, kleine Ideen oder langfristige Vorhaben)
  • Wie sammelt ihr Ideen, Aufgaben und Fortschritte übersichtlich an einem Ort?
    Nutzt ihr dazu lokale Tools, Skripte, ein Web-Dashboard oder eher CLI-basierte Lösungen?
  • Welche Automatisierungen verwendet ihr dabei?
    Habt ihr z. B. Cron-Jobs, Git-Hooks, Skripte, usw. im Einsatz?
  • Habt ihr eventuell konkrete Beispiele?
    (z. B. Code-Snippets, Config-Files, Cron-Tab-Einträge oder Links zu euren Repositories)
Mein aktuelles Problem ist:
Ich schreibe alle neuen Ideen einfach in ein Textfeld meines Editors, und nach kurzer Zeit wird das völlig unübersichtlich. Daher suche ich eine bessere und langfristig funktionierende Lösung.

Mich interessieren explizit eure Erfahrungen als einzelne Entwickler, die private Projekte betreuen, also nicht Lösungen für große Teams oder Unternehmen.
 
GitHub Projects zum grob planen, GitHub Issues fürs Umsetzen. Für große Planungen mit Links, Bildern auch Notion.so.
 
Zuletzt bearbeitet:
Also ganz grundsätzlich verwende ich git für jeglichen Code. Wenn du kein eigenes hast, kannst du auch einfach private Projekte auf GitHub verwalten.
Ich betreibe vieles zuerst manuell, aber mit Doku im lokalen README.md

Dann zur Planung verwende ich privat tatsächlich einfach meine TODO Liste, die kontinuierlich aktuell gehalten wird.
 
  • Gefällt mir
Reaktionen: Alter_Falter
Code, Doku (Readme, Sourcen für Manpages) sowie Makefiles sind bei mir komplett in git. Buildpipelines nutze ich gelegentlich, brauchen meine "Projekte" oft aber nicht zwingend.

Für "Planung" nutze ich entweder Sourcehut oder auch gleich gitbug.

Zum einfach so was aufschreiben gibts die Notizen in Nextcloud.
 
Zuletzt bearbeitet:
TimmyDuese schrieb:
Ich schreibe alle neuen Ideen einfach in ein Textfeld meines Editors, und nach kurzer Zeit wird das völlig unübersichtlich.

Manche Leute wuerden dann den Emacs org-mode empfehlen. Oder vielleicht Markdown-Dateien. Ich schreibe Ideen zu einem Thema immer in eine Datei in einem Verzeichnis zu dem Thema.

git ist gut, um solche Sachen zwischen verschiedenen Geraeten zu synchronisieren.
 
TimmyDuese schrieb:
Wie plant ihr eure Projekte?
Grobe Planung als Textdatei (gerne auch mit Markup wie Markdown oder ASCIIDoc)
Ansonsten findet halt sehr viel im Quelltext statt. Auch was Dokumentation etc. angeht, was dem Phänomen vorbeugt, das Doku und Quelltext "out of sync" sind.

TimmyDuese schrieb:
Wie sammelt ihr Ideen, Aufgaben und Fortschritte übersichtlich an einem Ort?
Im Grunde tut es dafür eine Textdatei. Weitergehende Infos hat man halt so, das man für jedes Projekt einen Ordner hat. Bei kleineren Projekten (simple Shellskripte) hab ich eine Art MISC-Ordner, weil die eh nur aus einer Datei bestehen und darin auch die Doku enthalten ist.

Als Code-Repository für Versionierung und als zentraler Speicherort nehme ich gerne fossil. Da hat man gleich andere Sachen mit integriert (z.B. Bugtracker).
Ein Internet-Dienst a-la github nehme ich dafür bewusst nicht, da man ja bei Cloud-Diensten immer ein potentielles Datenschutzproblem hat. Und ich will nicht bei allem was ich mache, ständig darüber nachdenken müssen, ob Datenschutz hier ein potentielles Problem ist oder nicht. Ich kann das also einfach sorglos benutzen.
Bei öffentlichen Projekten sind das freilich anders aus.

Ansonsten sind Texteditoren und Kommandozeile meine bevorzugten Tools. Die sind universell und mir würde es widerstreben mich von einer konkreten Lösung zu abhängig zu machen. Vieles geht ja auch z.B. über eine IDE. Aber ich will mich eben nicht daran binden.

TimmyDuese schrieb:
Ich schreibe alle neuen Ideen einfach in ein Textfeld meines Editors, und nach kurzer Zeit wird das völlig unübersichtlich.
Sofern es nicht völlig strukturlos ist, kann ja auch ein Sprachmodell a-k-a "KI" helfen da Übersicht reinzubringen.
 
Gitlab & DokuWiki.

Gitlab hat so ziemlich alles, was ich zur Umsetzung brauche (CI/CD & Issues & Issue Board & Milestones).

DokuWiki ist zur Ideen- und Snippet-Sammlung.

Theoretisch hat Gitlab auch eine Wiki Funktion, allerdings ist diese nur Projektbezogen, daher hab ich lieber ein extra "globales" Wiki.
 
TimmyDuese schrieb:
Wie sammelt ihr Ideen, Aufgaben und Fortschritte übersichtlich an einem Ort?
Anscheinend habe ich nicht genug Ideen für neue Projekte.

Entweder, die Idee besiert auf einer konkreten und aktuellen Anforderung, dann geht es meist umgehend in die Realisierung eines Prototypen. Oder sie ist ein "Hirngespinst", dann sind es zu 99% Sachen, zu denen ich mir sowieso nie die Zeit nehmen werde bis der erste Fall eintritt.

Aufgaben? Projektspezifische Bugfixes (sonst sind es für mich privat keine Aufgaben, sondern max. Verbesserungswünsche) werden entweder umgehend realisiert oder im Quelltext markiert und bei Bedarf mit einer Warnmeldung abgeklemmt. Damit merke ich sehr schnell, ob die Funktion für mich relevant genug ist um den Fehler zu beheben.

Erweiterungswünsche für ein realisiertes Projekt werden im Projekt gesammelt und erfahrungsgemäß entweder zeitnah umgesetzt oder sie bleiben über Jahre/Jahrzehnte in der Sammlung.

Fortschritt? Wer sollte mich so nerven, dass ich privat den Fortschrittt meiner Projekte tracken müsste? Im Zweifel gibt es, je Quelltext, eine Änderungshistorie in Textform. Aber das war sicher genauso wenig gemeint wie das simpele Löschen einer realisierten Erweitersidee aus der Textdatei.

Die Nutzung von Tools im Web für sowas kommt für mich und meine privaten Projekte nicht in Frage (ja ich bin alt und altmodisch). Ich halte alles, was mir wichtig ist, lokal.

Benötige ich meine SW-Projekte temporär auf einem zweiten Computer, dann werden sie dorthin kopiert. Die Nutzung auf dem zweiten Gerät ist immer nur relevant, wenn ich meinen Hauptrechner geplant nicht erreichen kann. Also insb. auf Reisen, gerne auch 2025 am Zielort ohne schnelle Internetanbindung.

Ich habe für meine Projekte noch nie eine Quelltextverwaltung vermisst. Sollte ich mal an einem Tag eine Sicherung der Quelltexte des gerade bearbeiteten Projektes benötigen, dann wird lokal ein Kopie angelegt. Sonst landet alles im automatischen, täglichen und inkrementellen Backup. Das Tracken einzelner Bugs und deren Behebung bringt mir privat nichts.

Code-Snippets sind zu 90% in Funktionen meiner Projekte zu finden. Das gilt auf für Stilblüten, bei denen (mittlerweile) ungenutzte Funktionen mit Absicht im Quelltext verbleiben und entsprechend kommentiert werden. Wenige Sachen liegt in einer schnöden Textdatei oder als PDF-Druck von (alten) Webseiten. Das gilt mittlerweile aber nur noch für Dinge, die ich entweder nur mit extrem viel Aufwand im Netz gefunden habe oder für Dinge, die ich immer wieder benötige, aber genauso zuverlässig wieder vergesse.

TimmyDuese schrieb:
die private Projekte betreuen
Das "betreuen" klingt so abgehoben. Ich entwickele privat weder parallel an mehreren Projekten, noch betreue ich sie. Ein Projekt mag mal für Monate/Jahre aus Eis liegen, aber gerade dann ist es mir wichtig, dass ich mit Tools, die ich auch in 10 Jahren noch nutzen kann, wieder an meine Infos komme.
 
Ich schreib meinen Plan meistens per Email oder in Form eines Angebots-PDF an den Auftraggeber.
Aus den Emails raus kommt alles relevante in eine Doku. System: Was der Kunde will. Ansonsten: Git, aber wo anders auch Confluence/Jira/Bitbucket/Git. Früher hab ich das meiste mit Redmine gemacht, aber leider ist das nicht mehr wartbar für mich gewesen. Jira ist zwar auch so ähnlich aber mit der Lizenz nix für mich persönlich.

Für eigene private Repos wenn eine Weboberfläche gebraucht wird, würde ich Gittea nehmen lokal oder on premises oder wenn es mit Projektmanagement sein soll dann Openproject oder Gitlag(b) allerdings mit entsprechenden Rechner dahinter.

Viel Organisation steckt bei mir in den Dateiordnerstrukturen, das ist auch nicht zu unterschätzen.
 
Ich male Diagramme mit Draw.io , das gibts für praktisch alle Plattformen.

Programmierung mache ich mittlerweile mit Doku First, also in normaler Sprache beschreiben was man tun will. Ist diese gut genug, kann eine KI robusten Code draus machen.

Ich mache dann das Review dazu und verbessere es. Klassische Programmierung ist am Ende, dafür wird kaum noch eingestellt.
 
Zuletzt bearbeitet:
RobZ- schrieb:
Klassische Programmierung ist am Ende, dafür wird kaum noch eingestellt.
Mal sehen.
Denn diese KI-Systeme sind ja beileibe nicht perfekt. Und die können im Wesentlichen auch nur replizieren, was sie schon mal gesehen haben.

Das bedeutet 2 Dinge:

Erstens funktionieren diese KIs am besten in Zusammenarbeit mit jemand, der programmieren kann. Das Know-How droht aber verloren zu gehen wenn sich niemand mehr ernsthaft mit Programmierung auseinander setzt. Das heißt die Nachfolgegeneration wird schon wesentlich weniger Skills haben.

Zweitens: Da immer mehr Code KI generiert ist, gibt es auch weniger originäres Neues was KIs zum lernen benutzen können. Das Lernmaterial ist im wesentlichen das, was KIs selbst produziert haben und Du hast den die-Katze-beißt-sich-in-den-Schwanz-Effekt.

Insofern könnte es sein, das dies nur ein kurzfristiger Effekt ist und man langfristig wieder Programmierer brauchen wird. Sicher nicht in dem selben Umfang wie heute, wenn natürlich mit den Hilfsmitteln die Produktivität enorm steigt.
Aber das es ganz ausstirbt ist eher unwahrscheinlich.

Bedarf besteht dann aber freilich nur an guten Leuten. An die Leute, die heute nur ihr Code von Stackoverflow zusammen kopieren, die kriegen auch künftig keinen Job mehr. Das kann die sogenannte KI wesentlich besser.
 
  • Gefällt mir
Reaktionen: floq0r
Meine Solo Projekte plane ich auch fast nur im Kopf, wenn ich mich mit niemanden abstimmen muss, muss ich auch erstmal nichts Niederschreiben. Meine Projekte sind Open Source auf GitHub, wenn mir doch zu viele Features im Kopf rumschwirren, dass ich Sorge habe was zu vergessen dann verwalte ich das über Issues.
 
RobZ- schrieb:
Programmierung mache ich mittlerweile mit Doku First, also in normaler Sprache beschreiben was man tun will. Ist diese gut genug, kann eine KI robusten Code draus machen.
Sehr guter und interessanter Ansatz, ich teste im Moment mit der gleiche Methode. Was benutzt du? Also welche KI?
 
Ich schiebe jedes Projekt (private oder public) mittlerweile nach GitHub hoch, das geht eigentlich recht fix...

Für Notizen habe ich noch keine Lösung gefunden, meist einfach ein neuer Tab in NP++...

Vielleicht wäre https://github.com/dullage/flatnotes dafür besser, aber dann muss ich immer online sein 😬
Ergänzung ()

Ach so... nach CI hattest du auch gefragt... die läuft auch komplett auf GitHub (also remote)
 
Also ich bin nicht unbedingt ein "einzelner" Entwickler, möchte aber gerne trotzdem da meinen Senf dazugeben, da ich über das Thema immer gerne rede, aber im Bekanntenkreis das eigentlich keinen interessiert :)

Aber ich entwickel durchaus noch Sachen als "einzelner" Entwickler, aber eher zum Spaß/Hobby, weil ich mir neue Technologien beibringen will und einfach am Stand der Zeit bleiben möchte.

Nun zu den Fragen, aber könnte sein, dass man mich dafür auslacht, da ich mehr der "chaotische" Entwickler bin.

  • Wie plant ihr eure Projekte? (egal ob Features, kleine Ideen oder langfristige Vorhaben)
    Features kommen mir plötzlich in den Kopf, während ich an einem anderen Feature entwickle, planen brauch ich das danach gar nicht mehr, weil ichs im Kopf schon "fertig" hab. D.h. ich plane gar nicht, dafür hab ich mehr Aufwand beim Testing bzw QA.
  • Wie sammelt ihr Ideen, Aufgaben und Fortschritte übersichtlich an einem Ort?
    Ich hab uns hierzu (in unserer eigenen Software) eine Art Todo-System entwickelt, was man schön mit Farben, etc. übersichtlich in einer Tabelle darstellen kann, mit Status-System, etc., das läuft eigentlich recht gut für alle unsere internen Todos (Entwicklung, QA, etc)
  • Welche Automatisierungen verwendet ihr dabei?
    Mittlerweile einiges, wenn ein Todo generiert wird, werden z.b. automatisch Mails ausgesendet, Mails können eingelesen werden, Dokumente werden angelegt, etc., unsere Software ist sehr auf Automatisierung ausgelegt.
  • Habt ihr eventuell konkrete Beispiele?
    Nein, aber ich arbeite grad nebenbei an einem SQL-Verwaltungstool, ist aber noch nicht sicher, wie ich damit verfahre
 
Zurück
Oben