Workshop Softwarearchitektur

Florian Sesser High Performance

Während Diskussion aufgekommen:

Notizen
  • Exkurs Memory-Allokator
    • Java/C# vs C - GC vs Malloc
    • Same page merging
    • Cache conscious, Cache oblivious
    • Deterministic Paged Skip List - Cache Conscious
  • Wir sind uns einig: Bit indices sind cool.

Joe's Anekdote / Diskussion zu Scrum

Scrum als Prozess, damit man halt einen hat, wenn gleichzeitig ein nicht in den Prozess eingebundener Projektleiter feste Termine vorgibt, ist schwierig. Bei langfristigen Terminschätzungen kann man Dinge wie ein Refactoring eher mal dazwischen schieben.

  • Das Team gibt die Geschwindigkeit vor
  • Eine wichtige Aufgabe des Scrum Masters ist, den Druck vom Team weg zu nehmen und so dafür zu sorgen, dass das Team vernünftig arbeiten kann.
  • „Story Points“ statt „Stunden“ unter anderem, damit unbegabte/störrische Projektleiter einen nicht auf eine grob geschätzte Zeit festnageln – Als Tool um Druck weg zu nehmen.
  • Bei sehr engen Iterationen (1-Woche-Sprints z.B.) darf trotzdem Maintenance nicht ausfallen
  • Buchempfehlung von Froh: Fergus O'Connell Fast Projects.
    • Tipp zum Umgang mit Zeitdruck von oben:
      • „Es dauert bis Dezember.“ (realistische Zeiteinschätzung)
      • - „Macht's bis Oktober.“ (Vorgabe)
      • „Wir probieren's.“ (d.h. das Commitment bezieht sich auf den Versuch)
      • Jeden Tag Projektplanung mit ETA abschließen: „Wir haben das und das geschafft, d.h. wir werden realistisch im Dezember fertig.“
      • ⇒ Nach einigen Tagen/Wochen sollte beim PM ankommen, dass er entweder etwas unfertiges im Oktober oder etwas fertiges im Dezember haben kann.
      • ⇒ Man muss aufpassen, dass man sich als Dev Team Lead nicht in die Rolle drängen lässt, schlecht da zu stehen, wenn man eine externe, unrealistische Vorgabe nicht einhält. Die eigene Schätzung war OK, dass eine unrealistische nicht eingehalten werden kann ohne Abstriche, ist klar.
  • Joe: Die „10:1“ Effektivitäts-Schätzung für Entwickler deckt maximal die Tagesform ab, realistisch ist eher mehr
  • Frank: Oft wird unter Zeitdruck die optimistische Schätzung genommen und dann noch das Testing gekürzt / auf Unit Tests verzichtet. Man könne ja Überstunden machen zum Ausgleich. Aber selbst, wenn die bezahlt werden – Dass da keine Qualität rauskommen kann, ist klar.
    • Joe: Stimmt. In anderen Ingenieurs-Disziplinen sieht man den Produkten leichter von außen an, wenn sie nicht fertig werden; Das ist in der Informatik ein Problem.