Kotlin erfolgreich einführen

Herausforderungen und Tipps für die Einführung in Projekten, Teams und Organisationen

Kotlin erfreut sich immer größerer Beliebtheit und bietet für Sie und Ihr Unternehmen zahlreiche Vorteile. In der Praxis gibt es allerdings einige Fallstricke und Hürden zu meistern, um eine erfolgreiche Einführung von Kotlin in Ihrem Projekt, Ihrem Team oder sogar Ihrer Organisation zu gewährleisten.

Unser Kotlin-Experte André Diermann benennt die Herausforderungen und gibt praktische Tipps für eine erfolgreiche Transition beziehungsweise Migration. Gute Gründe, warum Sie Kotlin überhaupt einführen sollten, finden Sie in unserem Beitrag über die Kotlin Vorteile.

Einführung Kotlin

Herausforderungen bei der Kotlin-Einführung

Die Herausforderung einer Kotlin-Einführung sind sehr individuell, da sie von verschiedenen, situativen Faktoren – wie die Größe Ihres Entwicklungsteams, die Art Ihrer Organisation oder Ihres Projekts sowie Ihrer aktuell eingesetzten Technologien – abhängen. Gerne können wir diese übrigens gemeinsam mit Ihnen ermitteln und eine individuelle Strategie für Sie entwickeln. Bei verschiedenen Kotlin-Transitionen beziehungsweise Migration in unterschiedlichen Kontexten konnten wir jedoch die folgenden Herausforderungen wiederkehrend erkennen:

Icon Entscheidung Animation

Falsche Erwartungen

Achtung: Kotlin ist eine Programmiersprache und kein Wundermittel. Die Einführung von Kotlin löst keine prozessualen oder organisatorischen Probleme. Bestehende Probleme wie inadäquate Architektur, unzureichende Anforderungen oder schlechtes Produktdesign können durch den Änderungsprozess sogar noch verstärkt werden. Darum gibt es durchaus Fälle, wo der Einsatz von, beziehungsweise der Umstieg auf Kotlin keine gute Entscheidung ist. Eine Kotlin Einführung bietet vielmehr das Potential, die Motivation der Entwickler zu erhöhen, die Entwicklung insgesamt effektiver zu gestalten sowie Impulse für weitere Veränderungen zu schaffen. Wichtig ist: Kotlin sollte nie zum Selbstzweck eingeführt werden. Was ist Ihr konkreter Anwendungsfall?

Icon Struktur Animation

Unvorbereitete Infrastruktur

Auch wenn Kotlin beispielsweise 100 % interoperabel zu Java ist, haben wir die Erfahrung gemacht, dass Ihre Entwicklungs- und Build-Infrastruktur mitunter doch einer adäquaten Vorbereitung unterzogen werden sollte. Fragen in diesem Zusammenhang sind zum Beispiel, ob die bisher eingesetzten Tools Kotlin vollständig unterstützen. Sind zusätzliche Plugins oder Lizenzen notwendig? Müssen dedizierte Tools für Kotlin evaluiert werden? Mittlerweile unterstützen viele Tools Kotlin, insbesondere wenn Sie bereits Java nutzen. Allerdings steckt auch hierbei der Teufel sprichwörtlich im Detail, denn eventuell sind noch individuelle Konfigurationen erforderlich. Wichtig ist, Ihre Infrastruktur zeitlich vor einem potentiellen Entwicklungsbeginn zu prüfen und gegebenenfalls anzupassen. Das wird leider häufig übersehen.

Icon Prototyping Animation

Falsche Verwendung

Kotlins Syntax ist sehr vielfältig. Ein Problem kann so auf unterschiedliche Arten gelöst werden. Nicht alle syntaktisch korrekten Varianten berücksichtigen dabei jedoch fortgeschrittene Sprachkonstrukte, die wiederum den Charme und die Mächtigkeit der Programmiersprache ausmachen. Ihre Entwickler werden – und das ist völlig normal – nicht von Anfang an den perfekten Kotlin-Code schreiben. Wichtig ist, hierbei nicht dem trügerischen Irrglauben zu unterliegen, nach kurzer Zeit der Kotlin-Entwickler schlechthin zu sein, nur weil der Compiler nicht mehr meckert. Schaffen Sie daher unbedingt Rahmenbedingungen, die eine andauernde Neugier und einen Austausch fördern. Nutzen Sie gerade zu Beginn das Wissen erfahrener oder auch externer Experten, um beispielsweise Key Developer zu begleiten, die wiederum andere Entwickler coachen können. Ein Fahranfänger lernt schließlich auch am besten von einem erfahrenen Fahrlehrer und nicht von einem anderen Fahrschüler. Sprechen Sie uns hierzu gerne an, unsere Kotlin-Experten helfen Ihnen gerne.

Icon Analyse Animation

Mangelnde Planung

Sehr gut: die Entscheidung Kotlin einzuführen ist gefallen. Und nun? Folgende Aussagen sind uns dazu bereits begegnet: „Das klären die Entwickler unter sich“, „Das kann jedes Projekt für sich selbst entscheiden“ oder „Das nutzen wir einfach ab dem nächsten Sprint“. Bei solchen Aussagen ist Vorsicht geboten, denn die Einführung einer neuen Technologie ist ein Änderungsprozess, der evaluiert, geplant und gesteuert werden muss. Treffen Sie darum bereits vorher erforderliche Maßnahmen. Bitte haben Sie auch im Blick, dass hier eine multiperspektivische Herangehensweise erforderlich ist. Neben der Entwicklung sind hier unter anderem auch IT-Operations, die Projektleitung, das Produktmanagement, aber gegebenenfalls auch HR sowie Recruiting mit einzubeziehen.

Icon Feedback Animation

Fehlendes Schulungskonzept

Wie können alle Beteiligten bestmöglich geschult werden? Dazu sind verschiedene Fragen jeweils individuell zu beantworten. Einige der wichtigsten Fragen sind:

  • Wie sollte die Schulung durchgeführt werden? (On-Site/Online, interner/externer Trainer, …)
  • Welches Format sollte die Schulung haben? (Live, Aufgezeichnet, Blended Learning, …)
  • Welches Medium sollte die Schulung haben? (Buch, Videokurs, Training, …)
  • Wie lange sollte die Schulung dauern? (2 Tage, 5 Tage, On-the-Job, …)
  • Wer sollte überhaupt geschult werden? (Alle, Key-User, auch Nicht-Entwickler, …)
Icon Beratung

Unzureichende Kommunikation

Dies gilt für Änderungsprozesse allgemein und betrifft somit auch Ihre Kotlin-Einführung: Beziehen Sie alle Beteiligten frühzeitig mit ein. Schaffen Sie Transparenz und ein gemeinsames Commitment. Entscheidungen „per Order Mufti“ wären hier das falsche Signal und führen häufig zu „Ich habe es euch doch gesagt“-Antihaltungs-Attitüden. Freiräume für eine faire und ergebnisoffene Betrachtung Ihrer individuellen Situation sind wichtig. Falls Kotlin für Sie die richtige Wahl ist, werden die Beteiligten auch zu diesem Schluss kommen. Falls nicht, ist schon der Prozess, selbst zu dieser Erkenntnis gekommen zu sein, einiges Wert.

Icon Website

Gewachsene Codebasen

Die oft zitierte Aussage „never change a running system“ stellt hier eine falsche Annahme dar. IT-Systeme haben in der Regel eine Entwicklungszeit von unter einem Jahr und eine Betriebszeit von über fünf Jahren. Die Möglichkeiten für effizientere Entwicklung, beziehungsweise Wartung, sollten daher nie pauschal ausgeschlossen werden. Auch über Jahre gewachsene Codebasen sind per se kein Showstopper, um Kotlin einzuführen. Softwarearchitektonische Ansätze wie Microservices oder Module erlauben problemlos den Einsatz unterschiedlicher Technologien und Programmiersprachen. Eine erfolgreiche Strategie kann in diesem Zusammenhang durchaus sein, neue Funktionalitäten in Kotlin zu implementieren, wohingegen bereits bestehende Funktionalitäten zunächst unangetastet bleiben. Die konkrete Herausforderung dieses Aspekts besteht schließlich darin, dass gewachsene Codebasen eine detaillierte Betrachtung erfordern, wo ein geeigneter Ansatzpunkt für eine Migration ist.

Transition und Migration

Wie zuvor beschrieben, ist die Kotlin-Einführung ein Änderungsprozess, der evaluiert, geplant und gesteuert werden muss. Die folgenden sechs Schritte stellen in diesem Zusammenhang ein pragmatisches Vorgehen dar:

Kotlin einführen Prozess

Analyse

Icon Standpunkt

Ausgangssituation analysieren

Das Ergebnis dieses Schrittes ist eine abgewogene und reflektierte Liste an Pro- und Contra-Argumenten, die als Grundlage für eine

strukturierte Diskussion mit Ihren beteiligten Stakeholdern dient. Folgende Fragestellungen sind dafür in diesem Schritt zu betrachten:

  • Welchen konkreten Mehrwert bietet Ihnen der Einsatz von Kotlin?
    • Welche bisherigen Probleme sollen damit adressiert werden?
    • Kann Kotlin diese Probleme auch wirklich lösen?
  • Welche konkreten Parameter müssen bei einer Einführung berücksichtigt werden?
    • Wie viele Projekte / Personen / Zeilen Code sind von der Einführung betroffen?
    • Welche technischen, zeitlichen und organisatorischen Restriktionen sind zu berücksichtigen?
  • Wie beurteilen Sie selbst den Nutzen im Verhältnis zum Aufwand?
Icon Profil Animation

Stakeholder-Commitment schaffen

Der Diskurs mit Stakeholdern ist ein wichtiger Prozess, der Ihnen dabei hilft, Ihr Verständnis bezüglich der Kotlin-Einführung zu schärfen. Bitte betrachten Sie ihn daher nicht als „notwendiges Übel“, sondern vielmehr als wertstiftendes Sparring. Jede kritische Nachfrage ist ein wichtiger Aspekt, den Sie nicht bedacht haben. In diesem Schritt ist zu klären, wer Ihre relevanten Stakeholder sind und welchen individuellen Benefit Kotlin dem jeweiligen Stakeholder bietet.

Mögliche Stakeholder sind in diesem Zusammenhang beispielsweise Mitarbeiter, Productmanager, Projektleiter oder die Geschäftsführung. Mögliche Benefits sind unter anderem Spaß, Motivation, Effizienz, Qualität, Wartbarkeit sowie die Attraktivität als Arbeitgeber. Das Ergebnis dieses Schrittes können Entscheidungen, Feedback für weitere Analysen, Input für die Planung oder das Commitment der Stakeholder sein.

Icon Prozesse

Transition/Migration planen

Ein wichtiger Input für diesen Schritt sind die Ergebnisse der Analyse der Ausgangssituation, denn diese beantworten die Frage, wo Sie sich technologisch und organisatorisch zurzeit befinden und wo Sie mithilfe der Kotlin-Einführung hinmöchten. Start und Ziel sind also klar – der Sinn dieses Schrittes ist folglich, den Weg festzulegen. Die Planung eines konkreten Weges ist im Rahmen dieses Beitrags schwierig darzustellen, da sie – Sie ahnen es – ebenfalls höchst individuell ist. Nichtsdestotrotz stellt folgende prägnante Checkliste einen pragmatischen Leitfaden dar, der eine gute Orientierung in diesem Zusammenhang gibt:

  • Ziel transparent an alle Beteiligte kommunizieren
  • Rahmenbedingungen transparent an alle Beteiligte kommunizieren
  • Freiräume für individuelle Zielerreichung schaffen
  • Einen zentralen Ansprechpartner wählen

Wie zuvor bereits erwähnt, sind Beteiligte hier nicht nur Ihre Entwicklungsteams oder Ihre Projektleitung. Vielmehr sind mindestens auch Administratoren, DevOps, Personalreferenten, Weiterbildungsreferenten, HR, Recruiting und Marketing mit einzubeziehen, damit Ihre Einführung auch unternehmensweit erfolgreich gelingt.

Vorbereitung

Icon Struktur Animation

Infrastruktur vorbereiten

Idealerweise unterstützen viele Tools die Programmiersprache Kotlin mittlerweile sehr gut. Dennoch kann es erforderlich sein, dass Sie noch sprachspezifische Einstellungen, Profile oder Regeln definieren und anpassen müssen. Unter Umständen müssen für einige Tools auch noch spezielle Lizenzen erworben werden. Dieser Schritt ist an dieser Stelle explizit erwähnt, da er mitunter so trivial zu sein scheint, dass er dazu neigt, häufig übersehen zu werden.

Alle Stakeholder sind überzeugt, alle Entwickler geschult sowie hoch motiviert und dann baut Ihre Build-Pipeline nicht mehr oder Ihr Qualitygate weist jede Änderung zurück. Dadurch kann Ihrem Vorhaben sehr viel positiver Schwung genommen werden. Damit Ihnen das nicht passiert, sollten Sie diesen Schritt vorbereitend erledigen. Beispielweise eignen sich einige von Umfang und Komplexität her aussagekräftige Referenzprojekte, die parallel zum operativen Betrieb im Hintergrund evaluiert werden können. Handhabt Ihre Infrastruktur diese Projekte problemlos, können weitere Projekte sukzessiv umgestellt werden.

Icon Feedback Animation

Schulungen durchführen

Kotlin ist eine simple wie auch vielfältige Programmiersprache. Damit Sie alle Vorteile direkt von Beginn an effektiv nutzen, sind vorbereitende und zielgerichtete Schulungen essenziell. In den vergangenen Jahren hat sich unserer Erfahrung nach gezeigt, dass ein kombinierter Ansatz aus den folgenden Bausteinen erfolgreich ist:

  • Ein-/zweitägige Crashkurse in kleinen Teams vermitteln Grundlagen und schaffen ein theoretisches Fundament
  • Training-on-the-Job für einen schnellen Transfer der gelernten Theorie auf die betriebliche Praxis
  • Begleitung durch „Key-Developer” für dediziertes Feedback und Hands-on-Learning während der Training-on-the-Job-Phase.

Key-Developer sind externe oder interne (Train-the-Trainer) Kotlin-erfahrene Entwickler, die insbesondere die Feinheiten der Sprache sehr gut kennen und diese anderen gut vermitteln können.

Nutzung

Icon Animation Testing

Kotlin nutzen

Die Grundannahme dieses Schrittes ist „Probieren geht über Studieren“. Insbesondere zu Beginn der Kotlin-Nutzung findet ein starker Erkenntniszugewinn statt, weshalb neben dem zuvor genannten, strukturierten Vorgehen im Sinne eines kombinierten Top-Down-Bottom-Up-Ansatzes tatsächlich auch einfach so früh wie möglich mit der Nutzung begonnen werden sollte.

Schaffen Sie daher Freiräume zum Erforschen und Teilen von Wissen. Seien Sie nicht überrascht, die Lernkurve von Kotlin ist erfahrungsgemäß sehr steil, was häufig zu der trügerischen Annahme führt, Kotlin schnell komplett verstanden zu haben. Das ist leider ein Trugschluss. Wichtig ist, neugierig zu bleiben. Die Nutzung sollte daher keinesfalls als Abschluss der Einführung verstanden werden, sondern vielmehr als iterativer Prozess. Sorgen Sie darum für die Etablierung einer projekt- und teamübergreifenden, offenen Austausch- und Feedback-Kultur.

Fazit

Kotlin hat enormes Potential und bekommt bei Entwicklern immer mehr Zuspruch. Die Einführung hat daher einen positiven Einfluss – sowohl auf die Motivation Ihrer Entwicklungsteams als auch auf Ihre Attraktivität als Arbeitgeber. Eine erfolgreiche Einführung muss allerdings wohldurchdacht und geplant sein. Wir nutzen Kotlin selbst bereits seit mehreren Jahren und haben die Sprache auch bei verschiedenen Kunden erfolgreich etabliert. Sprechen Sie uns an, gerne begleiten wir auch Ihre Einführung.

Kotlin Vorteile

5 gute Gründe für die Einführung von Kotlin
Programmiersprache Kotlin

Kontaktieren Sie uns

Sie sind auf der Suche nach einem Dienstleister für Web- oder App-Entwicklung oder einem Partner, der Sie bei der Einführung von Kotlin unterstützt? Dann kontaktieren Sie uns!

Kontaktformular Nachricht
Mit * gekennzeichnete Felder sind Pflicht.
Zustimmung zum Datenschutz *
Ich bin damit einverstanden, dass die adesso mobile solutions GmbH die von mir angegebenen personenbezogenen Daten zur Marketing- und/oder Werbeansprache per E-Mail und Telefon verwenden darf. Benachrichtigungen können Sie jederzeit wieder abbestellen. Weitere Informationen finden Sie in unserer Datenschutzerklärung.
adesso mobile-Newsletter
Menü
×
Telefon

Sie sind auf der Suche nach einem Experten im Bereich App-Entwicklung? Wir freuen uns auf Ihre Nachricht!

+49 231 99953850
×