Workreporting 2.0 mit ReportNow

“Feierabend, alle Bugs behoben und alle Change Requests sind eingecheckt, der Zug nach Hause fährt in 5 Minuten – und schon wieder keine Zeit, die tägliche Projekt-Stundenerfassung zu erledigen. Morgen wird der Projektleiter erneut auf der Matte stehen und meine fehlenden Reports eintreiben, um die monatliche Verrechnung und das Projektreporting gegenüber dem Kunden zu erledigen. Das muss doch auch einfacher und schneller gehen!”

Genau das haben wir uns auch gesagt und kurzum eine Web-Applikation entwickelt, die folgende Bedürfnisse abdeckt:

  • Zeiterfassung komfortabler machen
    > Rasch & bequem
  • Unabhängigkeit fördern
    > Örtlich (mobil)
    > Software Client
  • Business
    > Alle Stunden lückenlos im Projektmanagement-Tool erfasst

Die entwickelte Applikation weist folgende Merkmale auf:

  • Browser-Applikation, für iPhone optimiert
  • Live Datenschnittstelle zu Projektmanagement-Tool
  • Geführte Auswahl von Kunden über deren Projekte, Tasks und Zeit zur Workreportbeschreibung
  • Visualisierung des persönlichen Tagestotals/-Soll
  • Länderübergreifend (CH/DE)
  • Ajax Technologie (keine Page Reloads)

Somit steht einer zeitnahen und mobilen Stundenerfassung nichts mehr im Wege.

Da es sich um eine interne Anwendung handelt, haben wir zur Veranschaulichung nachfolgenden Screencast vorbereitet.

ReportNow wurde im Rahmen des Namics.Lab 2009 im Team Andi in zwei Tagen entwickelt und erweitert die NOW-Familie um eine weitere Anwendung (vgl. RoomNOW).

Das Lab-Entwicklungteam bestand aus den Personen Markus Koller, Alexander Maier, Ben Roberts, Patrick Graf und Andri Stoffel.

Social Media Code of Ethics des BVDW

Eigentlich will ich auf diesem Blog eine Informationen nur “reposten” und die Tatsache, dass der Code vom BVDW nur als PDF und ohne Kommentarfunktion publiziert wurde, spornt eher für eine Kritik an. Ich finde die Regeln aber so gut, dass die dieser hier gerne 1:1 wiedergebe:

Regeln für werbungstreibene Unternehmen im Umgang mit Social Media:

1. RESPEKT
Wir respektieren unsere Nutzer und deren Meinungen und achten auf einen respektvollen Umgang der Akteure untereinander.

2. SACHLICHKEIT
Wir begrüßen themenbezogene Inhalte und sachliche Kritik.

3. ERREICHBARKEIT
Wir reagieren schnellstmöglich und angemessen auf direkte Fragen, Anregungen und Kritik.

4. GLAUBWÜRDIGKEIT
Wir stehen mit unseren öffentlichen Aussagen und Meinungen nach bestem Wissen und Gewissen für Transparenz und Glaubwürdigkeit.

5. EHRLICHKEIT
Wir gehen mit Fehlern offen um und verschleiern sie nicht.

6. RECHT
Wir respektieren die Rechte unserer Nutzer sowie die Rechte unbeteiligter Dritter, insbesondere Urheber- und Persönlichkeitsrechte und Datenschutz.

Quelle: Bundesverband Digitale Wirtschaft (BVDW) – “Social Media Code of Ethics”

PS: Danke Felix für den Link
PPS: Hier noch über 100 weitere Regelwerke: Social Media Governance Policy Database

Devoxx. Tag 5. Effizienter Entwickeln.

Der fünfte und letzte Tag dauerte nur bis Mittags, war ohne Herstellerausstellung, dafür nochmals mit 3 Slots für knackige Talks. Auf zwei davon möchte ich folgend eingehen.

Think of time as events

Der erste Talk startete mit der Aussage Think of time as events. Das Problem, dass dieser aufgriff, ist wohl den meisten von uns bekannt; Sachen vor sich herschieben und sich durch diverse Störfaktoren von der wirklichen Arbeit ablenken lassen.
Auch wenn es nur kurze Störungen sind, die sich immer wieder in unsere tägliche Arbeit einschleichen, führen diese zu einer gewissen Ineffizienz. Man kann sich das Gehirn wie ein Workbench und ein Archiv vorstellen, wobei der Zugriff auf den Workbench sehr schnell vonstatten geht, etwas aus dem Archiv holen jedoch mit viel mehr Aufwand verbunden ist und etwas bestehendem auf dem Workbench Platz machen muss. Dass es neben der üblichen Variante Last In First Out (alles sofort abarbeiten, z.B. jedes Mail) und Follow The Plan (ein sturer Arbeitsplan erstellen und sich selber einbunkern und durch nichts stören lassen) auch ein iterativer Ansatz gibt, stellte uns Staffan Nöteberg mit der Methodik Pomodoro vor.
Diese baut darauf auf, dass der Mensch immer nach antrainierten Rhythmen funktioniert. Wenn wir es uns z.B. angewöhnt haben, immer um 9 Uhr ein Snack zu essen, es jedoch an einem Tag auslassen, kommt unweigerlich ein Hungergefühl auf. So sagt diese Methodik, dass Arbeiten erfasst und auf einer ToDo Liste nach Priorität geordnet notiert werden sollen. Danach wird in 25 Minuten (= ein Pomodoro) Schritten diese Tasks abgearbeitet. Während diesen 25 Minuten lässt man sich durch nichts ablenken und arbeitet fokussiert an einem Task. Nach diesen 25 Minuten hat man 3-5 Minuten, um sich zu erholen und darf sich nicht dem Task widmen, d.h. in dieser Zeit kann man Kaffee holen, kurz Lüften etc. Danach wird wieder am Task weitergearbeitet oder, wenn dieser abgeschlossen ist, der nächste gestartet. Wird der Task durch etwas Kleines gestört, wird dies in der ToDo Liste notiert, wobei zwischen internen Störungen (ich habe kurz meine Mails gecheckt) und externen Störungen (jemand hat mich etwas gefragt) unterschieden wird. Gibt es eine grössere Störung, wird der angefangene Pomodoro abgebrochen und ein neuer 25 Minuten Task muss gestartet werden. Auf der ToDo Liste wird notiert, für welchen Task wie viele Pomodoros verwendet wurden. Am Abend erfolgt die Auswertung der Taskliste mit der Idee, am nächsten Tag durch die Analyse der aufgetretenen Störungen effizienter zu sein.
Dies ist ein kurzer Abriss dieser Methodik, sicherlich behandelt sie ein bekanntes Problem, ob sich diese so bei uns im lebendigen, teamorientierten Umfeld 1:1 umsetzen liesse, ist eine andere Frage. Oftmals würde alleine schon etwas mehr Selbstdisziplin reichen. ;)

Bye Bye Boilerplate

Setter, Getter, Konstruktoren etc. sehen oftmals gleich aus und enthalten keinerlei Applikationslogik. Sicherlich unterstützen die gängigen IDE’s den Entwickler durch automatische Generation des Codes, die Lesbarkeit dessen nimmt dabei jedoch nicht zu. Die Eliminierung dieses sogenanntennnn Boilerplate Code hat sich das Opensource Framework Lombok zum Ziel gesetzt. Über ein Set von Annotationen und dazugehöriger Library sorgt Lombok dafür, dass diese Methoden direkt beim Kompilieren erstellt werden. Zurzeit wird einzig Eclipse über ein Plugin als IDE unterstützt, wobei auch in dieser Features wie z.B. das von der IDE unterstützte Refactoring von Bean Properties noch fehlen.
Um etwas konkret zu werden, möchte ich die beiden meiner Ansicht nach interessantesten Annotationen erwähnen. Die Annotation @data auf der Klasse generiert sämtliche Getter und Setter sowie den Konstruktor; ebenfalls werden automatisch equals/hashCode und toString mit Bezug auf die Felder generiert. Das Bean enthält nur noch die Felddefinitionen, der Code wird sofort viel lesebarer. @cleanup, annotiert auf einer Initialisierung einer Ressource, sorgt dafür, dass diese auf jeden Fall sauber geschlossen wird. Dies macht die Schliessung der Ressource im finally Block obsolet.
Nicht nur die Initiative dieses Projekt zeigt, dass ein Need für mehr Lesbarkeit und Einfachheit des Codes in Java vorhanden ist. Es wurde auch davon gemunkelt, dass die Features von Lombok in kommenden Javaversion enthalten sein könnten, was sicherlich für den eingeschlagenen Weg dieses Projekts spricht.

Over and end

Und schon war die devoxx wieder Vergangenheit, rund 2500 Besucher zählte die diesjährige Veranstaltung. Für mich war es der erste Besuch einer Veranstaltung dieser Art, ich war sehr beeindruckt von der Qualität der Speakers und der Organisation im Allgemeinen.
Nicht nur gab mir diese Veranstaltung einen guten Einblick in neue Technologien und Methodiken, die es weiterhin zu beobachten gilt, auch konnte ich sehr von den Aussagen und Best Practices von Leuten mit sehr viel Software Engineering Erfahrung profitieren.

Devoxx. Tag 4. Methodology meets Technology.

Der vierte Konferenztag startete mit einer sehr guten und unterhaltsamen Keynote der beiden Methodik-Koryphäen Ivar Jacobson und Robert C. Martin. Beide, Authoren von Methodik-Bücher, machen eine sehr selbstkritische Rückblende über die vergangenen 40 Jahren Softwareentwicklung, in denen auch sie Methodiken propagiert haben, welche sich letztlich nicht durchgesetzt haben.

Zitat aus dem Vortrag:
“Softwaredevelopment seems to be driven by fashions and fads”

Wie kommt das? Es hat sich gezeigt, dass sich die Universitäten (Forschung) nicht um die Praxis kümmern und dass die Praktiker sich kaum dafür interessieren, was an den Universitäten gearbeitet wird. Hinzu kommt jetzt das Übel der Methodik-Evangelisten, welche stets neue Methodiken “erfinden”, welche bestehendes mehr oder weniger neu verpacken, neu zusammenstellen und nur an unwesentlichen Punkten erweitern. Hier scheinen doch auch Ermüdungserscheinungen da zu sein, immer wieder neue Terminologien zu lernen, obwohl es im wesentlichen nichts neues gibt. Dies hat Ivar Jacobson und 20 anderen Schwergewichte (u.a. Ken Schwaber, Erich Gamma, Scott Ambler, Richard Soley, etc.) dazu bewogen, der Softwareentwicklung ein gutes theoretischen Fundament zu verpassen (welches allerdings erst noch zu finden ist) und hat dabei die SEMAT (Software Engineering Method and Theory) ins Leben gerufen. Ob und wie sich diese Initiative, bei der es zu beginn schwer war, dass sich alle Beteiligten auf den kleinsten gemeinsamen Nenner einigen konnten, durchsetzen resp. Akzeptpunkte bringen kann, wird sich erste noch zeigen.

Robert C. Martins (auch Uncle Bob genannt) Vortrag war eine typisch amerikanische Storytelling Vorstellung, deren Unterhaltunswert sicherlich sehr hoch war, sich inhaltlich jedoch auf ein/zwei Elemente hätte abspecken lassen können. Robert, mit seiner sehr grossen Erfahrung in Sachen Softwareentwicklung, hat die vergangenen 40 Jahre in 10 Jahresabschnitten revu passieren lassen und aufgezeigt, dass sich die wesentlichen Punkte in all denn Jahren nicht verändert haben. Methodiken kamen und gingen, Projekte scheiterten jedoch nach wie vor. Letztendlich appeliert er an die Entwickler, sich wirklich als “Professionals” zu verhalten. Das heisst für ihn eben auch “Nein” zu sagen. “Nein” zu unrealistischen Zeitplänen, “Nein” zu schnellen Hacks, etc.

Zitat aus seinem Vortrag: “To Go Fast, Go Well”

Und meint damit, dass sich Hacks, etc. aus welchen Gründen auch immer einfach irgendwann rächen, womit er in der Regel ja auch recht hat. Doch wer verstösst nicht ab und zu wieder gegen seine eigene Überzeugung (wegen Budget, wegen Zeit, etc.)…?

Ich denke, beiden haben im Kern ihrer Aussagen und Einschätzungen recht. Welcher Weg zu einer Verbesserung führt, wird sich noch weisen. Vielleicht ein bisschen von beidem… :-) Dass sich jedoch heute eine ganze Keynote nur um das Thema Methodik gedreht hat, zeigt auf, dass hier auch viel Handlungsbedarf besteht.

Ach ja… hier noch kurz was eher technisches… was aber prima in den Cloudcomputing-Hype passt…
Mit Glassfish in der Version 3.0, welche am 10. Dezember released wird, kommt eine sehr gute und schnelle Referenz-Implementierung, für die neue Spezifikation auf den Markt. Neben den vielen neuen API, welche jetzt zur Spezifikation gehören, hat mir vorallem ein Aspekt gefallen: Der Server kann in der neuen Version komplett über REST-API administriert werden. Hier denke ich, dass dies vorallem für künftige Laufzeitumgebungen (z.B. Amazon EC2, o.a.) sehr, sehr hilfreich sein wird.

Design, das überrascht und funktioniert

Das tolle an Blogs ist, dass sie von allen gelesen werden können. Gut. Dieser Post ist jedoch etwas Besonderes, denn er mag zwar den ein oder anderen interessieren, er ist aber für einen bestimmten “Kunden” gedacht. Sie wissen es sicher, wenn Sie gemeint sind.

Sie kennen Namics. Namics ist Beratung. Technologie. Engagement. Online-Erfolg. Social Media. Aber Namics ist v.a. auch Kreativität und Design. Weil aber Letzteres auch Geschmackssache ist, wollen wir keine grossen Worte verlieren, sondern Sie selbst beurteilen lassen. Einige Beispiele, bei denen Namics das Kreativ- und Designergebnis verantwortet:

 

Zu den Details:

Aber was ist eigentlich aussergewöhnliches Design?
Design ist für uns nicht nur eine tolle, verrückte Idee. Aussergewöhnliches Design muss überraschen, visuell überzeugen, neue Wege gehen – aber es muss auch funktionieren. Es muss den Besucher führen, inspirieren, abholen. Und es muss ihm das Gefühl geben, aufgehoben zu sein, an der richtigen Stelle, ihn sich zuhause fühlen lassen. Eben User Centered Design.

Und für Shops?
Hier geht es noch um mehr. Im E-Commerce beeinflusst das Design sehr unmittelbarer den Geschäftserfolg, wie einige der oberen Beispiele gezeigt haben. Was konzeptionell für “Beat” gilt, gilt ebenso für’s Design:

  • eine atmosphärische Bühne mit grosszügigen Produktbildern
  • Produktabbildung von verschiedenen Perspektiven und Detaillerungen
  • Services und Applikationen durch die verständlich geführt wird
  • schnelle, direkte, Sicherheit vermittelnde Checkout-Gestaltung…

Lust auf mehr?
787-buy-now2.png