Schön, dass es mit automatisierten Tests losgehen soll.Aber leider hört sich das Vorgehen nicht erfolgversprechend an. Da ist wieder ein Masterplan am Start. Tut mir leid, das so sagen zu müssen.
Es beginnt schon mit "automatisches Testen". Was ist damit gemeint? Unit Tests, Integrationstests, Akzeptanztests? Tests durch das UI hindurch? Und was steckt unten drunter? RDBMS oder Dateisystem oder Kommunikation mit SAP? Ohne Definition keine Antwort auf Fragen wie "Um wieviel sinkt die Produktivität?".Aber auch ohne die Definition:Um wieviel sinkt die Produktivität? Das kann erstens keiner für euer Szenario sagen - und zweitens kann das ohnehin keiner sagen, solange die heutige Produktivität nicht gemessen wird. Oder kannst du sagen, wie produktiv ist seid? Worin messt ihr das?Wie lange dauert einer Einführung? Von was? Was ist das Kriterium, dass eine Einführung beendet ist und nun die Produktivphase begonnen hat? Wenn eine Testabdeckung von X% erreicht ist? Oder wenn Y% der Entwickler die Frameworks zu Z% kennen?Und auch wenn ich die Frage nach dem ROI verstehe... Sie zeigt doch, dass nicht verstanden ist, worum es geht. Sorry. Denn was muss man denn dafür wissen:1. Die Höhe des Investments. Die kann nicht angegeben werden. Weil nie klar sein wird, wieviel ins Testen investiert wird. Oder wollt ihr in Zukunft erheben, "2,45 Std Aufwand in Tests gesteckt gegenüber 4,23 Std in Produktionscode"?2. Die Höhe des Returns, d.h. des Betrages, der durch (!) das Testen gewonnen wird, ist sehr wahrscheinlich immer unklar. Oder messt ihr heute, was ihr durch nicht-Testen an Kosten habt? Das mindeste wäre, dass ihr beim Support zählt, wieviele Bugs dort auflaufen. Deren Zahl müsste ja über die Zeit im Mittel sinken. Aber auch das ist keine verlässliche Zahl. Denn die könnte auch gleich bleiben bei steigendem autom. Testaufwand, weil eure Software komplexer wird.
Vorhandene Codebasis? Die nachträglich mit Tests auszustatten funktioniert nicht. Das Kind ist im Brunnen. Vergesst größere Refaktorisierungsorgien.Meine Empfehlung:1. Wenn ein Bug aufschlägt, dann dafür gezielt Reproduktionstests in Rot schreiben und auf Grün bringen.2. Wenn irgendwo refaktorisiert werden muss, dann dafür Tests schreiben, die heute grün sind und über die Refaktorisierung grün bleiben.3. Wenn ihr neue Sachen schreibt, dann gleich richtig mit Tests.
Und ansonsten: Nicht von blinden/naiven Managementforderungen ablenken lassen. Nicht glauben, dass es anytime soon "ein Ende" gibt. Ihr steigt gerade erst in Clean Code ein. Damit werdet ihr noch Jahre zu tun haben. Aber ihr wollt ja auch noch Jahrzehnte im Business bleiben :-)
Die Fragen nach dem ROI usw. hören sich an, als würde ein Raucher fragen, ab wann es sich lohne, mit dem Rauchen aufzuhören. Wann ist break even beim Nichtrauchen? Lohnt es sich erst ab 1 Jahr oder ab 10 Jahren? Für den Fall sind wir uns hoffentlich einig, ist die Antwort klar: Regelmäßiges Rauchen ist immer der Gesundheit abträglich - und zwar auf unabsehbare Weise. Wer regelmäßig raucht, spielt mit seiner Gesundheit, mit seinem Leben.
Das ist ok. Darf jeder machen. Live fast, die young - das ist eine legitime Lebenseinstellung. Nur darf man sich dann nicht beklagen, wenn die Kondition schneller sinkt als bei anderen oder andere Malaisen einsetzen, weil der Körper konstant und immer mehr belastet wird.Wer ein gesundes langes Leben haben will, der fängt am besten nicht mit dem Rauchen an. In einer Welt, in der viele Belastungen nicht vermieden werden können (z.B. im Bereich Ernährung oder Luftverschmutzung), ist eine solche zusätzliche Belastung freiwillig einzugehen töricht.Dito bei der Softwareentwicklung mit dem nicht-Testen. Auch das ist eine Sucht wie das Rauchen. Denn es wird für kurzfristigen Gewinn (Produktivitätskick) die mittel- bis langfristige Projektgesundheit aufs Spiel gesetzt. Da muss man genauso wenig nach dem ROI fragen wie beim Rauchen.
Import-Module buildtools
Push-Location
Set-Location NHunspell
Clear-Build
Complete-Build
Pop-Location
so, und das ist nämlich genau der Witz an der Sache, dass der Build Server keine konkrete Konfiguration des Builds mehr hat, sondern die aktuelle Konfiguation über die Code-Repository bekommt.
--
Sie erhalten diese Nachricht, weil Sie in Google Groups E-Mails von der Gruppe "Clean Code Developer" abonniert haben.
Wenn Sie sich von dieser Gruppe abmelden und keine E-Mails mehr von dieser Gruppe erhalten möchten, senden Sie eine E-Mail an clean-code-devel...@googlegroups.com.
Wenn Sie in dieser Gruppe einen Beitrag posten möchten, senden Sie eine E-Mail an clean-code...@googlegroups.com.
Gruppe besuchen: http://groups.google.com/group/clean-code-developer
Weitere Optionen finden Sie unter https://groups.google.com/d/optout.