LowCode Workshop DigiWoh + KIWI_23.1.2024
KIWI – Opening Doors
Low Code Workshop gemeinsam mit DigiWoh
- Januar 2024
Willkommen zum ersten und Low Code Workshop
Es geht in wenigen Minuten los.
1 Bitte entscheiden Sie sich in der Zeit schon mal für Ihre Breakout-Gruppe.
Raum 1
Low Code in der DigiWoh - Das Beispiel PropTech Search und Arbeiten mit Partnern für die Low-Code-Entwicklung - und die Rolle der DigiWoh als Wissenspartner für die Wowi rund um Low Code.
Raum 2
Moderation Timo Wanke, Geschäftsstelle DigiWoh und Referat Digitalisierung GdW
Raum 3
Low Code vs. “echter” Code: Beides ist wichtig - es kommt auf den use case an.
Moderation Dr.-Ing. Florian Merz, Leiter Produkt und Engineering KIWI
Low Code in der Praxis: Von den ersten Schritten bis zu Experten-Fragen am Beispiel von zwei internen KIWI Low Code Apps
Moderation Kateryna Kravchenko, Junior Operations Manager KIWI
Tragen Sie Ihren Wunschraum bitte in 2 das Nachrichtenfeld ganz unten rechts auf dem Bildschirm ein
Agenda
| Was | Wo | Wer |
|---|---|---|
| 10:00:Willkommen | Main Room | Timo Wanke und Karsten Nölling |
| 10:10:Low Code vs.“echter”Code | “ | Dr.-Ing.Florian Merz |
| 10:25:Low Code in der Praxis am Beispiel KIWI | “ | Kateryna Kravchenko |
| 10:40:Start Breakouts | Breakouts | |
| a. Low Code in der DigiWoh | “ | Timo Wanke |
| b. Low Code vs.“echter”Code | “ | Dr.-Ing.Florian Merz |
| c. Low Code in der Praxis | “ | Kateryna Kravchenke |
| 11:15:Zusammenfassung der Breakout | Main Room | 10Min je Team(Teilnehmer*innen) |
| 11:45:Zusammenfassung und Verabschiedung | “ | Timo Wanke und Karsten Nölling |
| 12:00:Ende | “ |
Wo
KIWI – Opening Doors
Low Code Workshop gemeinsam mit DigiWoh
Der Unterschied von Low Code zu “echtem” Code
23.1.2024
Über mich
● Studium der Informatik mit Nebenfach Medizin, Tübingen
● Dissertation zum Thema “Theory and Implementation of Software Bounded Model Checking” am Institut für theoretischen Informatik des KIT, Karlsruhe
● Parallel dazu: Mitgründer von QPR Technologies
● Ab 2017 im Bereich Internet der Dinge (IoT) tätig, zuletzt CTO bei SmartMakers, Karlsruhe
● Head of Product and Engineering, seit Oktober 2022 bei KIWI.KI
● Was ich nicht bin: Experte für Low Code / No Code Plattformen
Was ist No Code? Was ist Low Code?
Der Begriff No-Code-Plattform [..] beschreibt eine Entwicklungsumgebung für Software, welche es Entwicklern und anderen Berufsgruppen ermöglicht, Anwendungssoftware über grafische Benutzeroberflächen und Konfiguration anstelle der herkömmlichen Programmierung zu erstellen.
– Wikipedia
Arten von Low Code / No Code Plattformen
● Application Builders: e.g. Google AppSheets
● Business Intelligence: Power BI
● Database Tools: e.g. Airtable
● Design and Prototyping: e.g. Figma, Adobe XD
● Website Builders: Wix, Squarespace, Jimdo
● Workflow Automation: e.g. make.com, Power Automate
● und viele mehr
Vorteile von Low Code / No Code
● Autonomie der Fachabteilungen / Teams
● Lean Management: Geschäftsprozess leichtgewichtig anpassen
● Automatisierung, auch von Prozesses die ansonsten einfach nie automatisiert werden würden
8
Nachteile von No Code / Low Code
● Gefahr für Schatten-IT und Insellösungen
● Anbieter-Lock-in, da häufig proprietär
● Gefahr von “Sackgassen” aufgrund fehlender Features
● Oft unklare Security, Compliance & DSGVO-Konformität
● Sackgassen in der Entwicklung aufgrund fehlender Features und schlechter Skalierbarkeit der Prozesse
Umfrage
Wer nutzt bereits Low Code / No Code?
100%
aller Unternehmen nutzen bereits Low Code / No Code
Beweis durch Excel
| Oper | Description | Supplier | Ordered | Invoiced |
|---|---|---|---|---|
| MJ | carton additive | THOMAS S | 144 | 50 |
| MJ | ink for May | MANNERS | 291.53 | 50 |
| PA | Air Release Label | DALTONS | 3415.27 | |
| MJ | Engineering | ATTWOODS | 2525.89 | 1936.77 |
| MJ | F1 belting 120mm | GGC LTD | 609.94 | |
| PA | Eatlight pockets | STEVENS | 196.87 | 234.1 |
| MJ | Methylated Spirits | OCI(NZ) | 457.38 | 457.38 |
| MJ | 3/4" BS Chain | SGB LTD | 300.15 | 300.15 |
| MJ | Waste and water | WATER IS US | 6537 | 6537 |
| DJ | Freight | FREIGHT 4 U | 21.9 | 21.9 |
| DP | plant hire | HIRE PLANTS | 60.94 | 60.94 |
| DP | frame by frame | FRAMERS | 1217.25 | 1217.25 |
| MJ | Aluminum Rod 20mm | BENNETS | 91.91 | 91.91 |
| DP | photocopier | COPYCENTRE | 292.5 | 292.5 |
| SB | May cleaning | S ALLY | 4837.5 | 4837.5 |
| DP | phone account MJ | TELECOM | 40.77 | 40.77 |
| 2852 | 2852 | COBYCENTRE | photocopier | D9 | 18 | ||
|---|---|---|---|---|---|---|---|
| 4833.2 | 4833.2 | 2 ALLY | May cleaning | 28 | 17 | ||
| 40.0 | 40.0 | TEJECOM | TEJECOM | phone account MU | D9 | 18 |
● Programmierkenntnisse sind nicht notwendig
● Ein Spreadsheet ist im Grunde auch nur eine Datenbank
● Programmieren ist mit Visual Basic möglich
● Erlaubt Formulare zu erstellen
● Kann Netzwerkverbindungen aufbauen
Schlussfolgerung:
● Excel ist eine Low Code Plattform
“Excel ist doch keine No Code / Low Code Plattform!”
● Es wurde nicht als Low Code Plattform gebaut
● Es ist kein Software-as-a-Service Angebot
● Es hat kein Nutzer- und Berechtigungsmanagement
● Es hat keine Features für Kollaboration
● Es ist nur eingeschränkt in andere Systeme integrierbar
● Es skaliert nicht
Also sollte man Low Code / No Code nutzen?
Exkursion:
Infrastructure as Code
Exkursion: Infrastructure as Code (IaC)
Bei Infrastructure as Code, oder kurz IaC, handelt es sich um ein IT-Paradigma, demgemäß nicht nur Software, sondern auch die zur Ausführung benötigte Infrastruktur wie Speicherplatz (Storage), Rechenpower oder Netzwerkressourcen in Computersprache beschrieben wird.
– ionos.de
Wie sieht Infrastructure as Code aus?
Statt Point-and-click …
… lieber programmieren!
Yes Code!
Ist Infrastructure as Code quasi das genau Gegenteil zu No Code?
Die Vorteile von “Yes Code”
● Über Jahrzehnte etablierte Prozesse, Vorgehensweise & Werkzeuge
● Qualitätssicherung:
○ Code Reviews
○ Unit Tests, Integration Tests, Acceptance Tests, etc.
● Versionsverwaltung: Traceability von Code-Änderungen
● Auf Code-Ebene:
○ Strukturierung und Modularisierung
○ Kommentare
○ Navigierbarkeit
○ Toolbasiertes Refactoring
Development Tools sind Power Tools
Bitte keinen Softwareentwickler Low Code / No Code zu nutzen
Was Sie sehen:
Was ein Entwickler sieht:
Also nochmal:
Sollte man Low Code / No Code nutzen?
Die Frage ist nicht ob, die Frage ist wann und wie
Wann?
● In Projekten:
○ Inhaltlich klar abgegrenzt
○ Zeitliche klar begrenzt
○ “Klein & überschaubar”
○ Fachlich motiviert
● Nicht jedoch:
○ Bpw. in der Produktentwicklung
○ als scheinbar billigen Ersatz für Softwareentwicklung
○ Für Anwendungen die intensive und kontinuierliche Wartung und Anpassung erfordern
Wie?
● In autonomen Fachabteilungen und verantwortet durch ebendiese
● Mit Unterstützung eines No Code -Kompetenzzentrum “auf dem Beifahrersitz”
● Mit sorgfältig, zentral ausgewählten und qualifizierten Tools und Plattformen
● Nicht jedoch:
○ Ohne Fachabteilung
○ Ohne IT-Abteilung
KIWI – Opening Doors
Low Code Workshop gemeinsam mit DigiWoh
Der Unterschied von Low Code zu “echtem” Code
23.1.2024
KIWI – Opening Doors
Low Code Workshop gemeinsam mit DigiWoh
Erfahrungen von KIWI - Praxisbeispiele
23.1.2024
Zwei Beispiele der No-Code App Anwendung bei KIWI Operations
Beispiel 1: interne Nutzung
● Zweck: Dokumentation der Monteure
● Anwendungsfall: Abnahmeprotokoll
● Nutzer: Kiwi Monteure
Beispiel 2: externe Nutzung
● Zweck: Türdaten erfassen und an Kiwi schicken
● Anwendungsfall: Aufmaßformular
● Nutzer: Kund*innen
Beispiel 1: Entwicklung zur Dokumentation der Monteure
PDF-Datei (ca. 2020)
| Die Abnahme umfasst folgende Punkte | ||
|---|---|---|
| 3x erfolgreiche Öffnung mit dem KIWI Transponder | 3x erfolgreiche Öffnung mit der KIWI App oder über das KIWI Portal | 3x Verschluss und Öffnung der Tür von der Innenseite |
| Türname | Etage | Produkt | Mängel-frei | Notizen |
|---|---|---|---|---|
| □ SE □ KN □ KL □ SF □ SD | □ | |||
| □ SE □ KN □ KL □ SF □ SD | □ | |||
| □ SE □ KN □ KL □ SF □ SD | □ | |||
| □ SE □ KN □ KL □ SF □ SD | □ | |||
| □ SE □ KN □ KL □ SF □ SD | □ | |||
| □ SE □ KN □ KL □ SF □ SD | □ | |||
| □ SE □ KN □ KL □ SF □ SD | □ |
| Wurden bei der Abnahme Mängel festgestellt? |
|---|
| ja main |
| Falls ja, bitte erläutern: |
Google Sheets (ca. 2021)
| Kunden/Firmennamen | Objekt/Adresse | Transponder | |||
|---|---|---|---|---|---|
| Die Abnahme umfasst folgende Punkte | |||||
| ☐ | ☐ | ☐ | |||
| 3x erfolgreich mit TR Öffnen | 3x erfolgreich mit App / Portal | 1x Verschluss und Öffnung der Türen von der Innenseite | |||
| Türnamen | Etage | Produkt | Mängelfrei | Notizen | |
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| ☐ | |||||
| Legende: SE=KIWI SmartEntry , KN= Knauf, KL= Klinke, SF=KIWI Safe, SD=SmartDoor | |||||
| Wurden bei der Abnahme Mängel festgestellt ? | |||||
| ☐ | Ja | ☐ | Nein | ||
| Ort / Datum | Kundenname in Klarschrift | Unterschrift Kunde | Unterschrift Monteur |
“Admin-App” (seit 2021)
AppSheet
● AppSheet ist eine Anwendung, die eine No-Code-Entwicklungsplattform für Anwendungssoftware bereitstellt, mit der Benutzer Mobil-, Tablet- und Webanwendungen erstellen können.
● Datenquellen: Google Drive, DropBox, Office 365 und andere cloudbasierte Tabellenkalkulations- und Datenbankplattformen.
● Geschäftsanwendungsfälle: Projektmanagement, Customer Relationship Management, personalisierte Berichte usw.
● Kann sowohl im Browser benutzt werden, als auch heruntergeladen werden
● AppSheet wurde im Januar 2020 von Google übernommen.
AppSheet
„AppSheet gibt Nicht-Entwicklern die Möglichkeit, sofort leistungsstarke mobile Apps zu erstellen. Jeder, der eine Tabellenkalkulation erstellen kann, kann eine mobile App erstellen. Es ist schnell, einfach und erschwinglich. Sie müssen kein Entwickler sein. Meine Mutter kann es tun, meine Kinder können es tun. Eine Milliarde Menschen können es schaffen.“
- AppSheet CEO Praveen Seshadri
AppSheet
● Basis - Google Sheets (Excel von Google)
○ Jedes Feld in der App -> Spalte in Google Sheets
| | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 1 | AufRowID | Aufmaß_ID | Ifd. Numn | street | postal_ | city | state | country | organization | Position | hardware_ | flc | door_nu | specifier | Monteur_email | | 2 | 111 | 301 | 1 | Teststr. 1 | 10000 | Berlin | Berlin | Deutschland | Test Orga | 00.01 | HANDLE | 1 | 1 | Klinke | | 3 | 112 | 301 | 2 | Teststr. 1 | 10000 | Berlin | Berlin | Deutschland | Test Orga | 00.02 | KNOB | 1 | 2 | Knauf |
| NAME | TYPE | KEY? | LABEL? | FORMULA | SHOW? | EDITABLE? | REQUIRE? | INITIAL VALUE | DISPLAY NAME | DESCRIPTION | SEARCH? | SCAN? | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | _RowNumber | Number | □ | □ | = | □ | □ | ✓ | = | = | = Number of this row | □ | □ |
| 2 | AufRowID | Text | ✓ | □ | = | □ | ✓ | ✓ | = uniqueid() | = | = | □ | □ |
| 3 | Aufmaß_ID | Ref | □ | □ | = | ✓ | ✓ | □ | = | = | = | ✓ | □ |
| 4 | ifd. Nummer | Text | □ | □ | = | ✓ | ✓ | □ | = | = | = | ✓ | □ |
| 5 | street | Text | □ | □ | = | ✓ | = NC | × | □ | [Aufmaß_ID].[Adresse] | = Adresse | = | ✓ |
| 6 | postal_code | Text | □ | □ | = | ✓ | □ | □ | = | = | = | □ | □ |
| 7 | city | Text | □ | □ | = | ✓ | □ | □ | = | = | = | ✓ | □ |
| 8 | state | Text | □ | □ | = | □ | □ | □ | = | = | = | □ | □ |
| 9 | country | Text | □ | □ | = | □ | □ | □ | = | = | = | □ | □ |
| 10 | organization | Text | □ | ✓ | = | ✓ | □ | ✓ | = [Aufmaß_ID].[Kunde] | = "Kunden-/Firmenname" | = | ✓ | □ |
| 11 | Position | Text | □ | □ | = | ✓ | □ | □ | = | = | = | ✓ | □ |
| 12 | hardware_product | Enum | □ | □ | = | □ | □ | □ | = | = "Kiwi-Hardware" | = | □ | □ |
AppSheet
● Feldeinstellungen
| Aufmaß : Kategorie | |
|---|---|
| type: Enum | Done |
| Column name | Kategorie |
| Should match the column name in the data source | Go to display options |
| Show? | □ |
| Is this column visible in the app? You can also provide a 'Show_if' expression to decide. | |
| Type | Enum |
| Column data type | |
| Type Details | |
| Values | Smart LockSmart EntrySE HybridGatewayAdd |
| Allow other values | □ |
| Auto-complete other values | ✓ |
| Base type | Text |
| Input mode | Auto Buttons Stack Dropdown |
| Data Validity | |
|---|---|
| Valid If Does the column contain valid data? | = |
| Invalid value error Error message when the value is not valid. | = |
| Require? Are users required to fill in this column before saving a row? You can also provide a 'Required_If' expression to decide. | = |
| Auto Compute | |
| App formula Compute the value for this column instead of allowing user input. | = |
| Initial value The default starting value for this column. | = |
| Suggested values An optional expression with a list of suggested values for this column. | = |
| Spreadsheet formula Generated from your spreadsheet. Gets applied during sync. |
Beispiel 2: KIWI Aufmaß-App für Kund*innen
Übersicht aller aufzumessenden Türen
Allgemeine Informationen über die Tür aufnehmen, wie z.B. Brandschutz
Fotos von Türen machen
Maße für KIWI-Knauf aufnehmen
Maße für KIWI-Klinke
aufnehmen
Aufmaßdaten mit einem Klick direkt an KIWI schicken
Beispiel 2: KIWI Aufmaß-App für Kund*innen
KIWI – Opening Doors
Low Code Workshop gemeinsam mit DigiWoh
Erfahrungen von KIWI - Praxisbeispiele
23.1.2024
● kiwi.ki/newsletter-anmeldung/