Das ZendFramework zieht ein

Das ZendFramework zieht einDas ZendFramework hat sich zu einer „State of the Art“ Komponente im PHP Umfeld etabliert, weshalb ich mich entschlossen hatte diesen für meinen Blog zur Sammlung praktischer Erfahrungen zu verwenden. Nach einer ersten Einarbeitungsphase ist der Start geschafft, unter der Haube tickt das ZendFramework – ein paar Sachen des Frameworks gefallen mir sehr gut, andere noch nicht so ganz. Ich werde die nächste Zeit dann fleissig weiter daran arbeiten, dass ich die typischen Funktionen eines Blog’s implementiert bekomme und nein … ich installiere kein WordPress oder Konsorten.

Veröffentlicht unter Allgemein | 2 Kommentare

Der Bowmore

Der BowmoreMit dem Bowmore, dem neusten Whisky meiner Whiskysammlung, möchte ich beginnen. Es geht mir bei der Bewertung in einer gewissen Art um die Archivierung der Whisky’s die ich hatte/habe. Das leidige Thema beim Whisky ist die Verdunstung und eh ich mich versehe ist eine Flasche leer gedunstet – für dieses Problem sollte ich ein paar Eckdaten festhalten, so dass ich für mich einen Widerkauf auf Basis harter Fakten rechtfertigen kann.

Ich bin ein bekennender Genießer. Ich labe mich an Hektik und Streß in meinem Leben, an meiner Arbeit als Entwickler die verlässlich nie so läuft wie ich es mir wünschen würde … und zum Ausgleich genieße ich in meiner Freizeit gerne einen Whisky. Wie unter dem Reiter „Whisky“ bereits angedeutet tummeln sich ein paar Flaschen in meinem Wohnzimmer und dazu wollte ich hier neben technischen Dingen hin und wieder ein Wort verlieren.

Ich hoffe ich kann zeitnah die Darstellung eines Whisky’s um weitere Randinformationen erweitern, ein paar Ideen habe ich da schon und vor allem ja auch noch ein paar weitere Whisky’s.

zum Bowmore

Veröffentlicht unter Whisky | Kommentare deaktiviert für Der Bowmore

Den Fokus im Auge behalten

Den Fokus im Auge behaltenSoftwarequalität beginnt mit der Anforderungsanalyse zum System, in unserem Fall mit den Anforderungen für unser ERP-System. Analysieren wir unsere Anforderungen falsch, unvollständig oder gar nicht kann die Qualität unseres ERP-Systems kaum genügend sein. Die Usability, fester Bestandteil von Softwarequalität, wird sich bedingt proportional zu der Integration von Anforderungen durch uns in unser System verhalten. Implementieren wir viele unglaubliche Features die niemand braucht mag und das zwar viel Entwicklungsspaß bringen, bei den Anforderungen haben wir aber klar gepatzt und unsere Usability … ihr ahnt es bereits. Nun hatte ich in meinem letzten Beitrag bereits festgestellt, dass die vollständige Umsetzung aller Anforderungen ein Bestandteil des Qualitätpunktes Anforderungsanalyse ist – ungünstig das die Summe der Anforderungen ein ungesunden Verhältnis zu unserer Arbeitszeit hat.

Ich kann mir nicht helfen, aber in dieser Situation entsteht für uns ein Konflikt. Natürlich wollen wir ein super System bauen und alle Anforderungen der Anwender umsetzen, trotzdem müssen wir mit den vorhanden Entwicklern auch an dem großen Gesamtziel – Gesamtumsetzung ERP-System – hinterher eilen. Vor geraumer Zeit haben wir bereits angefangen zu scrumen.Wir hatten den Vorteil eines agilen Vorgehensmodelles für uns erkannt und kommen alle zwei Woche zusammen um zu beraten welche Punkte umgesetzt werden sollen und was wir für diese Punkte an Umsetzungsaufwandveranschlagen, ganz wie es SCRUM verlangt. Toll, alles super – wir haben einen Plan und nun kann nix mehr schief gehen. Ich muss etwas ausholen um zu meinem Problem zu kommen. Wir setzen unser System modular um und geben einzelne Module nach Fertigstellung zur Nutzung frei. Bereits aktive Module wären Bestellwesen, Stücklistenwesen und 23 weitere Module. Der nächste dicke Fisch ist unser Planungsmodul, geplante Freigabe dieses Jahr. Wir haben also folgende Komponenten: Anforderungsanalyse nach agilen Ansatz betreiben wir, Planung der Aufgaben mit Zeitschätzung und Verbuchung von Zeiten haben wir, einen Haufen cooler freigegebener Module haben wir und ein Ziel für das nächste Modul haben wir auch. Toll.

Irgendwie nicht toll. Etwas gnaschig musste ich jüngst feststellen, dass die gebuchten Stunden zu der Implementierung des Moduls Planung nicht für eine rasche Umsetzung des Moduls sprechen. Wie kann das sein? Das Problem ist die vollständige Umsetzung aller Anforderungen, ihr wisst der Unterpunkt für gute Softwarequalität. Wir investieren soviel Energie in die Abrundung und Verbesserung der freigegebenen Funktionen, dass die Arbeiten für das gänzlich neue Modul nicht fokussiert genug betrieben werden. Fazit: Softwarequalität steht in Konkurrenz zu zügiger Weiterentwicklung. Antwort: Wir müssen nicht nur die Zeiten der Aufgaben schätzen die wir umsetzen wollen, sondern im Vorfeld prozentual festlegen wie viel Zeit wir zum abrunden und weiterkommen aufbringen wollen – na klar, ist einfach, haben wir aber nicht gemacht, haben wir nun aber vor. Ideen sind toll, aber unserer Stammtisch hat gesagt nur kontrollierte Ideen haben eine Chance – der Informatiker würde sagen wir brauchen eine Metrik. Gefühlt können wir uns mit einem einfachen Report helfen, sobald ich was habe reiche ich das nach.

Veröffentlicht unter Softwareentwicklung | Kommentare deaktiviert für Den Fokus im Auge behalten

Softwarequalität unseres ERP-Systems

Softwarequalität unseres ERP-SystemsAm Montag ging es in unserer ersten Stammtischrunde um Softwarequalität, loses philosophieren zu der Thematik. Wir haben zahlreiche Ideen diskutiert, scheinbare Ansätze zur Optimierung unserer Softwarequalität entdeckt …aber Moment mal, wie definiert sich in unserem Kontext – Eigenentwicklung eines unternehmenskritschen ERP-Systems – überhaupt Softwarequalität und warum müssen wir das wissen?

„Unterm Strich zählt was rauskommt“ und das bedeutet für uns nicht mehr oder weniger als „wie gut ist unser ERP-System – sprich wie gut ist unsere Arbeit, den unsere Arbeit ist der Bau des Systems „. Ein wenig Google geschüttelt kommen Erinnerungen zu vergangen Softwarevorlesungen hoch, ein Haufen DIN’s und ISO’s beschreiben jargontypisch um was es bei Softwarequalität geht, um was es geht wenn wir gute Arbeit machen wollen. Am Stammtisch können wir philosophieren, aber in einem Disput ob ich gute oder schlechte Arbeit mache hätte ich lieber harte Fakten, Zahlen in der Schublade – zur Not für einen selbstangesetzten Schulterklopfer. Ich würde gerne frühzeitig bemerken, dass unsere Arbeit nicht mehr gut ist und möglichst exakt sehen wo anzusetzen ist. Nun entsteht eine Kausalkette: Wir wollen ein gutes ERP-System => dazu muss die Qualität unglaublich gut sein => dies müssen wir stetig messen => und optimieren.

Konkrete: Wie definiert sich unsere Softwarequalität, wie messe wir diese Qualität stetig und wie setzen wir die Erkenntnisse in Ergebnisse um? Bevor ich mir Gedanken zum tracken, benchen und aufzeichnen mache folgend eine lose Sammlung was für uns Qualität ist – Unvollständigkeit garantiert.

Qualitätspunkt detailliert Messmöglichkeiten
Anforderungsanalyse
  • Vollständigkeit der Anforderungsumsetzung
  • Umsetzungsgeschwindigkeit von Anforderungen
  • Wartbarkeit, Möglichkeit von Funktionserweiterung
Dokumentation
  • Dokumentation von Funktionsumsetzung
  • Hilfe
  • Dokumentation von Code, CodeDoc
  • Codereview
  • Comments im Verhältnis zu LOC
  • Doku im Verhältnis zu LOC
  • Hilfe im Verhältnis zu LOC
Performance
  • Gesamtperformance des Systems
  • Antwortverhalten je DB Transaktion
  • Performance im Verhältnis zu Anwendern
  • Renderingperformance
  • Antwortverhalten je Transaktion
Usability
  • Anwender kommen einfach an Infos
  • Zuverlässigkeit des Systems
Fehler
  • Fehler auf Datenbankebene (Oracle)
  • Fehler auf Codeebene (PHP)
  • Oberflächenfehler, eventuell in der Darstellung (HTML)
  • Javascriptfehler
  • Reports (BI-Publisher)
  • Fehler pro Zeiteinheit

Ich habe das Gefühl es ist sinnig, wenn ich diese erste Idee unserer Qualität in ein Schaubild bringe und mir Gedanken zu Tools und Verfahren mache, wie wir diese Qualität bei uns in Zahlen ausdrücken, wie die Zahlen aussehen und wie wir die Zahlen nach oben bringen.

Veröffentlicht unter Softwareentwicklung | Kommentare deaktiviert für Softwarequalität unseres ERP-Systems

Aus der Whiskysammlung

Aus der WhiskysammlungSeit geraumer Zeit frone ich dem Whiskygenuss, einige Flaschen haben diese Zeit nicht überstanden und die Erinnerungen an rauchig aromatische Abende mit den Verflossenen laufen Gefahr zu verblassen. Da Whiskysorten vielfältig und nicht stetig konstant sind habe ich mich entschlossen, die meinigen Sorten zu dokumentieren, kommentieren und bewerten. Im Fall einer neuen Zeit der Prohibition mag dieses Wissen gar wertvoll werden, bis dahin werden meine Erkenntnisse wahrscheinlich hauptsächlich für Weggefährten und solche die es werden wollen interessant sein.
Folgend gelinkt die Liste der Whiskysorten aus meinem aktuellen Repertoire, die Detaillierung einer Sorte sollte diese Woche noch möglich sein.

Veröffentlicht unter Whisky | Kommentare deaktiviert für Aus der Whiskysammlung

Neue Hardware braucht das ERP-System

Neue Hardware braucht das ERP-SystemVergangenes Jahr hatte ich auf der IPC09 die Möglichkeit mit Pierre Joye über die Hardware unsers ERP-System in der Firma zu sprechen – ein fluschiger Webserver mit PHP. Ergebnis: Unsere Hardware gleicht der Kasse im Lidlmarkt. Ganz so vernichtet war das Diskussionsergebnis faktisch zwar nicht, trotzdem Anlas genug für uns neue Hardware zu beschaffen. Neue Hardware sollte in der Regel immer besser sein, spannend ist die Frage wie viel besser und ob die Anschaffung wirklich sinnvoll oder gar nötig war.

Alter Server: Win2008 R2 Server, IIS 7.0, PHP 5.3.2 mit Wincache, Xeon 5140 2,33 GHz, 3 GB RAM

Neuer Server: Win2008 R2 Server, IIS 7.5, PHP 5.3.2 mit Wincache, Xeon E5530 2,4 GHz, 16 GB RAM

Die Konfiguration der beiden Server ist identisch ebenso die Anbindung an die selbe Datenbank. Für einen ersten Vergleich habe ich mir eine Seite aus dem ERP-System ausgesucht die ich mit JMeter unter Last gesetzt habe. Ich habe dabei eine variierende Benutzerzahl von 10 bis 50 simuliert, diese führen 10x alle 3sec die gleiche Anfrage aus. Im Ergebnis kann man sehen welche Benutzerzahlen die Webserver gleichzeitig bei Interaktion verkraften können oder anders gesagt was ein Web- und was ein Kassenserver ist.

ist.

∑ CGI Prozese Benutzer Durchsatz KB/sek
alter Server 8 10 1,77 /sec 653
8 20 1,83 /sec 676
8 30 1,84 /sec 679
8 40 1,85 /sec 684
8 50 1,86 /sec 686
16 50 1,87 /sec 690
neuer Server 8 50 12,70 /sec 4682
16 50 17,37 /sec 6402
24 50 18,21 /sec 6711
24 70 18,60 /sec 6887
32 50 17,50 /sec 6451
32 70 19,10 /sec 7044

Fazit: Die neue Hardware bringt eine Steigerung um Faktor 10 beim Datendurchsatz. Der alte Server ist bereits bei einer Benutzerzahl von 10 Personen mit seinem Durchsatz am Limit, während der neue Server immerhin min. bis zu 60 Benutzer gut handeln kann bevor der Durchsatz stagniert – mehr Benutzer kann ich leider mit einem Client nicht simulieren. Auf einem Webserver mit 3 GB RAM sind mehr als 8 CGI Instanzen nach dem Test nicht zu empfehlen, dies führt eher zu schlechteren max. Responsezeiten. Für den neuen Server habe ich momentan 32 für die max. CGI Instanzen eingestellt, ich werde später noch detaillierterer auf die Einstellungen des Webservers eingehen. Bleibt nur zu sagen, gut das wir einen neuen Server gekauft haben – ich habe nur die Testergebnisse veröffentlich die zur einer sinnigen Erkenntnis führen.

Veröffentlicht unter Softwareentwicklung | Kommentare deaktiviert für Neue Hardware braucht das ERP-System

Buchrezension: Der leidenschaftliche Programmierer

Der leidenschaftliche ProgrammiererDas Buch bringt leichte Kost für Lesestunden wo man sich amüsant auf neue Lebensideen bringen möchte oder gar einen Motivationsschub für neue Taten sucht. In fünf Abschnitten spricht Chad Fowler vielen Entwicklern aus der Seele, stetig hatte ich das Gefühl „oh ja, wie bei mir“. Jedes der fünfzig Kapitel schließt mit kleinen Aufgaben, immer getreu dem Motto viel fordern damit der Leser einen Teil davon erreicht. Auch wenn ich viele der Aufgaben für überspitzt halte und nicht jeder Entwickler den Weg an die Spitze anstrebt halte ich das Buch für uneingeschränkt empfehlenswert.
Warum? Die IT-Welt ist schnelllebig. Als Entwickler müssen wir uns der Herausforderung stellen jeden Tag mehr zu bringen, Neues zu lernen, mehr als ein Tastaturschwinger im Keller zu sein der Schuld ist das Programme nie tun was der Anwender möchte. Das Buch hat mir geholfen meinen Arbeitsalltag aus einem neuen Blickwinkel zu sehen und vor allem eine andere Weitsicht zu verfolgen. Denn wenngleich weder Chad Fowler noch ich in die Zukunft schauen können, unsere geliebte Arbeit als Entwickler wird in zehn Jahren ganz sicher nicht mehr wie heute aussehen – da will ich lieber vorbereitet sein.

Das Buch bei Amazon

Veröffentlicht unter Buchrezension | Kommentare deaktiviert für Buchrezension: Der leidenschaftliche Programmierer

Los geht es, es wird ein Blog

Los geht es, es wird ein BlogNach knapp vier Wochen, viel Nacharbeiten an eierlei.de und Hektik auf der Arbeit, finde ich die Zeit weiter zu machen oder besser gesagt anzufangen. Zu erst Bedarf es eines Plan’s was der Blog alles können soll und natürlich einem Datum bis wann er dies können soll. Als Datum habe ich mir Ende Mai gesetzt und zum Inhalt will ich mit folgenden Dingen loslegen und schauen was sich weiter ergibt.

  • Artikel zu technischen Dingen rund um PHP, Oracle und anderem
  • Einblicke in meine Whiskysammlung mit Bilder und meinen Geschmacksbewertungen
  • Ein wenig was von mir, Bilder von Orten an denen ich war und Ideen von Orten wo ich hin möchte
Veröffentlicht unter Allgemein | Kommentare deaktiviert für Los geht es, es wird ein Blog

Die Idee zum Blog

Die Idee zum BlogAm 25.03.2010 um 23.05 ist es in einem Hotel in Düsseldorf soweit, der Startschuss für meinen Blog – besser die Idee. Wir haben 4 Tage viele spannende Dinge zu Oracledatenbanken gesehen … davon und von anderen Dnigen will ich zukünftig berichten.

Veröffentlicht unter Allgemein | Kommentare deaktiviert für Die Idee zum Blog