ZurĂŒck zum Blog

Das Produktentwicklungsdilemma

📅  

In dieser Woche wurde an mehreren, sehr unterschiedlichen Bereichen gearbeitet, wir beginnen daher zur Abwechslung mit dem Vermischten.

Vermischtes

Die Kategorienansicht mit den erwĂ€hnten MenĂŒs und Komponenten


Kategorienansicht


Ausblick: Produktentwicklung

Das aktuell schwierigste Thema liegt im Bereich Strategie der Produktentwicklung. ZunĂ€chst: Unter Produkt verstehen wir in unserem Zusammenhang eine Software, die es in einer bestimmten StandardausprĂ€gung gibt. In dieser AusprĂ€gung kann sie gemĂ€ĂŸ einer Anleitung installiert werden und verhĂ€lt sich dann genauso wie in der Dokumentation beschrieben.

Um das Thema Installation nehmen wir uns erstmals nĂ€chste Woche an, durch die Anzahl der eingesetzten Komponenten ist sie derzeit nicht einfach durchfĂŒhrbar.

Ein weiterer Aspekt steckt im Widerspruch zwischen Generalisierung und Spezialisierung. Viele Aspekte eines Webshops sind nun in der Software in einer grundlegenden Art und Weise vorweggenommen. Bei jeder AnforderungsĂ€nderung durch einen der Referenzkunden stehen wir vor einer Entscheidung: Eine Option ist es, die Anforderung fĂŒr alle Kunden zu ĂŒbernehmen, eine weitere eine Option zu schaffen, die Anforderung irgendwie nur fĂŒr diesen Kunden zu ĂŒbernehmen, eine dritte - bisher noch nie zur Anwendung gekommene - die Anforderung abzulehnen.

Das Übernehmen fĂŒr den einzelnen Kunden kann wieder auf mehrere Arten passieren. Einerseits kann es sich um einen einfachen Schalter handeln, mit dem eine Option ein- und ausgeschaltet werden kann, oder einen Parameter, mit dem ein gewisser Wert festgelegt werden kann. Eventuell kann eine Komponente entwickelt werden, die zwar mit allen Installationen ausgeliefert wird, aber nur in dieser einen Installation zur Anwendung kommt. Oder wir mĂŒssen ein getrenntes Modul in Form eines Gems entwickeln, das pro Installation optional installiert werden kann. Zur Zeit haben wir 7 derartige Module entwickelt, und es werden wohl noch einige hinzukommen. Dabei wird es sich weniger um neue Funktionen handeln. Eher werden bestehende Funktionen aus der Applikation in Gems herausgezogen. Um diese Refaktorierungen durchfĂŒhren zu können, werden wir allerdings unsere Testabdeckung erhöhen mĂŒssen und neben den bislang fast ausschließlich getesteten Modellen und ihren Methoden auch die Controller mit deren Methoden testen.

Stets ist aber die Frage zu stellen, ob sich der Aufwand lohnt, bzw. ob die Modularisierung ĂŒberhaupt nötig ist, da eventuell zunĂ€chst getroffene Annahmen falsch sind. Es kann auch einfacher sein, kleine Komponenten in mehreren Varianten zu implementieren und auch in Folge zu warten, als eine große, hoch konfigurierbare Komponente.

ZurĂŒck zum Blog