Unser Unternehmen hat sich vor etwa vier Jahren der Entwicklung von Magento-Modulen zugewandt. Dabei sind bei der Entwicklung mit Magento drei neue Probleme aufgetaucht, die wir bei der Entwicklung von Thick-Client-Applikationen mit C# und dem Prozessmodell Extreme Programming im Griff hatten:
- Die bewährten Entwurfs-Methoden (z.B. UML) versagen oder sind wenig effektiv
- Automatisierte Tests sind umständlich und wenig effektiv
- Die strukturierte Weitergabe von Wissen im Team ist kompliziert
Vortrag zu Carbon Development von Dr. Nikolai Krambrock – Meet Magento 2013
Das war Grund genug, ein internes Forschungsprojekt aufzusetzen. Für die Forschungsarbeit hat Fabian Schmengler themenzentrierte Interviews mit renommierten Magento-Agenturen geführt. Typische Probleme und Lösungsansätze wurden dabei strukturiert gegenübergestellt. Ungelöste Probleme wurden mit Software-Engineering-Literatur und schließlich mit eigenen Arbeiten adressiert. Zentrale Ergebnisse sind:
- Probleme und Maßnahmen bei der Entwicklung vom Magento-Modulen sowie deren Zuordnung
- Werkzeuge für die Entwicklung von Magento-Modulen, inkl. selbst entwickelter Werkzeuge
- Best-Practices bei der Entwicklung von Magento-Modulen (die Web-Darstellung befindet sich noch im Aufbau)
- Vortrag auf der Meet Magento mit Vortragsunterlagen
Beteiligt waren Fabian Schmengler, im Rahmen seiner Diplomarbeit am Lehr- und Forschungsgebiet für Software-Konstruktion an der RWTH-Aachen, und Dr. Nikolai Krambrock als Mentor und Diplomarbeitsbetreuer. Vorgegangen sind wir in vier Schritten:
- Mit Interviews wurden Probleme in der Entwicklung von Magento-Modulen und bereits bestehende Lösungen ermittelt
- Experten waren Andreas von Studnitz von integer_net, Gerrit Pechmann von aijko und Sonia Wrodarczyk von code4business
- Nach einer intensiven Analyse sind aus den themenzentrierten Interviews Tabellen von Problemen, deren Ursachen und gegensteuernde Maßnahmen entstanden
- Viele der ungelösten Probleme lagen im Design und im Test, wenige in der Spezifikation und der Entwicklung
- Dann wurde Literatur zum Software-Engineering durchgegangen
- Es wurden bestehende (aber bis jetzt von den Experten nicht eingesetzte) Methoden der Softwareentwicklung daraufhin untersucht
- Erfolgsversprechende Methoden wurden in einer Anwendbarkeitsmatrix eingefügt
- Zu den verbleibenden Problemen wurden eigene Lösungen entwickelt
- Beispiele hierfür sind ein Magento-UML-Profil oder der Einsatz von abstrakten automatisierten Tests auf der Basis von bestehenden Frameworks
- Zum Schluss wurden einige der Methoden angewendet
Trackbacks/Pingbacks