Webprojekte mit Ruby on Rails von den Webmasters
Samstag, 16. Juni 2012 um 11:02 von Marco Emrich in Webentwicklung
Nachdem wir in den letzten Jahren im Wesentlichen unsere eigenen Projekte vorangetrieben haben, konnten wir uns nun dazu entschließen, wieder verstärkt klassische Projektabwicklung anzubieten.
Als Full-Service-Agentur und Schulungsunternehmen haben wir vor allem den Vorteil, dass wir neben der reinen Projektabwicklung z.B. auch SEO, Marketing, Grafikdesign, Administration/Betrieb, Support und eben auch passende Schulungen anbieten können.
Unserer Erfahrung nach starten viele Webprojekte mit fertigen Systemen (z.B. Shops, CMS, usw.). Oft merken die Unternehmen dann aber schnell, dass sie Funktionen benötigen, die Standard-Anwendungen "von der Stange" nicht bieten. Das Erweitern von Standardsoftware ist jedoch oft mit sehr hohen Aufwänden verbunden oder in manchen Fällen auch schlicht nicht möglich. Deswegen bieten wir vor allem maßgeschneiderte Webanwendungen nach Kundenwunsch, die exakt das leisten, was der Kunde benötigt. Damit können eigene Anforderungen ganz gezielt umgesetzt werden und die Anwender müssen sich nicht mit überflüssiger Funktionsvielfalt herumschlagen.
Prozesse und Methoden
Besonders stolz bin ich darauf, dass wir die gewonnen Erfahrungen aus 7 Jahren Entwicklung mit Ruby on Rails nun auch gezielt externen Kunden zur Verfügung stellen. An unseren Prozessen und Methoden haben wir ebenfalls lange gefeilt. In den meisten unserer internen Projekte sind vor allem Elemente aus Scrum und extreme Programming (XP) im Einsatz. In unserem neusten Projekt dagegen verwenden wir nun auch Konzepte aus Continous Delivery und Kanban.
So ist z.B. das Deployment schon lange nur noch ein Befehl - dank Capistrano und Bundler. Mit Hilfe von Puppet und Moonshine können wir aber nun auch neue Server vollautomatisch aufsetzen und fürs Deployment vorbereiten.
Build-Pipeline
Ein anderes Beispiel ist die verhaltensgetriebene Entwicklung (BDD), für die meine Kollegen und ich meist RSpec mit diversen Erweiterungen einsetzen. Im letzten Projekt haben wir innerhalb unseres Continous Integration Servers Jenkins eine sogennante Build-Pipeline aufgebaut.
Diese greift jeden einzelnen Source-Commit aus unserer Versionsverwaltung (GIT) auf und führt nacheinander Unit- und Akzeptanztests durch. Wenn der aktuelle Code beide Stadien erfolgreich durchlaufen hat, kann ein menschlicher Tester auf Knopfdruck ein Deployment auf den Staging-Server veranlassen. Bei bestandenem manuellen Test und Freigabe durch das Management lässt sich sogar das Produktivdeployment mit nur einem Klick durchführen.
Kurze Feedbackzyklen
Wir sind nun auch nicht mehr an die 2-wöchigen Iterationen aus Scrum/XP gebunden, sondern können jede umgesetzte Story sofort veröffentlichen. Somit bekommen wir sofortigen Feedback von den Anwendern, der zeitnah in die Weiterentwicklung einfließen kann ... und das Management muss nun auch keine 2 Wochen mehr warten um neu zu priorisieren.
Falls Sie auch ein Webprojekt geplant haben und noch den richten Partner suchen ... fragen Sie doch einfach mal uns :)
Tags: Ruby , Programmierung , Rails , Projekte