Schlaues zur Softwarequalität

Standard

Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don’t improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don’t buy a new scale; change your diet. If you want to improve your software, don’t test more; develop better.

auch wieder von Steve McConell aus Code Complete

Advertisements

Wie immer im Januar – Weihnachtsfeier vom Vorjahr

Standard

Auch dieses Jahr gab es wie seit einigen Jahren traditionell das Weihnachtsessen wieder im Januar. Ist einfach entstresster. Vor Weihnachten ist es schwierig einen gemeinsamen Termin zu finden und wenn man den hat, dann auch noch einen Tisch in einem Restaurant zu finden. Fast unmöglich.

Auch dieses Jahr wieder lecker Essen. Diesmal griechisch.

Wie immer ganz entspannt und mit guter Stimmung.

Wobei in der heutigen Zeit die aktuellen Berichte vom Weihnachtsessen gleich in WhatsApp und Co. an Familie und Sonstige durchgegeben werden müssen. Das nächste Mal werde ich dann versuchen den Blogartikel direkt von der Festtafel aus zu erstellen.

Clean Code Zitat

Standard

Good code is its own best documentation. As you’re about to add a comment, ask yourself, ‚How can I improve the code so that this comment isn’t needed?‘ Improve the code and then document it to make it even clearer.

Steve McConell

aus Code Complete (ein wirklich empfehlenswertes Werk für Softwareentwickler)

Spruch zum Wochenanfang – Entwurf komplexer Systeme

Standard

A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple System.

von John Gall

 

Methoden für komplexe Strukturen sind simpel – es erfordert lediglich Genialität sie zu verstehen

Standard

Unsere Welt wird immer komplizierter. Unsere täglichen Abläufe überfordern uns. Wir verstehen vor lauter „Bäumen“, die wir sehen und die ja so verschieden sind, den „Wald“ nicht mehr.

Nehmen wir zum Beispiel den Aufbau eines modernen Produktes bestehend aus mechanischen Komponenten, Elektronik und verschiedenen Softwaren. Früher ganz einfach. Gehäuse mit ein bisschen Mechanik, eine kleine Platine und eine Steuerungssoftware. Das war sehr lange so und hat sich natürlich in die Köpfe der Entwickler eingebrannt.

Ab und zu wird dann die Platine und die Software nochmal in einem anderen Gerät verwendet. Ok, dann muss man die Entwicklungstermine ein bisschen mehr koordinieren.

Aber nun, die Welt bricht um. Das digitale Zeitalter, wie wir es nennen, erreicht uns. Produkte werden wesentlich komplexer. Die Wiederverwendung der Komponenten steigt. Die Vielzahl der Teilprodukttypen steigt. Die Methodik etwas zu entwickeln bleibt aber auf dem Stand der letzten Jahre. Das „Antrainierte“ kann nicht so schnell im Kopf ersetzt werden.

Tooltechnisch kann die Lösung nur sein, einfachere Anwendungen als bisher für diese komplexen Strukturen zu schaffen. Das gemeinsame der Entwicklungsprozesse muss gefunden und darauf muss sich fokussiert werden. Egal um welche Baukomponente es sich handelt. Methodisch sind Mechanik und Software heutzutage gar nicht mehr weit entfernt. Mann muss es nur sehen wollen. Die Software hat sich aus dem Revier des „Künstlers“ in das des soliden Handwerkers und Entwicklers verschoben. Die Entwicklung der Mechanik ist agiler geworden. Zugegeben, es gibt Spezialitäten. Die sollte man dann aber separat abbilden. Eigene Tools dafür bauen. Die mit dem „großen Ganzen“ verknüpft werden.

Gut, ein Tool kann also im Prinzip für das Tracking von Mechanik, Elektronik, Software und Co. eingesetzt werden. Gleiche Methoden für alles. Gleiche Anwenderoberflächen für alles. Der datentechnische Inhalt unterscheidet sich natürlich, wie bisher auch. Querverknüpfungen werden komplexer. Das Suchen von Informationen wird mehr in die Richtung gehen, wie wir es aus dem Internet gewohnt sind. Die große Excelliste hat ausgedient, weil sie einfach nicht mehr breit genug ist, um auf die 3 Bildschirme nebeneinander zu passen. Landkarten des „Produktwaldes“ treten an die Stelle der bisherigen Suchlisten. „Detailzooms“ wie bei Google Maps die Streetviews treten an die Stelle von Gesamtübersichten. „Favoriten“ kennzeichnen das leichte Wiederfinden.

Ok, sind wir doch alles schon gewohnt, sagen Sie. Sicher? Auch in der Umgebung, in der wir uns, bestimmt von Excel und Office Anwendungen, selbstorganisierend seit 20 Jahren bewegen? Sicher nicht. Die Methode ist zwar standardisiert, aber in unserem Kopf muss sich einiges bewegen. Wir brauchen ein Bild von dem was wir tun, weil das letztendlich die allgemeine Methode nicht mehr 100% vermitteln kann. Hier beginnt für die altgedienten Recken die Herausforderung, ein kleines Stück Genialität ist hier gefragt. Neuanfänger haben an dieser Stelle weniger das Problem.