Kategorien
Blog Software

Phasenmodell bei low-code Entwicklungen

Ich finde das Phasenmodell bei low-code Entwicklungen zwar einen interessanten Ansatz, aber leider nur halb durchdacht.

Es werden einige Annahmen getroffen, die aus meiner Sicht zwar manchmal zutreffen, aber eben nur manchmal. Und diese Fälle dann als Argumentation für generelle Behauptungen zu verwenden finde ich falsch.

Annahmen

Die erste Annahme ist, daß die meisten IT Projekte Datenbank Projekte sind.

Ich gestehe zu, daß häufig Datenbanken in einer Applikation benötigt werden, aber dies sind dann häufig Grundlagen und nehmen nur einen geringen Teil einer Entwicklung oder Applikation ein. Ja, das Daten Modell muss natürlich passen, aber Sorry, das ist doch ein „no brainer“. Und wenn das Daten Modell im Laufe einer Entwicklung angepasst werden muss, macht man eben eine Migration der Datenbank.
Die Argumentation ist typisch klassisch: Alles muss vorher definiert werden und darf sich nicht mehr ändern. So etwas kann man sich heute nicht mehr leisten.
Eher muss man das Systemdesign so gestalten, daß eine spätere Datenbank Migration machbar ist. Durch diesen Ansatz erreicht man zwei Ziele. Einerseits eine frühzeitige Version der Applikation und die Möglichkeit, auch in der Zukunft mit möglichst geringem Aufwand Änderungen/Weiterentwicklungen an einem System durchführen zu können.

Die zweite Annahme, daß es sehr selten Personen gibt, die genau die Anforderungen verstehen, finde ich auch sehr spannend. Wie will man denn jemals die Kunden bzw. stakeholder zufrieden stellen, wenn man nicht mal weiß, was die wollen? Das ist die originäre Aufgabe eines Product Owners! Und ja, wenn diese Person den Job nicht richtig macht, dann wird das Produkt nicht gut werden. Aber das ist unabhängig von der jeweiligen Project Management Methode.

Annahme Nummer drei ist, dass man einmal das Daten Modell definiert hat und dann nur mehr low code „entwickelt“, sprich konfiguriert. So einfache Arbeiten bzw. so ein tolles framework zu haben, in dem das möglich ist, möchte ich mal sehen. Das funktioniert meiner Ansicht nach nur in einer Umgebung, die sehr stark auf das jeweilige Framework zugeschnitten ist. Und dies bedingt dann auch, dass keine größeren Änderungen mehr durchgeführt werden können. Man ist für „alle“ Zeiten auf das einmal definiert Datenmodell fixiert.

Agil oder klassisches Projekt Management

Ich stimme zu, daß man nicht immer scrum bzw. Agil machen muss. Es kann natürlich auch Sinn machen, klassisches Projekt Management im jeweiligen Projekt anzuwenden. Es gibt keinen Ansatz, der immer richtig ist.

Besonders beim initialen Projekt mit einem neuen Kunden wird man immer das Problem haben, daß der Kunde einen bestimmten minimalen feature Set erwartet. Dies wird inzwischen üblicherweise über die gemeinsame Definition eines MVP realisiert. Und was Teil des MVP ist, und welche Themen später realisiert werden, ist Teil einer Story map.

Phasenmodell bei low-code Entwicklungen
Story map

Die in dem Artikel genannten Phasen kann man natürlich trotzdem haben. Sie können sehr leicht über Sprint Ziele im Rahmen einer Scrum Entwicklung abgebildet werden.

Und das ist aus meiner Sicht auch bei Applikationen sinnvoll, die mit einem low-code Framework arbeiten.

Low-code applikationen

Natürlich entwickelt man mit einem low-code framework wesentlich schneller. Auf der anderen Seite bindet man sich unheimlich stark an das jeweilige framework und grössere kundenspezifische Anpassungen sind meist dann doch nicht mehr so einfach.

D.h. als Kunde muss man sich bewusst sein, dass man entweder mit dem Standard des jeweiligen frameworks zufrieden sein muss, oder dann doch wieder in die klassische Programmierung investieren muss.

Zusammenfassung

Ich kann mir die nicht gut verstandenen, aber starr definierten Applikationen gut vorstellen, die so entstehen. Damit möchte ich als Anwender nicht arbeiten wollen.

Wenn ich mir agile Reifegrade für Unternehmen auf einer Skala vorstelle, ist dieses Unternehmen aus meiner Sicht sehr weit unten.

Das wichtigste dabei ist die richtige Haltung (mindset). Wenn das durch das gesamte Unternehmen nicht passt, wird es für die Umsetzung von Projekten sehr schwer.

https://t2informatik.de/blog/softwareentwicklung/eine-alternative-zu-scrum-bei-auftragsprojekten/

Kategorien
Blog Software

Smart home applications

I have compiled a static page with my current smart home setup describing my smart home applications.

I’m also describing there on a high level the technology used, the devices and the applications.

Smart home applications
Some Smart home devices

Of course you can always discuss, if you really need that. But on the other hand it’s provides a few convenient functions. And as long as these are there in any applications, people will go for it.

Another questions is also, if you have to go with one of the big three service providers. As an alternative you don’t have to use one at all or go with a proprietary solution like picovoice as an NLP solution for managing all your smart home applications.

Kategorien
Blog Software

Voice privacy at home

If you wanna have voice privacy at home and don’t wanna rely on the big mass surveillance companies like Google or amazon, you can.

Just check out the following article which options you have.

Voice privacy at home
Mic

AI is not so special anymore and can be provided on small devices without a connection to the big servers, called Edge AI. And I promise there will be more on the future.

Checkout the company picovoice, for example.

Give the power back to the people! 🙂

https://www.wired.com/story/edge-ai-appliances-privacy-at-home/

Wired
Kategorien
Software

What is agile?

There will always be discussions about „What is agile?“, and here are some nice descriptions. Also giving the circumstance that you have to explain what Agile is, to a person that has no clue e.g. about software development.

What is agile
Agile development circle

https://holub.com/what-is-agile-the-elevator-pitch/

Kategorien
Blog Software

Personalisierte Informationen via Medien

Heute ist es möglich, personalisierte Informationen via Medien selbst zu generieren.

Und das nicht durch Massenmedien wie Facebook oder Instagram. Hinter diesen Applikationen stecken immer Algorithmen, die definieren, was der Nutzer zu sehen bekommt. Und recht häufig sind das ähnliche Inhalte, die er schon mal angesehen hat.

Wer nun aber etwas mehr Aufwand reinsteckt, der kann auf diese Massenmedien verzichten, und sich selbst seine eigenen Medien zusammen stellen.

Für die jeweiligen Typen von Medien gibt es heute die folgenden Varianten. Ein Ziel ist es auch, vom jeweiligen Anbieter unabhängig zu sein, und ein allgemein gültiges Protocoll bzw. Format zu verwenden.

Textuelle Inhalte

Personalisierte Informationen via Medien
RSS logo

Für textuale Inhalte bietet sich die RSS Technologie an.
(Dave Winer, der Erfinder hat auch einen schönen Blog) Alles, was man dazu benötigt, ist ein RSS feed Reader wie z. B. feedly.

Die meisten web Seiten bieten inzwischen einen RSS feed an. Man gibt dazu dann diese URL in den Feed Reeder ein, und damit erhält man dann innerhalb des Feed Readers die neuen Beiträge.

Das heisst, man kann hier seine eigene virtuelle „Zeitung“ zusammenstellen.

Das RSS Format ist nicht nur für Text geeignet, sonder auch für Audio und Video Inhalte.

Audio Inhalte

Podcasts sind aktuell total im Trend. Bei Podcasts ist es so ähnlich wie mit einem Feed Reader. Man macht eine subscrition zu einem Podcast feed, und wir dann über neue Beiträge in diesem Feed informiert.

Ein bekanntes Tool dafür ist Pocketcasts. Damit kann man die neuen Beiträge auch auf das Handy herunterladen und ist dann unabhängig von einem Mobilfunk Netz.

Anhören geht natürlich über das Handy, aber auch über ein Android Auto oder Apple Car play kompatibles Gerät in einem Auto.

Video Inhalte

Eigentlich kann man das technische RSS Format auch für Videos verwenden, aber aktuell habe ich noch nicht viele Seiten gefunden, die die Videos in diesem Format bereitstellen.

Vermutlich sind die Plattformen aktuell zu dominant und bieten auch zu viele Features.

PocketCasts kann auch Video Inhalte bereit stellen.

Natürlich kann man sich z.B. auf youtube Abos zusammenstellen, aber diese sind dann nur im Rahmen von youtube verfügbar.

Zusammenfassung

Einer der besten Player um personalisierte Informationen via Medien für Audio und Video zu bekommen ist aus meiner Sicht Pocketcasts. Er steht für alle gängigen Plattformen (Android, IOS, Sonos, Alexa, Smart Watches, Chromecast,…) zur Verfügung, basiert auf dem RSS Protokoll und synchronisiert über alle Geräte.