Das YAGNI-Prinzip in der Entwicklung

in  Verschiedenes , ,

Das YAGNI-Prinzip in der Entwicklung

In der Softwareentwicklung gibt es einige fundamentale Prinzipien, mit denen die Dinge einfach gehalten und Komplexitäten beherrscht werden sollen. Sehr bekannt sind etwa das KISS-Prinzip (keep it simple, stupid), welches stets daran erinnert, eine möglichst einfache Lösung für ein Problem zu wählen. Das DRY-Prinzip (don’t repeat yourself) besagt indes, dass man unnötige Wiederholungen vermeiden sollte, um unnötige Wartungspunkte einzusparen.

Noch früher greift YAGNI (you aren’t gonna need it): hier geht es darum aktiv zu challengen, ob ein Problem es überhaupt wert ist, zum aktuellen Zeitpunkt adressiert zu werden. Denn gar keine (unnötige) Lösung ist noch simpler als eine einfache Lösung. YAGNI hilft somit extrem bei der Fokussierung auf die eigentlich wichtigen Aspekte eines Produktes und ist ein elementarer Baustein für eine iterativ-inkrementelle Herangehensweise. Anstatt zu versuchen zukünftige Folgeanforderungen zu antizipieren und die aktuelle Arbeit bereits darauf auszurichten, gilt es konsequent nur die aktuellen Anforderungen im Blick zu halten. Oftmals entfallen so unnötige Aufwände für Dinge, die weder im Moment noch zukünftig überhaupt gebraucht werden.

Dokumente und Belege mit paperless-ngx flexibel pflegen und handhaben

in  Verschiedenes , , ,

Dokumente und Belege mit paperless-ngx flexibel pflegen und handhaben

Das papierlose Büro war bislang ein Traum, den wir aus Gründen der revisionssicheren Archivierung noch nicht gelebt haben. Durch einen Artikel bin ich jedoch vor ein paar Wochen auf das Open Source Projekt paperless-ngx aufmerksam geworden und hatte mir vorgenommen: bei nächster Gelegenheit tauche ich dort einmal ein und schaue mir das näher an.

Was ist und kann das Tool?

Es handelt sich um eine Dokumentenverwaltung, die per Standard einfach via Docker Compose ausgeführt werden kann. Zur Speicherung der Daten können unterschiedliche Backends verwendet werden, empfohlen wird für normale Anwendungsfälle PostgreSQL.

Endlich in der GitHub Issues Beta

in  Verschiedenes , , ,

Endlich in der GitHub Issues Beta

Seit knapp eineinhalb Jahren nutzen wir MeisterTask für unser persönliches Task Management im Rahmen von Kundenprojekten sowie eigenen Vorhaben - und sind immer noch begeistert von diesem Tool 😍

Alle Tickets, welche spezifisch zu einer bestimmten Softwarekomponente gehören, liegen allerdings in GitHub beim jeweiligen Repository - insbesondere da viele der Dinge, an denen wir arbeiten, Open Source Projekte sind. Es gibt in GitHub auch die Möglichkeit für sogenannte Project boards, mit denen sich Tickets Kanban-artig organisieren lassen. Allerdings war das bislang eher rudimentär umgesetzt.

Symfony Services asynchron im Hintergrund aufrufen

in  Zikula Apps , , , , ,

Symfony Services asynchron im Hintergrund aufrufen

Oftmals greift man in Symfony-Projekten auf CLI-Kommandos mit Hilfe der Symfony Console-Komponente zurück, um länger laufende Prozesse außerhalb des Webservers durchzuführen. In komplexeren Vorhaben gibt es weitere Ansätze, wie etwa eine Job Queue oder die noch relativ junge Symfony Messenger-Komponente. Diese haben gemeinsam, dass sie eine bestimmte Struktur voraussetzen. Für die Umstellung von Legacy-Code, in dem selbstgeschriebene Jobs mit ReactPHP Event-Loops zum Einsatz kommen, haben wir vorerst einen anderen Weg gewählt, um diese Worker in Einklang mit Symfony zu bringen.

Von Trello zu MeisterTask - erster Eindruck

in  Verschiedenes , ,

Von Trello zu MeisterTask - erster Eindruck

Mehrere Jahre lang hatten wir Trello verwendet und waren damit auch gut gefahren. Und mit der Zeit gewöhnt man sich auch an kleine Einschränkungen und lernt, diese mit eigenen Workflows zu umschiffen oder zu kompensieren. Dennoch hat es sich seit einigen Wochen nicht mehr rund angefühlt. Daher haben wir mehr als fünfzig verschiedene Tools angeschaut und für unsere Bedürfnisse als sehr sehr kleines Team verglichen. Darunter waren vorwiegend leichtgewichtige Kanban-orientierte Werkzeuge; die größeren Angebote, bei denen die eigentliche Arbeit wieder in einem Sumpf von Menüs verschwindet, waren hingegen schnell aussortiert. Der Gewinner für uns ist: MeisterTask 🏆 (dies ist ein Affiliate-Link!) In diesem Beitrag stellen wir kurz vor, was wir daran - im Vergleich zu Trello - besser und was weniger gut finden.

Trello Tipp 5: Wiederkehrende Aufgaben automatisch erstellen

in  Verschiedenes ,

Trello Tipp 5: Wiederkehrende Aufgaben automatisch erstellen

Im letzten Trello-Tipp ging es um Vorlagen, mit denen unregelmäßig wiederkehrende Aufgaben unterstützt werden können. Oftmals gibt es aber auch Tätigkeiten, die tatsächlich in regelmäßigen Intervallen durchgeführt werden müssen. Allerdings sind sie nicht unbedingt geeignet für einen Kalender 📆 , weil sie nicht punktgenau an einem bestimmten Tag stattfinden - es geht hier nicht um Termine, sondern um Aufgaben. Um solche Dinge abzubilden, verwenden wir in Trello das Power-Up “Card Repeater”.

Trello Tipp 4: Gleichartige Aufgaben durch Kartenvorlagen steuern

in  Verschiedenes ,

Trello Tipp 4: Gleichartige Aufgaben durch Kartenvorlagen steuern

Oftmals hat man es mit unregelmäßig wiederkehrenden Aufgaben zu tun, die alle ein bestimmtes Schema befolgen, also im Prinzip mit einer Checkliste abgearbeitet werden können. Um diese Tätigkeiten zu unterstützen, gibt es in Trello seit relativ kurzer Zeit eine Funktion für Vorlagen.

Am Ende einer Liste gibt es rechts unten einen kleinen Knopf. Damit erreicht man das Vorlagen-Menü. Hier werden alle bestehenden Vorlagen angezeigt oder - wie in der folgenden Abbildung - eine Info, falls es noch keine gibt.

Trello Tipp 3: Schlanke digitale Wiedervorlage und Sammelkarten

in  Verschiedenes ,

Trello Tipp 3: Schlanke digitale Wiedervorlage und Sammelkarten

Wer den letzten Tipp befolgt und Labels für Relationen einsetzt, wird in Trello nicht mehr durch unnötige Karten abgelenkt, die von anderen Karten abhängig sind. Aber was kann man tun, wenn es dennoch einfach zu viele Karten sind, um mehr Fokus in die tägliche Arbeit zu bringen? In diesem Beitrag zeigen wir einen Ansatz, mit dem sich mehr Übersicht schaffen lässt.

Wann immer man in der Beschreibung einer Karte oder auch zum Beispiel in einer Checkliste einen Link zu einer anderen Karte einfügt, ersetzt Trello diesen Link automatisch durch den Titel der referenzierten Zielkarte. Das klappt sogar über mehrere Boards hinweg und auch - und hier liegt der Trick - bei Karten, die im Archiv liegen. Benennt man die verknüpfte Karte später um, ändert sich auch der Titel beim Link.

Trello Tipp 2: Ordnung durch Relationen - Labels einmal anders

in  Verschiedenes ,

Trello Tipp 2: Ordnung durch Relationen - Labels einmal anders

Kategorien für Aufgaben in Trello

In Trello lassen sich Karten durch sogenannte “Labels” kategorisieren. Dies läuft analog zu Labels auf GitHub oder zum Tagging von Blogartikeln. Man weist einer Karte beliebige Labels zu und kann diese dann zum Beispiel zum Suchen verwenden. Klassische Beispiele für Labels von Trello-Karten sind etwa Dringend, Feedback oder auch Abteilung xy.

Wie grundsätzlich bei Trello, entfalten auch die Labels im Speziellen ihre wahre Stärke dadurch, dass Sie keine Begrifflichkeit oder Semantik vorgeben. Es ist der eigenen Interpretation überlassen, wofür man sie einsetzt und warum. Im Folgenden möchte ich eine mehr oder weniger originelle Anwendung vorstellen.

Trello Tipp 1: Zeit sparen durch Tastenkürzel

in  Verschiedenes ,

Trello Tipp 1: Zeit sparen durch Tastenkürzel

Für die Nutzung am Desktop-Rechner bietet Trello eine ganze Reihe an Tastenkürzeln. Die muss man sich natürlich nicht alle merken, aber an der ein oder anderen Stelle vereinfacht es die Nutzung doch enorm. Nachfolgend ein kurzer Überblick, was man damit beispielsweise machen kann bzw. welche Ansätze sich für mich in den letzten Monaten als wiederkehrend relevant und nützlich erwiesen haben. Vorab ein Hinweis: ich nutze hier nur sehr selten ausschließlich die Tastatur, sondern kombiniere meistens die Tasten mit der Maus.