42 Things You Should Have Done At The TECHNICAL University

technical-university

I came across a list of 101 things you should have done during studies (German) recently and I thought, that it’s more of a list of fun things to do during your studies of social sciences but not so much technical ones. That’s why I made my own list*:

  1. Attend the lecture “Theory of Relativity 101” and frequently ask “Why?”
  2. Install games on your pocket calculator.
  3. Turn off your computer and try to research a current topic only with books from a public library.
  4. Try to wake up a professor, who fell asleep during your presentation with a sudden enthusiastic expression.
  5. Go to an exam about “Mathematical Logic” without preparation, because it’s “only logic”. Fail.
  6. Fall asleep during “Electrical Engineering” at 8 o’clock in the morning.
  7. Wake up during “Technical Mathematics” at 10 o’clock in the morning.
  8. Get offered a Schnaps by a professor because he thinks you are too nervous.
  9. Get in a fight with a professor about the integrity of science.
  10. Bash social sciences because they’re not “real” science. Get convinced of the opposite.
  11. Get left behind in a laboratory after opening hours.
  12. Join a group of nerds.
  13. Spend 5 days in a row preparing for an exam and oversleep on the day it actually takes place because you are too tired.
  14. Go to the library for socializing and not for reading.
  15. Get old exams from the Student Council (Austrian: “Fachschaft”).
  16. Figure out far too late that all the mathematical courses are easier at non-technical universities than at your university and that you could have completed them there.
  17. Learn to read the cryptic handwriting of an eccentric professor.
  18. Disagree with your professor.
  19. Agree with your professor.
  20. Know at least the first 10 digits of Pi by heart.
  21. Make friends with the librarian.
  22. Make friends with your favorite (grumpy) waiter at your favorite coffee house.
  23. Play hooky a lecture and discuss the matter with your fellow students.
  24. Write a technical paper and only use the feminine form.
  25. Attend an super important scientific conference at a very pleasant place such as Hawaii.
  26. Learn how to program. Even if you don’t study computer sciences.
  27. Let other fellow students copy from you during a course.
  28. Study a semester abroad at a university that is on the other side of the world.
  29. Don’t do anything for your studies for an entire semester. Really nothing. (Can be combined with 28.)
  30. Learn to use LaTeX – hate it first but fall in love with it later.
  31. Win a price for your master thesis and spend the price money with your friends in a bar.
  32. When a tutor discusses the wrong layout of your paperwork, try to convince him that it was the printer’s fault.
  33. Correct a scientific Wikipedia article.
  34. Work as a tutor and teach freshmen.
  35. When you finished your thesis and still have some time left during the semester take a random course – because you paid for the whole semester.
  36. Take at least one course about “Soft Skills & Gender Studies”.
  37. Invite your thesis supervisor for a drink after your defensio.
  38. Spill your coffee over the “Maths Basics” book. On purpose. Alternatively burn it.
  39. Submit a paper containing only lorem ipsum for peer review to a scientific conference.
  40. Get good grades at the “Analysis II” exam although you never ever will need it again in your entire life.
  41. Write a cheat sheet with formulas. Then write it again but smaller. And then smaller again. And again. Until you memorize it.
  42. Read The Hitchhiker’s Guide and use the number 42 as often as possible.

And what was the funniest thing you did at the university?


* I accomplished some of these things during the ten years at the Vienna University of Technology, others I suggest you do.

Migrating a Full Text Search

Zusammen mit meinen Kollegen Siegfried Goeschl und Andreas Rappold habe ich ein Paper über unsere Arbeit bei willhaben.at geschrieben. Wir haben in einem groß angelegten Projekt die bestehende Suchmaschine (ESP FAST) für die Volltextsuche bei willhaben durch ein neues Open Source System (Apache SOLR) ersetzt. Wie wir das ganze geschafft haben und welche Testansätze wir verfolgt haben, kann man im PDF MigratingAFullTextSearch erfahren.

Der Beitrag ist beim Ministry of Testing in der Rubrik “The Testing Planet” erschienen.

ministry of testing logo

Buchbesprechung: Agile Projekte mit Scrum, XP, Kanban im Unternehmen durchführen – Erfahrungsberichte aus der Praxis

Meine letzte Buchbesprechung für die Wirtschaftsinformatik (hier alle meine Rezensionen):

Agile Projekte mit Scrum, XP, Kanban im Unternehmen durchführen – Erfahrungsberichte aus der Praxis

Agile Projekte mit Scrum, XP, Kanban im Unternehmen durchführen – Erfahrungsberichte aus der Praxis
von Wolf, H. (Hrsg.)

dpunkt.verlag
ISBN 978-3898647526

34.90 €

Rezensent: Barbara Ondrisek, (Wien)

Das Buch sammelt einige Praxisberichte aus verschiedenen agilen Projekten. Dabei werden zwölf Beiträge verschiedener Autoren präsentiert, bei denen es um praktische Probleme und Lösungsideen in agilen Projekten geht. Es wird hierbei etwa auch beschrieben, welche Adaptionen der agilen Kernprozesse notwendig waren, um erfolgreich zu sein.

Vorrangig geht es bei den Beiträgen um die Einführung den Prozessmodells Scrum in diversen Organisationen. Es wird ebenfalls die Vorstellung verschiedener konkreter Entwicklungspraktiken beschrieben, wie etwa die Einführung von eXtreme Programming (XP). Der für mich interessanteste Beitrag war der über die Einführung von Scrum in einem traditionellen Fixpreisprojekt. Ebenfalls lesenswert ist die Vorstellung von Kanban im Operationsumfeld, wie auch die Beschreibung der Probleme von agilen Methoden bei Startups.

Die einzelnen Beiträge sind unabhängig voneinander und können beliebig ohne vorgegebene Reihenfolge gelesen werden. Man kann etwa einzelne Beiträge als Inspiration lesen, wenn man vor ähnlichen Schwierigkeiten im eigenen Projekt steht. Anders als ein Methodenbuch werden keine theoretischen Grundlagen erklärt, sondern eine Reihe von Erfahrungsberichten mit Vor- und Nachteilen der Prozesse beschrieben.

.
Der Artikel direkt bei wirtschaftsinformatik.de

Buchbesprechung: Kanban für die Softwareentwicklung

Meine letzte Buchbesprechung für die Wirtschaftsinformatik (hier alle meine Rezensionen):

Kanban für die Softwareentwicklung

Kanban für die Softwareentwicklung
von Thomas Epping

Springer Verlag
ISBN 978-3-642-22594-9

19.95 €

Rezensent: Barbara Ondrisek, (Wien)

Das Buch “Kanban für die Softwareentwicklung” aus der Springer-Reihe “Informatik im Fokus” behandelt das relativ neue Prozessmodell Kanban, eine Lean Management Methode, die ursprünglich aus der Automobilindustrie stammt und 2007 von David J. Anderson für die Softwareentwicklung adaptiert und vorgestellt wurde.

Der Bezug zu dem Wertesystem von Kanban, klassische Elemente und konkrete Techniken für typische Phasen stehen im Vordergrund. Die Freiheit von Kanban liegt darin, verschiedene projektindividuelle Techniken in unterschiedlichen Projekten einsetzen zu können. Die Themen und Inhalte des Buches basieren auf der theoretischen wie praktischen Beschäftigung mit Kanban, so kann jeder Leser oder jede Leserin selbst entscheiden, was für das eigene Projekt wertvoll wäre.

Das Buch beschreibt die Einführung im Team anhand verschiedener Beispiele, die auf diversen theoretischen Prinzipien basieren. Allerdings fehlt ein näherer Vergleich mit den anderen gegenwärtigen Softwareentwicklungspraktiken wie Scrum oder Extreme Programming, der das Buch abrunden würde. Ungewöhnlich viele englische Zitate und Episoden erschweren zudem das Lesen.

Als kompakte Einführung in Kanban ist das Buch durchaus geeignet. Es vermittelt einen soliden Überblick über die zugrundeliegende Theorie und mögliche Praktiken.

.
Der Artikel direkt bei wirtschaftsinformatik.de

Buchbesprechung: Agile Entwicklungspraktiken mit Scrum

Hier meine letzte Buchbesprechung für die Wirtschaftsinformatik (hier alle meine Rezensionen):

» Zur Bestellung

Agile Entwicklungspraktiken mit Scrum
von Pichler, R., Roock, S. (Hrsg.)

dpunkt.verlag
ISBN 978-3-89864-719
32.90 €

Rezensent: Barbara Ondrisek, (Wien)

Scrum selbst schreibt explizit keine Entwicklungspraktik vor, da es im Allgemeinen als Werkzeug für Projektabarbeitung gilt – sogar unabhängig von Softwareentwicklung. Das Buch “Agile Entwicklungspraktiken mit Scrum” bietet einen Überblick über Technik und Techniken mit Scrum im Umfeld der Softwareentwicklung und erklärt den praxisnahen Einsatz von Scrum.

Es gibt bereits eine umfangreiche Sammlung von einführenden Büchern über Scrum, dieses geht einen Schritt weiter und überspringt das Vermitteln von agilen Prinzipien und erläutert technische Aspekte agiler Softwareentwicklung.

Jedes Kapitel wurde von einem anderen Autor geschrieben, was die Idee unterstützt, das Buch nicht von Anfang bis Ende linear zu lesen, sondern sich fallweise einen Bereich vorzunehmen. Jedes Kapitel umfasst einen anderen Aspekt agiler Praktiken: Entwicklung einer Architekturvision vor der Planung, inkrementeller Entwurf, Continuous Integration, testgetriebene Entwicklung, Refactoring, Akzeptanztests, Pair Programming, Collective Ownership, Code-Katas und Coding-Dojos, Model Driven Development und verteiltes Arbeiten mit Scrum.

Das Buch erklärt praxisnah das beste Vorgehen für Scrum in der Softwareentwicklung, wobei Code-Beispiele (größtenteils in Java) die Umsetzung erklären und diverse Tools und Frameworks vorgestellt werden. Dabei setzt es Grundlagen voraus und ist für bereits erfahrene Softwareentwickler oder -architekten gedacht.

Hauptbeitrag im Informatik-Spektrum

Mein wissenschaftlicher Artikel ‘Risiken von E-Voting – Sicherheit und Probleme elektronischer Wahlen‘, der als Zeitschriftenbeitrag (wie bereits berichtet) fürs Informatik-Spektrum des Springer Verlages schon im Frühling angenommen wurde und bislang nur online verfügbar war, wurde nun als Hauptbeitrag abgedruckt.
Ausgabe: Volume 32, Number 5.

informatik-spektrum

HAUPTBEITRAG
Risiken von E-Voting – Sicherheit und Probleme elektronischer Wahlen
Author(s) Barbara Ondrisek
DOI 10.1007/s00287-009-0341-x
Online since April 03, 2009
Page 373 – 377

Buchbesprechung: Softwareentwicklung – kompakt und verständlich

Hier meine letzte Buchbesprechung für die Wirtschaftsinformatik (hier alle meine Rezensionen):

» Zur Bestellung

Softwareentwicklung – kompakt und verständlich
von Brandt-Pook, H., Kollmeier, R.

Vieweg+Teubner
ISBN 978-3834803658

19.90 €

Rezensent: Barbara Ondrisek (Wien)

Qualitätssicherung und genau definierte Prozesse sind in der Softwareentwicklung von immer größerer Bedeutung. Das kompakte Handbuch über die Softwareentwicklung zeigt aktuelle Methoden und Techniken. Dabei ist es als Einstiegswerk für Azubis und Studenten der Wirtschaftsinformatik oder Informatik gedacht, da es knapp Grundlagen vermittelt. Das Buch schafft einen groben Überblick, im Besonderen über die Individualentwicklung von Software, und verliert sich kaum in Details, wie etwa der Programmierung.

Der Prozess der Herstellung von Software wird in dem Buch allgemein beschrieben, und die bekanntesten Vorgehensmethoden, wie Wasserfall- und V-Modell, werden vorgestellt. Leider ist keine Einführung in Scrum enthalten, als einziger Vertreter der agilen Methoden wird XP erwähnt.

Ausgewählte Methoden, Hilfsmittel und Werkzeuge der Softwareentwicklung werden erklärt. Die gängigsten Diagramme werden beschrieben, wobei vor allem auf UML ausgiebig eingegangen wird.

Im letzten Kapitel wird das Projektgeschehen beschrieben, wie Projektarbeit aussehen kann, welche Rollen zu besetzen und welche Dokumente zu verwenden sind. Es wird erläutert, wie IT-Projekte und deren Prozesse im Allgemeinen ablaufen.

Das Buch ist in saloppem Umgangston geschrieben (Duzen, Smilies). Am Ende jedes Kapitels folgen Übungsaufgaben und Wiederholungsfragen. Als Überblick für IT-Einsteiger ist dieses kurze Buch sicher zu empfehlen, da kein Vorwissen notwendig ist.

Buchbesprechung: Soft Skills für Softwareentwickler

Nach meinen letzten Besprechungen zu den Büchern “Agile Softwareentwicklung” und “Scrum” habe ich eine weitere Rezension für die Wirtschaftsinformatik geschrieben. Dazwischen habe ich übrigens auch eine nicht besonders löbliche über “IT-Management” verfasst, hier aber nicht gepostet, da ich das Buch sowieso als eine Themenverfehlung empfand.

Wer übrigens für mein Buch über E-Voting eine Rezension schreiben will, bekommt es gratis (materieller Wert von €68!) bei der Wirtschaftsinformatik.

Hier meine letzte Buchbesprechung:

» Zur Bestellung
Soft Skills für Softwareentwickler
von Uwe Vigenschow, Björn Schneider

dpunkt
ISBN 978-3-89864-433-4

36.00 €

Rezensent: Barbara Ondrisek, Wien

Unterschiede zwischen Softwareentwicklern und dem Fachbereich, Kunden und dem Management sind oft Auslöser für Probleme in Projekten. Eine Verbesserung der Soft Skills und Kommunikationstechniken führen nachhaltig zu größerem Projekterfolg.

IT ist für Nicht-ITler nur Mittel zum Zweck und wird nur gesehen, wenn etwas nicht funktioniert. Missverständnisse zwischen Entwicklern und Nicht-Entwicklern aus den Fachbereichen und dem Management sind vorprogrammiert, obwohl letztere maßgeblich am Erfolg der Entwickler (die sie aber nicht verstehen) abhängig sind.
Oft gelten gängige Klischees: Entwickler können nicht zuhören und der Fachbereich kennt sich (technisch) nicht aus. Werden Verantwortungsbereiche überschritten, reagieren die Teilnehmer oft ablehnend oder aggressiv. Um die Differenzen zu verringern und das Projektziel nicht aus den Augen zu verlieren, helfen eigene Fragetechniken, Kommunikationsmodelle und konstruktives Konfliktmanagement. Eine Verbesserung der Soft Skills aller Teilnehmer führt zudem zu einer höheren individuellen Leistungsfähigkeit.

Moderne agile Projektmodelle helfen Konflikte früher sichtbar zu machen. Ganzheitliches Projektmanagement durch Projektumfeldanalyse identifiziert Stakeholder und deren Ziele, wobei deren Beziehungen unterschieden und berücksichtigt werden müssen. Der Projekterfolg lässt sich zudem durch Projektmarketing und Verbesserung der Softwarequalität verstärken.

Die Effizienz der Kommunikation ist ein wesentlicher Erfolgsfaktor. Informationsverluste können mit Einsatz verschiedener Kommunikationstechniken minimiert werden. Es werden verschiedene Fragetechniken erläutert, z.B. die auf NLP basierende 6-Stufen-Fragetechnik, mit der Details aufgefasst werden können, die sonst verloren gingen. Andere Techniken wie positive Verstärkung, Ich-Botschaften, aktives Zuhören oder Auf die Meta-Ebene gehen werden erklärt.

Unterschiedliche Kommunikationstypen werden identifiziert und Erklärungsmöglichkeiten und Anregungen für die Zusammenarbeit mit schwierigen Mitarbeitern gegeben. Konflikte müssen zunächst verstanden werden, um auch konstruktiv genutzt zu werden.

Das Buch ist in 5 Abschnitte gegliedert: Projektarchitektur und Kommunikationsschnittstellen, Fragetechniken, erfolgreich Kommunizieren, Kommunikationstypen und Konfliktmanagement. Im Anhang werden Übungen vorgestellt und theoretische Grundlagen erklärt.
Das Buch ist eine Sammlung von hilfreichen Kommunikationstechniken und Modellen, die das Zusammenspiel aller an einem Softwareprojekt Beteiligten erleichtern soll.

Zeitschriftenbeitrag: “Risiken von E-Voting”

Mein Beitrag für das wissenschaftliche Journal Informatik-Spektrum (Springer Verlag), der das Problem bei E-Voting und den Vorteil von Papierwahlen (siehe auch Aktion papierwahl.at) zusammenfasst:

.

Risiken von E-Voting – Sicherheit und Probleme elektronischer Wahlen
Zeitschrift Informatik-Spektrum
Verlag Springer Berlin / Heidelberg
ISSN 0170-6012 (Print) 1432-122X (Online)
Kategorie HAUPTBEITRAG
DOI 10.1007/s00287-009-0341-x
Fachgebiete Informatik
SpringerLink Date Freitag, 3. April 2009
pdf_iconPDF (181,7 KB)

Zusammenfassung E-Voting ist ein sehr kontroverses Gebiet. Die Wahlbeteiligung nimmt kontinuierlich ab, weshalb einige Politiker meinen, ein Allheilmittel entdeckt zu haben: Internetwahlen als zusätzliche Wahlmethode. Obwohl IT-Experten und Datenschutzrechts-Spezialisten sich gegen elektronische Wahlen aussprechen, wird es in Österreich bei der kommenden Wahl der Österreichischen HochschülerInnenschaft im Frühling 2009 dennoch einen Echtwahlversuch mit Internetwahlen geben. Die Vorteile von E-Voting wie Erhöhung der Wahlbeteiligung durch zusätzliche Wahlkanäle und Kostenersparnis wurden allerdings durch Studien bereits entkräftet: Durch elektronische Verfahren seien vielmehr die Wahlrechtsgrundsätze gefährdet und die Transparenz des Wahlvorgangs ginge verloren, meinen Kritiker.

pdf-previewaxd

Privacy, Disclaimer, Terms and Conditions, © Copyright Information

.

PS. Danke Michaela Chiaki Ripplinger von communicate for you fürs Korrekturlesen!

Buchbesprechung: Agile Softwareentwicklung

Nach meiner letzten Buchbesprechung über “Scrum” habe ich mich weiterhin mit dem Thema auseinandergesetzt und habe nun eine neue Rezension für die Wirtschaftsinformatik geschrieben:

» Zur Bestellung

Agile Softwareentwicklung
von Wolf-Gideon Bleek, Henning Wolf

dpunkt
ISBN 978-3898644730

29.00 €

Rezensent: Barbara Ondrisek, Wien

Die Einführung agiler Modelle in Softwareentwicklungsprojekte gestaltet sich häufig recht schwierig, hier will das Buch „Agile Softwareentwicklung“ den Einstieg erleichtern. Methodenunabhängig werden die Konzepte hinter agilen Denkweisen erläutert und mit Enthusiasmus die Vorteile zu traditionellen Vorgehensweisen herausgestrichen.
Allgemeine agile Prinzipien wie frühe und häufige Auslieferung, Kommunikation und Feedback, Einfachheit im Sinne von Reduktion sind der Kern der agilen Einstellung. Der Mensch steht im Vordergrund und strikte Prozesse werden durch flexible ersetzt. Mit agilen Methoden werden iterativ wachsende, lauffähige Software-Produkte hergestellt, wobei auf enge Zusammenarbeit mit dem Kunden geachtet wird. Reaktionen auf Veränderungen, wie auch ständiges Lernen und Verbesserungen am Prozess sind wesentliche Bestandteile eines agilen Projekts.

Nach Erklärung der allgemeinen Prinzipien der agilen Softwareentwicklung und der Vorstellung des agilen Manifests folgt der Kernbestandteil des Buches, in dem verschiedene Fragestellungen behandelt werden. Es werden hierbei drei Sichtweisen unterschieden: Management, Team und Entwicklung. In Bezug zu diesen Perspektiven werden verschiedene Probleme bzw. Herausforderungen, die in Projekten vorkommen, in einzelnen Kapiteln thematisiert.

Das Buch ist iterativ mit einem Frage-Antwort-Zyklus aufgebaut. Pro Kapitel wird die Fragestellung erklärt, danach wird die agile Sichtweise ausgeführt und letztlich die agile Lösung vorgestellt. Hierbei wird nicht eine einzelne Methode präferiert, sondern es werden verschiedene Modelle beschrieben.

Es werden Praktiken verschiedener Ansätze diskutiert und empfohlen, wie Pair Programming, Continuous Integration oder Nightly Builds. Verschiedene Designprinzipien wie z.B. „Don’t repeat yourself“ werden zudem erklärt. Zuletzt wird ein Überblick über die drei weit verbreiteten agilen Methoden eXtreme Programming, Scrum und Feature Driven Development gegeben.

Der Schlüssel agiler Methoden ist die Rückkopplung in möglichst kurzen Zyklen, ständiges Lernen und eine sich daraus ergebende ständige Verbesserung. Das Buch kann begleitend zu einem neuen Projekt gelesen werden oder als Nachschlagewerk dienen. Es setzt ein gewisses Grundwissen voraus, das Personen, die in der Softwareentwicklung tätig sind, aufbringen. Es ist daher weniger für Programmieranfänger, sondern eher für erfahrene Entwickler wie auch das Management gedacht.