Stand still and watch the patterns, which by pure chance have been generated: Stains on the wall, or the ashes in a fireplace or the clouds in the sky, or the gravel on the beach, or other things. If you look at them carefully you might discover miraculous inventions. (Leonardo da Vinci)
 

8 Steps of good decisions

March 31st, 2010 Leadership| No Comments »

Sorry, this entry is only available in German.


Setting the team rules

March 27th, 2009 Communication| 1 Comment »

Teams are just small “societies” of different people coming together to work: And that is A) achieving personal goals and B) achieving the team goals. This is not an easy task. There is one basic project a team should set up: Development of a strong team statement. As I explained in my article “The Jerk is gone” we did this to have a powerful guideline to rely on when we face conflicts. I want to share those rules. They’ll work in IT teams as well as in any other workplace group of people.

1. Team Culture

  • We respect each other.
  • We try to build personal relationships to each other to foster faith and open communication.
  • We value constructive critics and avoid to verbally attack each other.
  • We treat other colleagues and the management, and also clients and partners, as if they were team members.
  • We strive for celebration of personal and team success.
  • As team members we offer help to find solutions even if the context is outside our responsibility.
  • A solution or idea which evolved from the discussion of several team members is better then the opinion of just one single person.

2. Meetings

  • We have a daily meeting between 10 and 10.15 where every team member has to answer 4 questions: What did I do yesterday? Did I accomplish every task? What will I do today? Do I have any problems?
  • Additional meetings can be called to discuss critical aspects and architectural approaches in the team.
  • All team members are on time otherwise the person who is late must rework the contents of the meeting and proactively gain and share information. Exceptions: Illness, holidays, meetings with clients or other departments.
  • If someone calls a meetings that person is responsible to write the agenda and send it to participants one day in advance.
  • No person will receive responsibilities without his / her agreement.
  • For extraordinary meetings the team will appoint somebody to take the minutes.
  • Solutions are more important then time. We finish any constructive discussion or solution finding process even if the scheduled time frame is exceeded already.

3. Communication and decision making

  • At every time there is just ONE person speaking. Interruptions and side discussions are not allowed.
  • We focus on facts; emotions and personal bias are ignored as far as possible.
  • We respect the time of other team members and the predefined schedules.
  • We first seek to understand what others really mean and try to avoid to judge them by subjective positions.
  • We aim at distribute speaking time equally among the discussion participants.
  • We respect and value the opinion and help of experts especially when they are team members.
  • We accept the company’s hierarchy of decision making, given roles and responsibilities.
  • We want to become better.
  • If a team member identifies a problem he tries to deeply understand the problem and develops a few alternatives to solve it before presenting it to the team.

Those rules sound somewhat strict and some of them seem to be to unspecific. It is hard work to establish those rules within a team, especially when there are team members who find themselves to be restricted by them. But it can be a vital foundation of togetherness to find the best ruleset for the team and having the end in mind.


10 How-To’s to improve your work.

February 20th, 2009 Knowledge, Websites| 2 Comments »

Yesterday I found an interesting website, which applies the wiki principle on another area: http://www.wikihow.com

This is not about lexical knowledge of the masses but about How-To’s on several fields. As usual in wikis the contents are written and produced (you can find video How-To’s as well) by the community. Another approach on the “Wisdom of crowds”.

Just to give some examples, you could find those 10 How’to’s to improve your professional life:

  1. How-To manage Geeks
  2. How-To be a good manager
  3. How-To develop an IT Change Management Program
  4. How-To establish an IT project
  5. How-To be an effective Project Manager
  6. How-To run an effective meeting
  7. How-To motivate Staff
  8. How-To access useful Web Development Tools
  9. How-To Have successful Open-Source projects
  10. How-To improve your Skills as a programmer


Projects

February 18th, 2009 Uncategorized| No Comments »

Enterprise Projects

Phone Database

Bei diesem Projekt geht es um die sinnvolle Wiederverwertung der Daten des Deutschen Telefonbuchs. Es wird eine Komponente entwickelt, die sowohl die Datensicherheit und vor allem den den Schutz der privaten Informationen gewährleistet, als auch eine schnelle Suche und Prozessierung dieser Informationen ermöglicht. Neben der automatisierten Anreicherung der Stammdatenbestände einiger Kunden wird vor allem eine Verwertung von implizit in den Daten verborgener Informationen angestrebt: Extraktion von Branchen-Semantiken, saubere Datenbeständen für Plausibilitätskontrollen, der Aufbau einer qualitativ hochwertigen (anonymisierten) Namensdatenbank im geografischen Kontext etc. Die Suchkomponente und die Datenmanagementkomponente soll zukünftig auch den Zugriff aus anderen Anwendungen (Web, dritt-Anbieter, etc) ermöglichen und wird demnach als Service konzipiert und in einer sich im Aufbau befindlichen serviceorientierten Umgebung integriert.

Insolvency Mining

Eine auf GATE und WEKA basierende Text Mining Komponente, zur Klassifikation und autmatischen Extraktion relevanter Informationen aus Insolvenzveröffentlichungen. Die von Amtsgerichten veröffentlichten Texte zum Stand privater und geschäftlicher Insolvenzdaten werden durch eine zweiwege - NLP Komponente (Regelbasiert und Machine Learning basiert) analysiert und ür unsere Kunden so aufgearbeitet, dass die für den Kunden relevanten Daten aus den Texten herausgefiltert werden können. Zusätzlich werden die Texte durch verschiedene Verfahren des Data- und Text Mining analysiert um zusätzliche Muster in den Texten erkennen zu können und unseren Kunden dadurch einen gewissen Mehrwert zu bieten.

KTom – Enterprise Accounting Software

AJAX basierte Anwendung zur Zuordnung von Kontenbewegungen zu Rechnungen, Aufträgen, Gutschriften und anderen Positionen. Da der Auftraggeber mehrere tausend Kontobewegungen im Monat zu verzeichnen hat, konnte nur ein geringes Grad an Kostentransparenz geschaffen werden. Durch die Software musste die schnelle manuelle Abarbeitung der Zuordnungen gelöst werden. Dazu kam der Softwareergonomie während der Umsetzung ein sehr hoher Stellenwert zu. Ein weiterer Aspekt war die Implementierung schneller Suchalgorithmen um die Kontrolle über die gesamte Datenbasis des Unternehmens abdecken zu können. Die gesamte Anwendung musste buchhalterisch einwandfrei umgesetzt sein und über einen Export-Mechanismus mit einer drittanbieter Software (Datev) integriert werden.

SCRUM Introduction

Wachstum erfodert Veränderung. Durch die Expansion des Unternehmens traten in der Planung und Umsetzung von IT Projekten sowie in der Kommunikation zwischen den IT Verantwortlichen und dem Rest des Unternehmens vermehrt Probleme auf. An dieser Stelle kam SCRUM ins Spiel. Wir implementierten den Ansatz innerhalb von 2 Monaten vollständig in der It Abteilung des Unternehmens und schufen damit die Basis für die erfolgreiche Entwicklung eines stabilen und innovativen IT Teams mit einem hohen Grad an Selbstverantwortung.

Name DB

Namen sind Schall und Rauch. Namen haben verschiedene Schreibweisen, Namen können verschiedenen Geschlechtern zugeordnet werden, Namen werden falsch geschrieben und Namen sind oft abhängig von der Herkunft des Namensträgers. In diesem Projekt habe eine große Namensdatenbank mit statistischen und phonetischen Informationen geschaffen, welche über eine API die Möglichkeit bietet Namensdaten besser handhaben zu können: “Michi” ist eigentlich “Michael”, “Frau Horst Maria” ist eigentlich “Herr Horst Maria” und “Tomas” kann auch “Thomas” oder “Tomasz” geschrieben werden und tritt oft in den Kurzformen “Tom” und “Tommy” auf.

Solr Integration

Die Datenbank als Bottle Neck. Mit einer “organisch” gewachsenen Datenbank und über 20 Mio Einträgen war es dem Auftraggeber beinahe unmöglich die Kontrolle über die Daten zu behalten. Manuelle Suchvorgänge nahmen bis zu 20 Minuten in Anspruch, was zu weniger Kundenzufriedenheit, Mitarbeiterfrustration und nicht zuletzt zur fast vollständigen Blockade der Datenbank für andere Prozesse führte. Die Lösung fand ich in Solr, einem auf Lucene basierenden Volltext Such-Server. Ich entwickelte ein Datenschema um die suchrelevanten Daten so aktuell wie möglich innerhalb des Suchservers zu halten. Dadurch wurden Suchprozesse, die vorher weit mehr als 10 Minuten benötigten, auf wenige Millisekunden reduziert. Der Suchserver ist heute über eine speziell entwickelte API als Service in die Life Anwendung des Auftraggebers integriert.

eThor

Das Land Brunei vergibt jährlich einen IT Award an interessante Entwicklungen und projekte aus dem IT Bereich. Im Jahr 2005 trat die Firma Teleconsult Intl. mit einer prototypischen Software zur Videokommunikation an: eTHOR. Die Planung und Umsetzung dieser Software führte ich in enger Absprache mit Teleconsult und Fachberatern aus der Medizin bzw. der Landwirtschaft vollständig selbstständig durch. Nachdem wir zunächst einen Award von der Regierung Bruneis gewannen, traten wir bei den Asia Pacific ICT Awards an und konnten auch hier den “Special Mention Award” gewinnen.

Petronas Intranet

Im Rahmen meines Auslandspraktikums bei TAO Consulting schulte ich mit zwei Kollegen die MitarbeiterInnen des Petronas IT Teams in DHTML und AJAX Technologien und entwickelte gemeinsam mit ihnen eine prototypische Anwendung innerhalb des Petronas Intranets. In einem 3 tägigen Projekt im Petronas Tower Kuala Lumpur entstand dabei eine ajax basierte Webanwendung für Befragungen und In-House Schulungen von Mitarbeitern des Konzerns.

WebDAV Server

Zur Verbesserung des Dokumententmanagements im EDB Singapore entwickelte ich einen vollständigen WebDAV Server. Dieser Server bietet die Möglichkeit verschiedene Daten Repositories anzubinden. Herkömmliche WebDAV Server sind Dateibasiert und sind vergleichbar mit FTP. Der hier entwickelte Server ist unabhängig von der Datenquelle. Damit können die Inhalte einr Datenbank beispielsweise direkt als Excel-Datei geöffnet und über den WebDAV Server in die Datenbank zurückgeschrieben werden.

(X)Html2Doc Converter

Während meiner Zeit als Entwickler bei Antwerpes und Partner entstand die Idee ein Modul zu entwickeln, mit dessen Hilfe sich aus (X)HTML Seiten dynamisch auch Microsft Word Dokumente generieren lassen sollten. Dazu habe ich mit Hilfe der DCOM Schnittstelle der Microsoft Office Pakete aus PHP heraus auf die Microsoft eigene Dokumentenstruktur zugreifen können. Letztendlich ist ein Modul entstanden, welches über einen SAX Parser die eigehenden XHTML Dokumente ausliest und für jedes im HTML Schema definierte Element eine bestimmte DCOM Anweisung ausführt um iterativ ein Word Dokument aufzubauen.

Academic Projects

Tama

Eine auf PHP und MySQL basierende Webanwendung für das Projektmanagement. Mit diesem Programm ist es möglich Kunden, Partner und Mitarbeiter anzulegen und zu verwalten und für Projekte und Projektaufgaben zu buchen. Nebden der eigentlichen Verwaltung der Aufgaben und Resourcen beinhaltet das Programm auch verschiedene Standardwerkzeuge aus dem Projektmanagement wie bspw. Gantt Diagramme.

Eagle Eye

Das Projekt “Eagle Eye” ist gemeinsam mit der Firma Luratech entstanden. Es handelt sich um ein Applett zum Streaming, zur Anzeige und zur intelligenten Navigation von bzw. in JPEG2000 Bilddaten. Die gesamte Prozessintelligenz liegt dabei im Applett und nicht auf einem Applikationsserver. Das Applett generiert anhand einer konfigurierten URL eine interaktive Galerie. Solche JPEG200 Bilder können sehr groß sein (1GB und mehr) und sind dementsprechend nicht geeignet um sie vollständig auf Webseiten anzuzeigen. Zur Lösung dieses Problems wurde ein spezielles Streaming-Verfahren in die Anwendung integriert, welches intelligent, anhand des aktuell angezigten Auschnitts bzw. der aktuellen Auflösung des Bildes, entscheidet welche Daten einer Datei vom Server geladen werden können. Dieser Ansatz ist besonders für Anwendungen von Interesse bei der Sateliten- oder andere hochauflösende Bilddaten angezeigt werden sollen.

Mind-Space

Mit Mindspace wurde ein Softwareprototyp geschaffen mit dem eigentlich zweidimensionale Baumstrukturen in einem 3D Raum dargestellt werden können. Grundlage des Projekts war die Mindmap Methode. Das User Interface wurde an Softwarelösungen zur Erstellung herkömmlicher Mindmaps angelehnt. Die MinMap selbst wurde in C++ mit OpenGL umgesetzt und zeigt eine sogenannte Cone Visualisierung der erstellten Mind-Map. Neben der Umsetzung mit OpenGL ist die Navigation im Baum technologisch interessant.

Geo-JXTA

Ein Projekt, welches in Zusammenarbeit mit der Uni Bremen durchgeführt wurde. Ziel war die Implementierung eines Agenten, welcher sich anhand definierter Geo-Pfade auf einer Virtuellen Landkarte bewegt, sich über PeerToPeer Kommunikation mit anderen Agenten in seiner Nähe in Verbindung setzt und Informationen austauscht. Der Informationsfluss soll über die Profilinformationen der Agenten-besitzer gesteuert werden. Mit diesem Semester-Projekt konnte ein erster Prototyp entwickelt werden. Mit diesem Prototypen ist es möglich einen Agenten anhand eingespeister GPRS Daten auf einer Virtuellen Karte zu bewegen. Zur Visualisierung wurde Google Earth in die Anwendung integriert. Die Agentensoftware selbst meldet sich in einem JXTA P2P Netzwerk an (Java Framework für P2P Netze) und macht sich bei anderen Agenten bekannt. Sobald sich ein Agent in der Nähe eines anderen Agenten befindet, findet über ein eigens entwickeltes XML Protokoll ein Informationsaustausch der beiden Agenten statt. Die Kommunikation kann “life” in Google Earth beobachtet werden.

Technology Showcase DVD - Fraunhofer Institut FOKUS

Die Konzeption verschiedener Medienformate war einer der Hauptbestandteile des Studiums. In diesem Projekt wurde in einem 4 köpfigen Team eine Lehr-DVD für den mobilen Telekomunikationsstandard IMS, der am Fraunhofer Institut für offene Kommunikationssysteme (Fokus) entwickelt wird, realisiert. Neben kurzen Interview Sequenzen wurden Audiokommentare eines professionellen Sprechers in die DVD integriert. Die Implementierung der interaktiven DVD (Mehrsparchigkeit, dynamische Menüführung, Medienauthoring) wurde durch mich durchgeführt. Die DVD wird heute auf Messen und für neue Mitarbeiter des Standards eingesetzt.

Shortfilms “la lloruna” and “Open Mic Berlin”

Im Grundstudium setzte ich mich neben reinen Informatikthemen besonders mit der Medientheorie und der Konzeption verschiedener Medienformate auseinander. Unter anderem sind dabei zwei Kurzfilme entstanden, bei denen ich im gesamten Prozess involviert war: Planung, Aquise, Dreh, digitale Bearbeitung und Schnitt, Nachbearbeitung, Finalisierung. In einem der Filme wurde eine Dokumentation über die Hip Hop Kultur in Berlin realisiert. Beim zweiten Film handelt es sich um einen experimentellen Kurzfilm.