RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Moderator: Co-Administratoren
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Bisher habe ich die RedMatic Entwicklung so gestaltet dass Änderungen/Fehlerbehebungen immer ziemlich direkt zu einem neuen Release geführt haben. Dank "Continuous Delivery" ist das bei RedMatic auch ein vollständig automatisierter Prozess, sobald ich Code gepushed habe muss ich nur den Build anstoßen und ein neues Release samt Changelog wird automatisch auf Github veröffentlicht. Das möchte ich auch so beibehalten, allerdings hat mich ein Bug mit dem ich mich heute beschäftigt habe etwas nachdenklich gestimmt ob das für die User wirklich praktikabel ist. Bei mittlerweile über 200 Releases in 21 Monaten stehen damit einfach sehr häufig Updates an, das hat mich auch dazu bewogen hier eine Empfehlung auszusprechen wann Updates durchgeführt werden sollten: https://github.com/rdmtc/RedMatic/wiki/ ... %C3%BChren
Bei diesem Entwicklungsmodell besteht naturgemäß aber leider auch immer die Gefahr dass "plötzlich" etwas "bricht" (wie bei dem erwähnten Bug).
Die Frage die ich mir nun stelle - und für die ich hier um Feedback bitten möchte - ist nun ob das so für den User praktikabel ist oder ob ich ein Entwicklungsmodell einführen sollte dass es einfacher/überschaubarer macht und den Usern möglichst stabile Software bereitstellt. Konkret schwebt mir da vor mich an das u.A. auch von z.B. Node.js genutzte Modell anzulehnen: Gerade Releases sind "Stable", also solche bei denen die erste Ziffer der Versionsnummer eine gerade Zahl ist. Die eigentliche Weiterentwicklung findet auf einem ungeraden Release statt. Exemplarisch: Ich entwickle RedMatic 5.x wie gehabt weiter, irgendwann - wenn ein definiertes Set von neuen Features integriert ist - und die Software gut "abgehangen" ist (über längeren Zeitraum getestet, keine bekannten Bugs mehr) wird daraus RedMatic 6.x. Dort werden dann keine neuen Features mehr integriert, die unterliegenden Module werden nicht mehr aktualisiert, diese Version ist dann quasi eingefroren und erhält - wenn überhaupt - nur noch notwendige Bugfixes. Zeitgleich wird mit der Entwicklung auf einem 7.x Zweig weitergemacht (mit wie gehabt sehr häufigen Releases) und das Spiel geht von vorne los, irgendwann wird aus dem 7.x Zweig dann die stabile 8.x u.s.w.
Klingt jetzt erstmal harmlos, aber es wäre doch nicht unerheblicher Aufwand, der Build/Deploy Prozess und das Git Branch-Handling müsste an das neue Modell angepasst werden, daher dachte ich ich stell das erstmal zur Diskussion bevor ich Aufwand reinstecke. Der Benefit für den User wäre halt dass er weiss: geradzahlige Releases sind stabil(er) - neueste Features gibt es auf der Ungeraden Version. Damit das sinnvoll ist bräuchte es aber auch eine ungefähre Gleichverteilung der User auf den beiden Zweigen, wenn 95% eh immer das neueste haben wollen kann ich mir den Stable-Zweig sparen, umgekehrt aber auch: wenn alle nur auf Stable sind habe ich zu wenige Tester auf dem Entwicklungszweig und bekomm den erst gar nicht stabil
Was meint ihr dazu?
Bei diesem Entwicklungsmodell besteht naturgemäß aber leider auch immer die Gefahr dass "plötzlich" etwas "bricht" (wie bei dem erwähnten Bug).
Die Frage die ich mir nun stelle - und für die ich hier um Feedback bitten möchte - ist nun ob das so für den User praktikabel ist oder ob ich ein Entwicklungsmodell einführen sollte dass es einfacher/überschaubarer macht und den Usern möglichst stabile Software bereitstellt. Konkret schwebt mir da vor mich an das u.A. auch von z.B. Node.js genutzte Modell anzulehnen: Gerade Releases sind "Stable", also solche bei denen die erste Ziffer der Versionsnummer eine gerade Zahl ist. Die eigentliche Weiterentwicklung findet auf einem ungeraden Release statt. Exemplarisch: Ich entwickle RedMatic 5.x wie gehabt weiter, irgendwann - wenn ein definiertes Set von neuen Features integriert ist - und die Software gut "abgehangen" ist (über längeren Zeitraum getestet, keine bekannten Bugs mehr) wird daraus RedMatic 6.x. Dort werden dann keine neuen Features mehr integriert, die unterliegenden Module werden nicht mehr aktualisiert, diese Version ist dann quasi eingefroren und erhält - wenn überhaupt - nur noch notwendige Bugfixes. Zeitgleich wird mit der Entwicklung auf einem 7.x Zweig weitergemacht (mit wie gehabt sehr häufigen Releases) und das Spiel geht von vorne los, irgendwann wird aus dem 7.x Zweig dann die stabile 8.x u.s.w.
Klingt jetzt erstmal harmlos, aber es wäre doch nicht unerheblicher Aufwand, der Build/Deploy Prozess und das Git Branch-Handling müsste an das neue Modell angepasst werden, daher dachte ich ich stell das erstmal zur Diskussion bevor ich Aufwand reinstecke. Der Benefit für den User wäre halt dass er weiss: geradzahlige Releases sind stabil(er) - neueste Features gibt es auf der Ungeraden Version. Damit das sinnvoll ist bräuchte es aber auch eine ungefähre Gleichverteilung der User auf den beiden Zweigen, wenn 95% eh immer das neueste haben wollen kann ich mir den Stable-Zweig sparen, umgekehrt aber auch: wenn alle nur auf Stable sind habe ich zu wenige Tester auf dem Entwicklungszweig und bekomm den erst gar nicht stabil
Was meint ihr dazu?
-
- Beiträge: 27
- Registriert: 23.11.2019, 12:00
- Hat sich bedankt: 8 Mal
- Danksagung erhalten: 2 Mal
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Hi,
bislang verfahre ich so, dass ich das Update mache, wenn ich ein neues Release online sehe. Aber du hast natürlich Recht, dass ein zu schnelles online stellen des Updates auch mal nach hinten losgehen kann.
Von daher fände ich eine Variante mit Stable Releases gut und würde mich dann auch an diesen orientieren.
Bei interessanten Features würde ich auch eine unstable Version sicher vorzeitig installieren.
bislang verfahre ich so, dass ich das Update mache, wenn ich ein neues Release online sehe. Aber du hast natürlich Recht, dass ein zu schnelles online stellen des Updates auch mal nach hinten losgehen kann.
Von daher fände ich eine Variante mit Stable Releases gut und würde mich dann auch an diesen orientieren.
Bei interessanten Features würde ich auch eine unstable Version sicher vorzeitig installieren.
-
- Beiträge: 251
- Registriert: 24.10.2019, 01:51
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 6 Mal
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Ich wäre für die alte Vorgehensweise. Ich weiß jetzt nicht, wie oft es vorgenommen ist, dass durch ein Bug garnichts mehr lief. Aber ich denke nicht oft, oder?
Der oben erwähnte Bug, hat ja auch nicht alles zum Stillstand gebracht, man konnte ja trotzdem die Geräte bedienen und auch mit Siri, auch in anderen HomeKit Apps gab es diesen Fehler nicht, nur in der Home App.
Und bisher, so habe ich es jedenfalls empfunden, wurden Bugs von Dir @hobbyquaker immer recht schnell behoben.
Ich kann deine Arbeit nur loben!
PS: Bist du schon aus meinem Switch Problem schlau geworden? ^^
Der oben erwähnte Bug, hat ja auch nicht alles zum Stillstand gebracht, man konnte ja trotzdem die Geräte bedienen und auch mit Siri, auch in anderen HomeKit Apps gab es diesen Fehler nicht, nur in der Home App.
Und bisher, so habe ich es jedenfalls empfunden, wurden Bugs von Dir @hobbyquaker immer recht schnell behoben.
Ich kann deine Arbeit nur loben!
PS: Bist du schon aus meinem Switch Problem schlau geworden? ^^
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Grundsätzlich erst einmal Danke für eure Arbeit.
Dass bei einem Update mal etwas schief laufen kann... ist halt so. Als Windows Benutzer kennt man die Probleme, und man hat oftmals auch noch dafür bezahlt.
Wenn mal was nicht klappt? Dann erst einmal testen ( auf einem zweiten System) und eventuell auf das nächste Update warten...
Dass bei einem Update mal etwas schief laufen kann... ist halt so. Als Windows Benutzer kennt man die Probleme, und man hat oftmals auch noch dafür bezahlt.
Wenn mal was nicht klappt? Dann erst einmal testen ( auf einem zweiten System) und eventuell auf das nächste Update warten...
Homematic begeistert seit 2010; mittlerweile über 50 Geräte
--- ich kenne Linux nur aus dem Duden--- Leider
Dafür besitze ich aber Durchhaltevermögen und bin verheiratet... und das System ist extrem Frauenfreundlich
--- ich kenne Linux nur aus dem Duden--- Leider
Dafür besitze ich aber Durchhaltevermögen und bin verheiratet... und das System ist extrem Frauenfreundlich
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Sorry, hab's heute nicht mehr geschafft...
-
- Beiträge: 522
- Registriert: 07.01.2017, 16:48
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 48 Mal
- Danksagung erhalten: 66 Mal
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Ich verfahre schon immer nach dem oben verlinkten Verfahren. Manchmal mache ich aber auch ein Update, um nicht zu viele Releases hinterher zu hängen oder um einfach beim Test zu helfen. Komischerweise erwische ich immer sehr stabile Versionen.hobbyquaker hat geschrieben: ↑05.01.2020, 22:36wann Updates durchgeführt werden sollten: https://github.com/rdmtc/RedMatic/wiki/ ... %C3%BChren
Was meint ihr dazu?
Demzufolge ist aus meiner Sicht nichts am Verfahren zu ändern.
-
- Beiträge: 1295
- Registriert: 16.05.2010, 12:39
- Wohnort: Südwestlich von Graz
- Danksagung erhalten: 9 Mal
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Hallo hobbyquaker,
ich finde es sehr löblich, dass du die Stabilität der User-Systeme an oberster Stelle stellst.
Ich persönlich setze kein Homematic-Testsystem ein, sondern nutze nur mein (inzwischen umfangreiches) Produktiv-System, auch zum Testen von neuen Funktionen, denn ich bin der Meinung, dass ich nur so ein konstruktives Feedback geben kann, weil ich damit alle bei mir vorhandenen Situationen betrachten kann. Bisher habe ich das nicht bereut, weil mein System alle Tests gut überstanden hat und ich bei den wenigen Problemen dann immer sofortige Hilfestellung erhalten habe.
Grundsätzlich klingt die obige Variante sehr Vernünftig, ich sehe darin jedoch zwei mögliche Nachteile.
Sonnige Grüße!
Robert
ich finde es sehr löblich, dass du die Stabilität der User-Systeme an oberster Stelle stellst.
Ich persönlich setze kein Homematic-Testsystem ein, sondern nutze nur mein (inzwischen umfangreiches) Produktiv-System, auch zum Testen von neuen Funktionen, denn ich bin der Meinung, dass ich nur so ein konstruktives Feedback geben kann, weil ich damit alle bei mir vorhandenen Situationen betrachten kann. Bisher habe ich das nicht bereut, weil mein System alle Tests gut überstanden hat und ich bei den wenigen Problemen dann immer sofortige Hilfestellung erhalten habe.
Grundsätzlich klingt die obige Variante sehr Vernünftig, ich sehe darin jedoch zwei mögliche Nachteile.
- da sich dein Aufwand vergrößert, schmälert es womöglich deine Ressourcen für neue Funktionen.
- durch die Stable-Version im Hintergrund, könnten die Vorabversionen etwas dynamischer (=risikoreicher) gestaltet werden. Das gefährdet dann aber womöglich die Systeme der Early-User und Beta-Tester , zu denen ich gehören würde.
Sonnige Grüße!
Robert
-
- Beiträge: 1172
- Registriert: 14.02.2016, 12:32
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Heidenheim
- Hat sich bedankt: 57 Mal
- Danksagung erhalten: 226 Mal
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Ich bin zwar "nur" ein User von node-red-contrib-ccu auf einen "vollen" NodeRed, aber:
Ich hab mir mal die Telemetry-Werte angesehen.
So wie es aussieht nutzt doch eh ein großer Teil der User nicht immer die brandaktuelle Version. Mehr als 1/4 ist noch auf 4.x.
Die meisten User belassen es bei einer Version die so funktioniert wie sie es brauchen und aktualisieren nur bei Bedarf.
Die die immer auf der neuesten Version sind wären vermutlich auch die die nachher immer die neueste Development-Version installieren.
Aus meiner Sicht würde sich außer deinem erhöhten Aufwand nichts großartig ändern.
Daher meine Meinung: Lass es so wie es ist, nutze die gesparten Ressourcen lieber für die Weiterentwicklung oder auch einfach mal für was ganz anderes...
P.S.: Vielen Dank für deinen Einsatz, NodeRed hat dank dir mein Smart-Home sehr bereichert!
Ich hab mir mal die Telemetry-Werte angesehen.
So wie es aussieht nutzt doch eh ein großer Teil der User nicht immer die brandaktuelle Version. Mehr als 1/4 ist noch auf 4.x.
Die meisten User belassen es bei einer Version die so funktioniert wie sie es brauchen und aktualisieren nur bei Bedarf.
Die die immer auf der neuesten Version sind wären vermutlich auch die die nachher immer die neueste Development-Version installieren.
Aus meiner Sicht würde sich außer deinem erhöhten Aufwand nichts großartig ändern.
Daher meine Meinung: Lass es so wie es ist, nutze die gesparten Ressourcen lieber für die Weiterentwicklung oder auch einfach mal für was ganz anderes...
P.S.: Vielen Dank für deinen Einsatz, NodeRed hat dank dir mein Smart-Home sehr bereichert!
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?
Vielen Dank für Euren Input! Ich denk ich lege das Thema dann (erst mal) wieder auf Eis und gehe weiterhin wie gehabt vor.