KubikPixel ✍️

I'm a ☕ loving Web & App developer with 3D experience and a FLOSS Geek with a Punk attitude.

Ich wurde von euch auf älteren Beiträgen immer wieder angesprochen warum ich für mein dApp denn auf Ethereum setzte, es gebe ja noch andere Technologien die sogar noch mehr Vorteile mit sich bringen würden. Dies möchte ich gerne in diesem Artikel näher beleuchten.

Blockchain Ethereum DevelopmentBlockchain Ethereum Development

Kriterien

Als erstes möchte ich euch gerne hier aufführen, nach welchen Kriterien ich den die Technologie für ein neues Projekt auswähle. Es ist nicht immer sinnvoll auf das neuste und gehypteste aufzuspringen, da kann man schnell dem Marketing auf dem Leim gehen und auf das falsche Pferd setzten. Dazu sind maßgeblich die folgenden zehn Punkte kurz zusammengefasst.

  • Für was ist die Technologie gedacht und wo wird diese eingesetzt?
  • Ist die Technologie gut dokumentiert und dies frei zugänglich?
  • Kann ich die Technologie leicht erlernen?
  • Kann ich die Technologie in bereits andere bestehende einbinden?
  • Wie lange gibt es diese Technologie und wie ausgereift ist diese?
  • Wird die Technologie aktiv weiter entwickelt und wie stark?
  • Wer steht hinter der Technologie und wie ist deren Representation?
  • Finde ich ähnliche Anwendungsfälle wie mein Projekt, die bereits umgesetzt wurden mit dieser Technologie?
  • Wie ist und welche grösse hat die Community rund um die Technologie?
  • Ist die Technologie einfach und günstig für Entwickler und User zugänglich?

Entscheidung

Wenn ich so gut wie alle diese zehn Fragen positiv beantworten kann, dann ist diese Technologie die richtige mit der ich auch ein Projekt starten kann. Das hat bei mir ergeben, dass ich auf Ethereum oder besser gesagt auf Solidity mit Web3 setze. Da ich schon Erfahrung habe mit der Webentwicklung (JavaScript) ist da der logische Schritt auf Ethereum mit einer Web basierten dApp zu setzten.

Da wird sicher der eine oder anderer zu recht einwerfen, was denn mit der Skalierung der Blockchain sei und deren Geschwindigkeit? CryptoKitties hatte die Grenzen von Ethereum aufgezeigt doch diese werden sich verschieben. Mit Ethereum 2.0 und die Umstellung auf PoS (Proof of Stake) wird das ganze wieder anders aussehen und ich bin dem positiv eingestellt. Dies ist unter anderem auch ein Grund warum ich momentan auf Ethereum setzte.

Fazit

Es gibt noch andere Blockchain Projekte, die auf Solidity aufbauen doch die sind nach meiner Recherche nicht zu empfehlen wie Ethereum und darum habe ich mich dafür entschieden. Die große und hilfsbereite Community war ein weiterer Ausschlag gebender Punkt dafür. Wie seht ihr das oder hättet ihr anders entschieden oder gar anders vorgegangen?

(Dieser Artikel erschien zuerst auf Steemit)

Ich bin ein begeisterter GNU/Linux Nutzer und man könnte fast schon sagen ein Fanboy. Am Anfang fand ich es faszinierend was es für eine Fülle an freien und Open-Source Software gab und was man alles mit ihr anstellen konnte. Dann hörte und las ich von Linux doch ich hatte keine Ahnung wie ich da ran kam. Eines Tages sah ich am Bahnhofskiosk, beim warten auf den Zug, ein Heft mit einer SuSE Linux DVD drin. Die musste natürlich sofort gekauft werden!

Wie alles begann…

Tux das Maskotchen von LinuxTux das Maskotchen von Linux

Wie oben erwähnt fing alles mit einem Sonderheft zu SuSE Linux mit beiliegender DVD für dessen Installation an. Zuhause angekommen DVD in den Rechner und den Reboot ausgelöst. Nach der Anleitung im beiliegendem Heft die Installation durchgeführt. Ich war erstaunt wie einfach das von statten ging. Sofort wurde fasziniert mal die ganze Programmvielfalt bestaunt. Mich haute es um, wie viel an Programmen für die tägliche Arbeit selbstverständlich schon installiert war. Von üblichen Office Anwendungen über Bildbearbeitung bis zur spezialisierte Anwendungen und Programmier-Sprachen und -Tools. Am faszinierendsten fand ich aber die Tatsache, dass Linux parallel zu Windows installiert werden konnte. Das nennt sich Dualboot und beim starten des Rechners wird gefragt, ob man mit Windows oder Linux arbeiten möchte.

…es begann eigentlich früher!

Langsam ging mir dann ein Licht auf, so neu war die Linux Welt für mich gar nicht. Linux ist ein *nix System, das heißt ein Unix ähnliches Betriebssystem. Mit solchen Systemen hatte ich doch schon zu meiner Lehrzeit gearbeitet, genauer mit HP-UX und IRIX auf SGI Maschinen. Das Déjà-vu auf der Konsole (zu der kommen wir später noch) war extrem. Ich konnte es fast nicht glauben, dass ich mit dieser Software schon mal gearbeitet hatte ohne es zu wissen und zu bemerken. Neu dazu kam eigentlich nur die grafische Verpackung in Form eines Windows-Managers (auch dazu später mehr), die mir auch noch sehr gut gefiel.

Weiter geht’s

Manjaro Linux mit KDE 5Manjaro Linux mit KDE 5

Ich wollte mehr wissen und mich mit der Materie Linux weiter auseinandersetzten, so Kaufte ich mir ein ausführliches Buch zum Thema Linux, das sich auch an Anfänger richtete. Und ich bemerkte schnell, dass es mehr als nur SuSE Linux gibt, SuSE ist nur eine von unzähligen Distributionen. Eine Distribution ist ein maßgeschneidertes, zusammengeschnürtes Paket an Software mit Linux, das zusammengestellt wurde um es einfach(er) zu installieren. Schnell kann man sich in der Vielfalt der Distributionen verlieren, auch wenn man sich auf Distrowatch.com mal umschaut. Mein Werdegang in den letzten 15 Jahren mit den Linux Distributionen sah bisher folgendermaßen aus.

Ich hielt mich ziemlich konservativ an die Trends und großen Distributionen und ging keine größeren Experimente ein. Ich wollte und will Arbeiten und kein Betriebssystem-Tester sein.

Welche Programme

Mit den Jahren hatte sich natürlich auch die Anforderung an eine Distribution geändert. Gossen Wert auf Spiele hatte ich nie gelegt aber es gibt unterdessen eine große Vielzahl an Spielen auf Steam, GOG, itch.io und Game Jolt für Linux. Ich lege mehr wert auf Programmier-Tools und Office Anwendungen für den täglichen Gebrauch. Natürlich ist das Internet auch was wichtiges. Das ist mit allen gängigen Distributionen gegeben, da bei ihnen meistens die gängige Software mit enthalten sind und meistens auch schon installiert werden.

Programm und PaketverwaltungProgramm und Paketverwaltung

Eine Linux Distribution beinhaltet auch einen Paketmanager, über diesen installiert man seine benötigten Programme. Der Vorteil daran ist, dass man geprüfte und für sein Betriebssystem getestete Applikationen hat. Diese können sehr einfach und schnell installiert, deinstalliert oder aktualisiert werden. Entweder über die Kommandozeile oder eines grafischen Programms. Es mag evt. einem am Anfang erschrecken, dass es kein bekanntes Kommerzielles Programm aufgelistet wird aber die Alternativen können es allemal mit ihnen aufnehmen und sogar deren Datei-Formate lesen. Ansonsten kann man mittels Wine immer noch Windows Programme auf Linux ausführen, wenn es unbedingt sein muss.

Früher achtete ich vor allem auf eine schöne Desktop Umgebung und verwendete dafür KDE oder Gnome, später dann noch Cinnamon. Mittlerweile mag ich es gerne minimal um damit effizienter zu Arbeiten, darum bevorzuge ich momentan den i3 Fenster Manager. Ich achte mittlerweile vor allem auf eine unkomplizierte Bedienung und Ressourcen sparenden Programmen und nicht mehr wie früher hauptsächlich auf cooles Aussehen von der Desktop Umgebung. Das kann aber jeder für sich selbst entscheiden wie sein Linux aussehen soll.

Die Konsole

Arch Linux mit i3 und vier offenen KonsolenArch Linux mit i3 und vier offenen Konsolen

Die Konsole wird auch Kommandozeile oder Shell genannt und ist nichts weiteres als eine Möglichkeit um Befehle per Tastatur abzusenden. Das mag für den Anfänger erstmals als kompliziert und umständlich vorkommen ist aber eine sehr effiziente Art um mit dem PC zu arbeiten. Es werden genügend Hilfen für die Konsole angeboten, von der Autovervollständigung der Befehle bis zur Hilfe über die sogenannte Manpage. Man wird nicht im Regen stehen gelassen und sonst bietet das Internet unendlich viel Hilfe an. Mit der Konsole ist ein effizientes Arbeiten möglich ohne große Ablenkung, dass bedeutet das man schneller an sein Ziel kommt. Ich lernte in den Jahren die Konsole sehr zu schätzen und benutze sie vor allem beim hantieren mit den Dateien. Der Vorteil ist auch, dass diese programmierbar ist und so einige Arbeiten automatisiert werden können. Man kann auch ohne sie Leben aber dann…

Wie geht es weiter?

Ich werde weiterhin Linux nutzen, denn es hat mittlerweile einen festen Platz nach fast 15 Jahren in meinem IT-Herz hat. Nicht nur, dass man immer wieder was neues dazulernen kann, wenn man will, sondern es sich so einrichten kann, wie man es genau benötigt. Das kann man meiner Meinung nach bei Windows von Microsoft oder macOS von Apple nur eingeschränkt bis gar nicht. Einen angenehmen Nebeneffekt von Linux ist seine praktische Virenfreiheit (Ja ich weiß, es gibt Linux Viren aber diese sah man noch nie in freier Wildbahn.) Ich werde GNU/Linux garantiert weiterhin Beruflich so wie Privat nutzen. In Zukunft werde ich noch einige Arbeitsabläufe durch Automation optimieren, das ist durch den mitgelieferten Programmiermöglichkeiten kein Problem. Ich werde weiterhin ein Linux Fanboy bleiben!

Benutzt ihr selber Linux und wenn ja welche Distribution? Wollt ihr auf Linux wechseln und wisst nicht wie oder traut ihr euch nicht? Evt. mache ich aus diesem Thema eine Reihe wenn ihr wollt. In diesem Sinne: ❤️🐧💻


Orginal veröffentlicht auf steemit.com am21. November 2017.

Kürzlich hatte der CEO des Verlagshauses Ringier, Marc Walder, gefordert, dass seine führenden Journalisten Programmieren lernen. Das ist in erster Linie sehr zu begrüßen genau so wie Programmieren lernen in der Volksschule gefordert wird. Das hilf in erster Linie das Verständnis für die moderne Computer basierenden Technik zu erhöhen. Es hilf auch die Anforderungen an dieser Technik und Programmierer realistisch zu gestalten. Alles sehr edle und auch gute Vorsätze aber nichts neues, denn diese Stimmen und deren Umsetzung existiert schon länger.

Foto von pexels.com unter der CCO Lizenz

Als ich mitte der 1990er Jahre meine Lehre als Maschinenkonstrukteur absolvierte (ja, so ein alter Sack bin ich) hatten wir in der Berufsschule schon das Fach Informatik, inkl. Programmieren. Denn schon damals zeichnete sich die Digitalisierung der Industrie und Gesellschaft ab. Eigentlich war es schon ende der 1980er Jahre klar ersichtlich. Darum hatte schon damals in der Volksschule auf dem Apple Macintosh zumindest komplexere und repetitive Rechenaufgaben mit Microsoft Excel gelöst. Das war ein Teil des Mathematikunterrichts und zeigte mir damals schon rudimentär die Möglichkeiten des Computers auf. Die Idee für das Verständnis der Computertechnik auch nicht Nerds näher zu bringen ist also nicht neu.

Seit ca. den 2000ern hat so gut wie jeder Haushalt min. einen Computer und daraus werden meiner Meinung nach die falsche Schlüsse gezogen. Nur weil so gut wie fast jedes Kind spätestens ab dem achten Lebensjahr mal alleine vor dem Computer saß, heißt es noch lange nicht, dass es diesen beherrscht oder min. die Bedienung des Computers versteht. In den Schulen ging man meiner Meinung nach aber von dem aus und hat den Informatik-Unterreich vernachlässigt. Einerseits wird uns die Bedienung durch durchdachten Benutzeroberflächen so wie intuitive Touchscreens erheblich vereinfacht. Dies aber verdeckt wieder den Hintergrund der Technik. Es ist gut wenn man nicht täglich über die Technik nachdenken muss und einfach seine Arbeit auf dem Gerät machen kann. Die schöne Oberfläche kann aber auch das Verständnis für die Maschine mindern und man meint mit ein paar Mausklicks oder Wischgesten sei eine Aufgabe erledigt. Die Oberfläche kann das strukturierte Herangehensweise am Computer hindern. Darum ist es gar nicht schlecht die Grundlagen von Programmierung zu erlernen, rein für das Verständnis.

Foto von pexels.com unter der CCO Lizenz

Das lernen von Programmieren verschreckt in erster Linie nicht Techniker, da die kryptischen Zeichen und Anweisungen einem fremd vorkommen. Doch ist es möglich und keine große Hexerei in die Programmierung eines Computers einzutauchen. Es gibt interaktive Onlinekurse oder YouTube Kanäle die dies einem näher bringen. Diese sind in kleine verständliche Abschnitte unterteilt und man lernt behutsam Stück für Stück hinzu. Doch schon tut sich die nächste Frage auf: «Welche Programmier-Sprache soll ich lernen? Welche ist die beste, von all den vielen die es gibt?» Die Antwort ist relativ simpel aber genau so verwirrend. Es gibt nicht die beste Programmiersprache und welche Sie lernen möchten liegt an den Anforderungen ihrer Aufgaben ab. Ich werde Ihnen weiter unten eine kleine Hilfe dazu geben. Wenn es rein um das Verständnis um die Programmierung geht spielt es fast keine Rolle welche Sprache sie dafür wählen.

Die Frage ob und wer ab wann Programmieren lernen soll ist immer noch nicht beantwortet. Meiner Meinung nach sollten Kinder in der Schule ab 10-12 Jahren in der Schule den Umgang mit Computer in den regulären Fächern lernen und den dort so einsetzten was er auch ist, ein Werkzeug. Dabei ist es egal ob Tablets, Laptops oder Desktopcomputer. Konkret soll das heißen: Praktische Anwendung direkt in den bestehenden Fächern — Programmieren im Mathematikunterricht, Technisches-Zeichnen (CAD) im Geometrieunterricht und Internetkompetenz in Deutsch und/oder Geschichte, etc. Das wird an vielen Orten schon so gehandhabt, mal erfolgreicher mal weniger. Aber auch Erwachsene können und sollten sich weiterbilden und das Lernen am besten mit einem eigenen Projekt verbinden. Ob dies nun eine eigen Webseite, eine Steuerung für das Hobbyprojekt, eine Vereinfachung von täglichen Routinen am Computer oder sonst was ist. Es soll in beiden Fällen nicht das Ziel sein ein Programmierer zu werden, sondern das Verständnis für die Arbeitsweise der Maschine zu bekommen.

Foto von pexels.com unter der CCO Lizenz

Nun aber zu den Programmiersprachen und deren Verwendung und wie man diese erlernen kann. Um die rudimentären Mechaniken des Programmierens zu lernen hat das MIT speziell für Kinder (Erwachsene dürfen auch) Scratch entwickelt. Damit lernt man schon sehr gut wie programmiert wird und welche Schritte es dafür benötigt. Auch sehr Einsteiger freundlich ist es mit Turtle zu beginnen. Wenn Sie eine simple Homepage entwickeln wollen dann lernen Sie auch gleich wie man ein Dokument strukturiert. Lernen Sie HTML und CSS für deren Gestaltung. Ein weiterer Schritt ist dann simple Funktionen der Website beizubringen mittels JavaScript und/oder mit der jQuery Bibliothek. Für komplexere Webanwendungen benötigen Sie eine Server seitige Programmiersprache wie das häufig verwendete PHP. Für Anwendungen jeglicher Art und einfach zu erlernen ist Python. Sie eignet sich auch um wiederkehrende Aufgaben zu automatisieren. Python wird auch unter anderem in der Wissenschaft und Industrie für komplexe Aufgaben genutzt. Noch eine sehr viel eingesetzte Sprache ist Java, doch diese ist einiges komplexer als die vorhergehenden. Alle die hier kurz angesprochenen Sprachen können Sie ohne Installation direkt auf den Websites Code School oder Codecademy in leicht verständlichen Lektionen erlernen.

Es gibt noch so viel mehr unterschiedliche Programmiersprachen und das Thema ist sehr weitläufig, doch das sollte für den ersten Blick in die Programmierung genügen und einem einen Überblick über das Thema verschaffen. Damit sollte man die Grundzüge von der Arbeitsweise eines Computers verstehen. Somit wünsche ich Ihnen ein frohes Ausprobieren und gutes Gelingen bei ihrem Programmier-Projekt.

Was zu viel ist ist zu viel oder doch nicht?

Moderne Websites sind schon lange nicht mehr einfach nur statische Textwüsten mit Infografiken. Auch wenn die animierten Gif’s als Designelement ausgedient haben sind animierte Elemente dank CSS3 und JavaScript Bibliotheken wie Animate.css, jQuery und Velocity.js überall im Web anzutreffen. Nicht immer ist dies sinnvoll da es den User nicht zum gewünschten Ziel führt. Wann sollte man es einsetzten und wann nicht?

Hallo erstmals

Als ich das erste mal native Animationen im Web sah,war ich von denen bis heute begeistert. Zusätzlich möchte ich im vornherein sagen, dass ich kein Designer und kein Frontend-Entwickler bin aber als Web-Programmierer mich schon einiges mit UX (User Experience) auseinandersetzte habe. Das soll keine Schrift auf das Abschwören von Animationen im Webdesign sein, sondern aufrufen und helfen diese sinnvoll und gezielt einzusetzen.

Für diesen Text sollte man ein wenig Ahnung von HTML und CSS haben, damit man den Beispielen folgen kann.

Animationen sind cool

Als Entwickler möchte man gerne sein Können den Leuten präsentieren doch dies kann schnell zu einer chaotischen Ansammlung von allen möglichen Techniken seines Könnens anhäufen. Dann ist dies meist sehr unübersichtlich und meistens verwirrend für den User. Nur weil ein Effekt wie z.B. Parallax-Scrolling auf einer Seite gut aussieht muss dies nicht unbedingt auf der Seite des Kunden genau so sein. Wichtig ist, dass das Storytelling aus einem Fluss kommt aber noch wichtiger ist, dass der User schnell zu seinen gewünschten Informationen gelangt. Eine Sammlung gelungene animierten Websites hat das t3n.de Magazin in einem Artikel zusammengetragen. Abgesehen ist das Arbeiten mit Animationen immer mit einem großen Mehraufwand verbunden. Der Programmierer muss abgesehen von der Webapplikationen auch noch um den gesteuerten Ablauf der Animationen kümmern.

Nein, doch, oh!

Jetzt könnte man sagen: »Dann lasse ich Animationen im Webdesign ganz weg und habe keine Scherereien und dazu erst noch weniger Aufwand.« Das sehe ich nicht so, denn dann würde man sich die Möglichkeiten den User elegant durch die Webseite zu führen verweigern. Da ist es wichtig mit dem Kunden und/oder Designer die richtige Balance zu finden, doch wie findet man diese? Dazu müssen wir erst mal definieren was eine Animation ist und wie eine solche Simple erzeugt wird.

Animationen sind nichts anderes als Abfolgen von Veränderungen der Form und Lage die zeitlich getaktet sind. Dies lässt sich im Web auf vielfältige weise realisieren, meistens verwendet man dazu CSS oder JavaScript oder beides zusammen in Kombination. Wir wollen hier nur kurz die CSS3 Animation ansehen, dazu nehmen wir das Beispiel von animierten Himmel. Mit einem Klick auf HTML oder CSS ist der entsprechender Code sichtbar.

Animationen in CSS definieren

In der Erklärung schreibe ich nur den allgemeinen CSS Code und gehe nicht auf die einzelnen Browser-Spezifikationen ein.

Die Klasse sky wird definiert und die weiter unten definierte Animation sky_background mit der Ablaufgeschwindigkeit 50s aufgerufen. Zusätzlich soll die Animation dem Verlauf easy-out und sich ständig wiederholen.

.sky { … animation: sky_background 50s ease-out infinite; … }

Das selbe für die Klasse moon und der Animation moon nur mit dem Verlauf *linear, *genau das selbe gilt für die Wolken.

.moon { … animation: moon 50s linear infinite; … }

Nun werden die Animationen definiert mit dem Schlüsselwort @keyframes und in Prozent-Absätze unterteilt in denen der gewünschte Zustand beschrieben wird. Die Zwischenschritte werden vom Browser berechnet und somit wirkt die Animation flüssig. Hier sehen wir die definierten @keyframes vom Himmel-Hintergrund.

@keyframes sky_background {
0% { background:#007fd5; color:#007fd5 }
50% { background:#000; color:#a3d9ff }
100% { background:#007fd5; color:#007fd5 }
}

Natürlich müssen auch noch die anderen Animationen definiert werden.

Da nur einzelne Abschnitte definiert werden und der Browser den Rest berechnet, kann da unter Umständen viel Last aufkommen. Wenn noch große Bilder oder Videos dazukommen kann es sein, dass ein schwächerer Rechner Probleme bekommt. Bei Smartphones oder Tablets sieht es genau so aus, doch da kommt noch erschwerend hinzu, dass es praktisch keinen Hover-Effekt auf dem Touchscreen gibt. Das heißt, dass der Hover-Effekt nur auf dem Desktop eine Animation auslösen soll. So kann es sein, dass die Animationen so wie Effekte auf die entsprechenden Endgeräte abgestimmt werden müssen.

Einmal gut und einmal nützlich

Das unten aufgeführte Beispiel ist schön anzusehen und als Demo auch absolut cool, doch sollte man es auf einer seriösen Website einsetzten? Ich wüsste jetzt nicht ein Beispiel wo dies sinnvoll wäre und tendiere dadurch mehr Richtung nein.

Hier wird demonstriert was man mittels HTML, CSS und der JavaScript Bibliothek jQuery alles machen kann aber einen Mehrwert hat es nicht. Denn der User findet die Links zu den Social-Medias dadurch nicht schneller und wird wahrscheinlich dadurch einem auf denen nicht folgen. Mit anderen Worten, schön anzusehen aber im Alltag nicht praktisch einsetzbar und dadurch am Ziel vorbeigeschossen.

Am besten führt man den User mittels der Animation durch die Seite. Das kann durch animierte Menüs, Lade-Symbole oder Warnungen geschehen oder eine Sucheingabe die beim anklicken sich erweitert. Mit anderen Worten sollte eine Animation kein Selbstzweck sein sondern eine Ergänzung zur visueller Wahrnehmung und dadurch den User sanft durch die Seite führen. Sichtbar wird dies am folgenden animierten Navigation Beispiel. Da macht das Navigieren durch Webseiten gleich sehr viel mehr Spaß und sieht super aus.

Animationen auf Webseiten verhalten sich wie damals in der Steinzeit des Worl-Wide-Web die Ani-Gif’s: Wenn zu viel auf der Seite ist, dann stören sie. Der User kann sich nicht mehr auf den Inhalt konzentrieren und fühlt sich überfordert, dann verlässt er die Seite. Der User sollte aber die Seite als angenehm empfinden und sich nicht vom Unwichtigem stören lassen müssen. Darum ist auch da zu achten, dass nur wo es nötig ist Animationen auftauchen und auch nur dann wenn es der User als Information benötigt.

Fazit

Grundsätzlich gibt es die zehn folgende Faustregeln, wann und wo Animationen in der Website einzusetzen sind.

  • Wenn Animationen in fülle, dann auf Landingpages einzusetzen.
  • Animationen einsetzen bei Seiten mit Storytelling, z.B. Onepager.
  • Hinweise wirken freundlicher, wenn sie nett animiert sind.
  • Den User mittels Animationen durch die Seite führen.
  • Der User darf nicht durch die Animationen auf der Seite abgelenkt werden.
  • Nur in dem Augenblick animieren wenn der User es in diesen Moment benötigt.
  • Ruhiges lesen der Informationen muss gewährleistet sein.
  • Animationen die nur existieren um zu zeigen, dass man animieren kann haben auf einer Website nichts verloren.
  • Wenn die Ladegeschwindigkeit der Seite nachhaltig beeinflusst wird dann ist von einer Animation abzusehen.
  • Ist die Animation auf mobilen Geräten genau so sinnvoll, sichtbar und aufrufbar?

Ich hoffe dieser Artikel konnte ein paar Fragen zu der Gestaltung der zukünftigen Website beantworten oder aufwerfen und somit Impulse für zukünftige Projekte geben.

Eines vorab: Eine fertige Lösung werde ich hier nicht präsentieren, denn die Anwendungsfälle sind alle viel zu Individuell. Das hat unter anderem auch mit der Philosophie der Unternehmen zu tun. Ich werde auch nicht detailliert auf die einzelnen Methoden eingehen aber verlinkt sind diese, da jede Methode an und für sich einen eigenen Artikel ergibt. Ich werde auch nicht auf Projektmanagement eingehen da ich auf die Arbeitsorganisation fokussieren will. Es soll ein Gedankenstoß sein um seine eigen Arbeitsweise zu verbessern.

Immer wieder wird von allen möglichen Seiten, egal ob von Startups oder Manager oder Mitarbeiter bei einer Sitzung, das neuste Projektmanagement Tool angepriesen. Je nach Tool wird die eine oder andere Funktion besonders Hervorgehoben. Das eine kann ganz einfach mit der grafischen Oberfläche bedient werden, das andere legt seinen Schwerpunkt auf Kooperation. Das dritte kann besonders gut die verwendete Zeit messen. So weit so gut und keines dieser Tools ist besser oder schlechter, nur haben die jeweilig andere Schwerpunkte. Doch welches ist für welches Unternehmen, Projekt, Arbeitsweise oder Branche ist am geeignetsten? Schwer zu sagen, denn das kommt vom Charakter des Projektes, der Branche und der Arbeitsweise der beteiligten Personen an.

Zeit

Alle diese Tools implizierten, dass wir Zeit sparen. Nun Zeit haben wir immer gleich viel (24 Stunden pro Tag) aber wir können unsere Zeit besser nutzten. Das heißt, so einteilen und nutzen, dass wir die selben Aufgaben in weniger Zeit absolvieren. Das heißt auch, dass wir mögliche Störfaktoren, Ablenkungen und das Warten auf andere minimieren können. Das alles kann kein Tool sondern nur gewisse Methoden. Gewiss, Tools können Methoden implementiert haben.

Zeit besser nutzenZeit besser nutzen

Arbeitsweise

Da sind wir schon bei der Arbeitsweise. Wie organisiert der Projektleiter, die Teamleiterin und die einzelne Personen ihre Arbeit. Das sind schon mal drei unterschiedliche Anforderungen. Die einen müssen mehr koordinieren die anderen ihre Arbeit in der gewünschten Zeit erfolgreich erledigt haben. Am besten unterteilen wir diese Arbeitsweisen, besser gesagt Organisationsformen, in drei rudimentäre Gruppen: Planung, Koordinierung und Selbstorganisation.

Planung

Unter Planung verstehe ich die Planung des Projektes und zwar eines einzelnen. Was muss ich berücksichtigen, dass ich die Zeit und die Kosten oder Kostenrahmen bestimmen kann. Je mehr man in dieser Phase berücksichtigt und je mehr vereinzelte Aufgaben man erfasst, granuliert, um so weniger Überraschungen ergeben sich. Natürlich gehört dazu viel Erfahrung aber auch Aufwand. Dieser Initialaufwand sollte man nicht scheuen, denn diese Zeit die man hier nicht investiert, verliert man um ein vielfaches im restlichen Projektverlauf.

Projektadministration ÜbersichtProjektadministration Übersicht

In vielen kleinen bis mittleren Unternehmen wird der Fehler gemacht, dass die Projektleitung noch nebenbei und leichtfertig gehandhabt wird. Nach jedem größeren Projekt werden dann Sitzungen einberufen um alle Fehler zu analysieren. Das braucht unnötig Zeit, die niemand bezahlt. Projektplanung kann man am Kunden verrechnen und die Mitarbeiter sind zufriedener und arbeiten motivierter, das mindert die Fehlerquelle.

Aufgaben

Am besten schreibt man die Aufgabe als Auflistung der einzelnen Arbeitsschritte auf. Dann die Abhängigkeiten der einzelnen Arbeitsschritte, welche nach welchem erst ausgeführt werden kann. Dadurch resultiert welche Aufgabe wann erledigt sein muss. Man kann das vereinfacht als eine hierarchische ToDo-Liste beschreiben. Es hilft als erstes die Meilensteine aufzulisten und dann weiter in die Details zu gehen. Wie feiner die Aufgaben unterteilt/granuliert sind um so besser. Eine Methode, die besonders gut dafür geeignet ist, ist das Gantt-Diagramm.

Gantt-DiagrammGantt-Diagramm

Unvorhergesehenes

Natürlich kommt es immer wieder vor das auch Unvorhergesehenes sich in den Tagesablauf einschleicht. Das ist meistens ärgerlich aber nicht gänzlich vermeidbar. Es ist zu beachten, dass die Mitarbeiter nicht mehr als 80% belastet sind. Mitarbeiter mit Führung oder Betreuung anderer Mitarbeiter sogar nur 60%. So wird Unvorhergesehenes abgefangen ohne das die Mitarbeiter überbelastet werden. Da hat auch mal ein Telefonat vom Kunden oder die Abklärung von Unklarheiten zwischendurch platz.

Koordination

Jetzt könnte man diese Aufgaben als Projekt oder Teamleiter schon den einzelnen Mitarbeiterinnen zuweisen. Es gibt aber auch die Möglichkeit, dass die Mitarbeiter ihre Aufgaben eigenständig sich zuweisen.

Gantt-Diagramm

Wenn man bestimmend die Aufgaben einzelnen Mitarbeitern zuteilt, dann ist auch dafür das Gantt-Diagramm geeignet. Wie oben beschrieben, die Personen max. 60% bis 80% auslasten sonst werden viele Aufgaben vor sich her geschoben und nicht erledigt. Es ist auch darauf zu achten, dass die Arbeiten zuerst erledigt werden, die für weiter Aufgaben wichtig sind.

Kanban-Board

Die zweite Möglichkeit ist es, dass die Mitarbeitenden die Aufgaben selbständig sich selber zuweisen. Da hat sich das Kanban-Board bewährt. Die Aufgaben warten auf einem Stapel (sinnbildlich gesprochen) und jeder Mitarbeiter zieht seine Aufgaben selbständig. Die gezogene Aufgabe legt er auf den Stapel mit den Aufgaben an denen gerade gearbeitet wird. Mehr als drei bis fünf Aufgaben soll niemand gleichzeitig arbeiten, sonst bleiben diese liegen. Wenn eine Aufgabe fertig ist wird diese auf den Stapel «Kontrolle» oder «Fertig» gelegt, je nach dem wie viele und welche Stapel man hat. Wie man sieht, hat man drei oder vier Stapel. Mehr sollte man allerdings nicht verwenden, da sonnst der Überblick abhanden kommt.

Kanban-BoardKanban-Board

Der Firmen eigene Arbeitsablauf wurde dabei nicht berücksichtigt. Diese Methoden müssten in diesen integriert werden.

Selbstorganisation

Auch für das Selbstmanagement gibt es unterschiedliche Methoden. Doch was ist Selbstmanagement? Eigentlich schon eine ToDo-Liste die man Abhakt. Diese kann durch das oben beschriebene Kanban-Board ersetzt oder zusätzlich geführt werden. Es gehört aber noch dazu wie man diese Aufgaben abarbeitet ohne den Überblick zu verlieren und möglichst nicht gestört zu werden.

Pomodoro-Technik

Eine beliebte Methode ist die Pomodoro-Technik von Francesco Cirillo. Damit arbeitet man in kurzen Abschnitten aber extrem auf die Aufgabe fokussiert. Dadurch kommt man sehr gezielt ohne umständlichen Ablenkung von Fremdeinflüsse zum Ergebnis. Allerdings sollte man seine Mitarbeiter oder sogar das ganze Team über diese Arbeitsmethode informieren. Es kann sonst zu unangenehme Missverständnisse kommen. Auch sollte man sich Zeit einplanen um ansprechbar für die Kollegen zu sein, je nach dem zwei bis drei Zeiteinheiten pro Tag. Eine Übersicht über die Pomodoro-Technik liefert Wikipedia hier…

Pmomodoro_TechnikPmomodoro_Technik

Getting Things Done

Eine andere sehr beliebte Technik ist Getting Things Done von David Allen. Die Hauptmerkmale sind das Termine und Aufgaben separat aufgelistet werden, damit man den Kopf frei für die Arbeit hat. Für die Termine nutzt man einen Kalender und für die Aufgaben in einer Kontextliste. Die Kontextliste kann jeder so gestalten wie man will, muss aber in einer sich vertrauten Form sein. Egal ob die eine hierarchische Liste oder eine Mind-Map ist. Alle Aufgaben und Tätigkeiten werden darin erfasst. Diese werden dann wieder in «Projekten» zusammengefasst. Alles Aufgaben die unter 2 Minuten erledigt werden können werden sofort erledigt. Eine Übersicht über die Getting Things Done liefert Wikipedia hier…

Mind-Map für Getting-Thing-DoneMind-Map für Getting-Thing-Done

Eisenhower-Prinzip

Bei beiden Methoden gilt natürlich, dass man sich auch Zeit einplant um diese Arbeitsweisen zu Pflegen und Planen. Am besten kann man dies anhand des Eisenhower-Prinzips entscheiden ob und wann eine Aufgabe erledigt werden muss. Beim Eisenhower-Prinzip hat man zwei Achsen, die sich rechtwinklig kreuzen. Die waagrechte mit den Beschriftungen «Dringend» und die senkrechte «Wichtig», das ergibt vier Felder in denen die Aufgabe eingeteilt werden.

Eisenhower-PrinzipEisenhower-Prinzip

  • Dringend & Wichtig (I): Sofort selbst erledigen
  • Nicht Dringend & Wichtig (II): Terminieren und selbst erledigen
  • Dringend & nicht wichtig (III): An kompetenten Mitarbeiter delegieren
  • Nicht Dringend & nicht wichtig (IV): Verwerfen und in den Papierkorb

Somit hat man den Kopf frei für seine Arbeiten und Aufgaben und erspart sich viel Ärger um Kleinigkeiten die gar nicht von Belang sind.

Analysen

So weit so gut, wir haben einige Methoden kennen gelernt doch wollen wir uns auch verbessern und die Planung optimieren. Dafür müssen wir unsere Arbeit messen. Mit der Pomodoro-Technik ist das sehr wahrscheinlich am einfachsten, weil man fixe Arbeitsabschnitte hat. Ansonsten benötigt man eine Zeiterfassung die die einzelne Aufgaben auch auflistet so wie die geschätzte/vorgegebene Zeit für die Aufgaben. Nur so kann man sehen wo es evtl. noch Verbesserung bei der Planung gemacht werden kann.

Tools

Die Methoden, die oben alle aufgeführt wurden können mit Stift und Papier umgesetzt werden. Sicher gibt es dafür die entsprechende Software, doch die alleine nützt nichts wenn diese nicht mit den anderen Methoden und deren Software zusammenspielt. Häufiges wechseln der Tools kann sogar zur Frustration und zur Verweigerungshaltung der Mitarbeiter kommen. Wenn die Methoden bei allen beteiligten klar sind, so kann man die passenden Tools finden und einsetzten. Tools nur einsetzten weil diese angesagt oder extrem cool aussehen ist die dankbarste schlechteste Entscheidung. Erst die Methoden bestimmen und diese dann konsequent durchziehen, dann die entsprechenden Tools aufeinander abstimmen.

Vermeiden Sie Excel, denn Excel ist viel zu unflexibel für Projekte und es kommt vor, dass man den Überblick verliert. Eine Tabelle ist nicht das selbe wie eine Liste oder ein Gantt-Diagramm, auch wenn es wunderschöne Templates im Internet zu finden gibt. Diese sind abgesehen davon auch noch eine Gefahr für die IT Sicherheit. Wenn Sie Programme einsetzten dann auch welche die genau für diese Aufgaben zugeschnitten sind.

Methoden vor ToolsMethoden vor Tools

E-Mails ruhig angehen

Ruhe und die dadurch resultierende Konzentration kann man schon mit einfachen Mitteln erreichen. Schalten Sie ihr Smartphone einfach während der Arbeitszeiten auf Stumm. Schalten Sie die aufpoppende Benachrichtigungen vom E-Mails und Chats auf ihrem Computer aus. Nehmen Sie sich zwei bis drei mal pro Tag (ca. 30 min.) Zeit für die Kommunikation (Tel., E-Mail und Mitarbeiter) und erledigen Sie diese nur dann. Wenn ein E-Mail wirklich dringend ist, dann erhalten sie früher oder später so oder so ein Telephon. In der Regel benötigt man acht bis zwölf Minuten nach einer Ablenkung durch ein aufpoppende Nachricht oder das “nur schnell sehen von wem es ist” um zurück in die Arbeit vertiefen zu können. Schauen Sie sich ihre E-Mails/Chats niemals als erstes an, wenn sie zu Arbeiten beginnen, diesen Stressfaktor können Sie getrost auslassen. Missbrauchen Sie die E-Mail Ordner nicht als ToDo-Liste, Sie werden in kürzesten Zeit den Überblick verlieren.

Fazit

Das alles war nur ein grober Überblick um Ihre Arbeit zu strukturieren. Wie man sieht sind nicht die Tools entscheidend sondern die Methoden, die man anwendet und deren Kombination. Die Tools vereinfachen den Umgang damit. Schlussendlich sollen die Methoden ein teil der Firmen- oder Teamphilosophie werden, nur so werden dann diese auch konsequent und effektiv angewendet. Somit wünsche ich Ihnen ein entspanntes Arbeiten und gutes gelingen beim umsetzten der einen oder anderen Arbeitsmethode.