am 23. Juni 2009
Eigentlich stelle ich ja in der Projektwerkstatt immer Ideen vor für PHP Projekte auf Softwareebene, die ich so als Idee habe, bei denen ich aber weiß, dass ich niemals Zeit finden werde, sie wirklich umzusetzen. Bei vielen Ideen gibt es zwar ein schönes Einsatzgebiet, aber kein wirkliches Geschäftsmodell dahinter. Heute geht es aber gleich um eine Geschäftsidee, ohne ein konkretes Problem.
In der vergangenen Zeit habe ich es immer öfters mit Firmen im PHP Umfeld zu tun gehabt, die sich immer mehr um Qualität kümmern. Webentwicklung wird als Disziplin immer ernster genommen und viele Unternehmen versuchen immer mehr auf Qualität zu setzen. Finde ich eine sehr sehr gute Sache. Oberflächentests mit Selenium und Unit Testing mit PHPUnit sind wohl die ersten Dinge, die derzeit in Projekten eingeführt werden, wenn es um Qualitätssicherung geht.
Ein großes Problem dabei ist es, eine hohe Testabdeckung zu erzielen, bei Projekten, die schon Jahre lang ihr Dasein gefristet haben. Es kann umheimlich teuer sein, seine Mitarbeiter hinzusetzen, um diese Abdeckung im Nachhinein zu erzielen. Und außerdem sind sie meisten so im operativen Geschäft involviert, das dies kaum möglich ist, ohne ein komplettes Feature Freeze zu machen.
Und genau hier setzt meine Idee an. Wie wäre es, wenn man eine Firma gründet, die den ganzen Tag nichts anderes macht, als Projekte mit Tests abzudecken. Funktionale Tests mit Selenium sollten kein Problem sein. Unit Tests könnten ein wenig komplexer werden, aber sind auch nicht unmöglich. Bei der Selenium Geschichte, bin ich mir sicher, dass es ohne Probleme mit einer Hand voll Studenten klappen könnte, die man einmalig schult und dann für diverse Projekte einsetzen kann. Diesen Service könnte man relativ günstig anbieten, da man hauptsächlich mit günstigen Ressourcen arbeitet und der Schulungsaufwand in diesem Falle nur einmalig wäre und nicht für jede Firma aufs neue zu stemmen ist. Sobald eine gewünschte Testabdeckung, z.B. 80% aller bekannten Use Cases erreicht ist, würde eine Übergabe statt finden und das Projekt wieder nach Hause geholt werden.
Ich kenne einige Firmen, die das ganze nutzen würden. Also falls jemand diese Idee umsetzen will, dann kann er mich ja mit 20% beteiligen. SO als Dankescvhön für die Idee.
Ach ja, wie man mit Unit Testing in dieser Sache umgeht, da bin ich mir auch nicht sicher. Sicherlich wäre hier das erstellen der Testabdeckung kostspieliger, aber kann ja nicht alles so einfach sein.