Arbeitsablauf bei der Ruby On Rails-Entwicklung
Sammeln von Informationen
Unsere Projektbesprechungsmethodik umfasst die Erfassung aller Anforderungen des Kunden mit verschiedenen Mitteln, je nach Fachwissen des Kunden. Dies kann in Form von Fragebögen, Anwendungsfällen, agilen Storyboards, Wireframes usw. geschehen.
Werkzeuge - Angepasste Vorlagen, Fragebögen, Agiles Storyboard, Anwendungsfälle
01
Unternehmensanalyse
Anschließend analysieren wir die Anforderungen und liefern Vorschläge und Kommentare zur Prozess-/Produktverbesserung. Unsere Erfahrung und unser Fachwissen helfen uns, in dieser Phase innovativ zu sein, da dies den Erfolg und die architektonische Grundlage des Produkts bestimmt. Der Kunde ist bis zur Projektübergabe in den gesamten Prozess eingebunden.
Werkzeuge - User Cases, Agile Story Boards, Business Research und Analysedokumente
02
Projektplanung
In dieser Phase werden die Erwartungen des Auftraggebers festgelegt. Die verschiedenen Teile der Projektdurchführung, einschließlich der Frage, was zu erwarten ist und wann, werden in dieser Phase behandelt. Außerdem werden hier die Prozesse, Werkzeuge und Techniken aufgeführt, die wir anwenden werden. Normalerweise gehen der Design- und der Entwicklungsprozess Hand in Hand, so dass wir sie entsprechend planen.
Werkzeuge - Sprint Docs, Backlog Docs, Redmine, Pivotal tracker, Basecamp
03
Projektansicht
Sobald die Planung abgeschlossen ist, beginnt die eigentliche Implementierung. Hier werden der Projektentwicklungsplan, die Dokumente zur technischen Spezifikation für die Entwickler und die Unit-Testfälle mit Validierungen vorbereitet.
Werkzeuge - Redmine, Pivotal Tracker, Basecamp
04
Datenbankdesign und -architektur
Zunächst bereiten wir eine robuste und skalierbare Architektur der Anwendung vor, wobei wir die künftigen Anforderungen im Auge behalten. In dieser Phase wird auch der Datenbankentwurf erstellt, mit dem wir den Entwicklungsprozess beginnen werden. Das ERD wird dem Kunden zur Genehmigung vorgelegt.
Werkzeuge - MS Visio, DB-Entwurfswerkzeuge
05
Entwurfsprozess
Dieser Prozess entscheidet, wie genau die Anwendung aussehen wird. Das Ergebnis dieses Prozesses sind Wireframes, PSD, CSS/HTML, die W3C-konform sind und auf allen Browsern getestet werden. Dabei werden Usability-Richtlinien und die Design-Philosophie der Anwendung, die sich an den Nutzern orientiert, berücksichtigt.
Werkzeuge - Photoshop, Dreamweaver, Illustrator, MS Visio
06
Entwicklungsprozess
Dieser Prozess folgt reinen SCRUM-Methoden und das Produkt wird in Iterationen oder Sprints weiterentwickelt. Wir konzentrieren uns auf kontinuierliche Bereitstellung und regelmäßige Code-Commits am Ende jedes Sprints, so dass der Kunde die Entwicklung der Anwendung in verschiedenen Phasen verfolgen kann. Ziel ist es, das Produkt so schnell wie möglich auf den Markt zu bringen, um die Zeit bis zur Markteinführung zu verkürzen und gleichzeitig das Feedback der Endnutzer für die Produktverbesserung zu nutzen.
Werkzeuge - Photoshop, Dreamweaver, Illustrator, MS Visio
07
Testen
Kontinuierliche Tests sind ein Muss, da die Builds auf Sprint-Basis auf den Server übertragen werden. Wir fördern testgetriebene und verhaltensgetriebene Entwicklung und befolgen alle Standardtestverfahren - Unit-, Funktions- und Integrationstests. Bei größeren Anwendungen führen wir auch Last- und Leistungstests durch.
Werkzeuge Rspec, Cucumber, Selenium, Whitebox- und Blackbox-Tests
08
Einsatz
Dies ist eine wichtige Phase, in der wir die beste Plattform für die Bereitstellung beurteilen müssen; hier werden infrastrukturbezogene Entscheidungen getroffen. Wir raten dazu, die Anwendung aufgrund von Skalierbarkeit, Betriebszeit, Kosteneffizienz und vielen anderen Faktoren in der Cloud bereitzustellen. Wir sind Experten für die Bereitstellung in der Cloud, sei es Heroku, Rackspace oder AWS.
Werkzeuge - Capistrano, Apache, Passanger, Heroku, GIT/SVN
09
Post-Einsatz
Sobald die Anwendung in Betrieb ist, besteht immer die Notwendigkeit, die Anwendung zu unterstützen, damit der Endnutzer ein angenehmes Erlebnis hat. Wir nehmen AMC für die von uns entwickelten Anwendungen in Anspruch und engagieren Ressourcen, die sich um neue Funktionserweiterungen, Fehlerbehebungen und die 24×7-Serverwartung kümmern. Kurz gesagt, wir garantieren damit, dass die von uns entwickelte Anwendung auch gut verwaltet und gewartet wird!
Werkzeuge - BugZilla, Redmine, Pivotal Tracker, Helpdesks, Kayako Support Suite
10