Processus de développement Ruby On Rails
Collecte d'informations
Notre méthodologie de discussion de projet comprend la collecte de toutes les exigences du client par différents moyens en fonction de l'expertise du client. Ces exigences peuvent prendre la forme d'un questionnaire, de cas d'utilisation, de story-boards agiles, de schémas de câblage, etc.
Outils - Modèles personnalisés, questionnaires, story board agile, cas d'utilisation
01
Analyse d'entreprise
Ensuite, nous analysons les exigences et fournissons des suggestions et des commentaires sur l'amélioration des processus et des produits. Notre expérience et notre expertise nous aident à innover au cours de cette phase, car c'est elle qui définit le succès et la base architecturale du produit. Le client participe à l'ensemble du processus jusqu'à la livraison du projet.
Outils - Cas d'utilisation, Story Boards Agile, documents de recherche et d'analyse d'entreprise
02
Planification du projet
Cette phase définit les attentes du client. Les différentes parties de l'exécution du projet, y compris ce à quoi il faut s'attendre et quand, sont traitées dans cette phase. Elle énumère également les processus, les outils et les techniques que nous suivrons. Normalement, les processus de conception et de développement vont de pair, et nous les planifions donc en conséquence.
Outils - Sprint Docs, Backlog Docs, Redmine, Pivotal tracker, Basecamp
03
Vue du projet
Une fois la planification terminée, la mise en œuvre proprement dite commence. C'est ici que sont préparés le plan de développement du projet, les documents de spécification technique destinés aux développeurs et les cas de test unitaire avec les validations.
Outils - Redmine, Pivotal tracker, Basecamp
04
Conception et architecture des bases de données
Nous commençons par préparer une architecture robuste et évolutive de l'application en gardant à l'esprit les exigences futures. Cette phase couvre également la conception de la base de données qui servira à lancer le processus de développement. L'ERD est partagé avec le client pour approbation.
Outils - MS Visio, outils de conception de BD
05
Processus de conception
Ce processus décide de l'aspect exact de l'application et le résultat de ce processus sera des wireframes, PSD, CSS/HTML conformes au W3C et testés sur tous les navigateurs. Les lignes directrices en matière d'utilisabilité, la philosophie de conception de l'application basée sur les utilisateurs sont prises en considération ici.
Outils - Photoshop, Dreamweaver, Illustrator, MS Visio
06
Processus de développement
Ce processus suit les méthodologies SCRUM pures et le produit évolue par itérations ou sprints. Nous mettons l'accent sur le déploiement continu et la validation régulière du code à la fin de chaque sprint afin que le client puisse suivre l'évolution de l'application au cours des différentes étapes. L'objectif est de commercialiser le produit le plus rapidement possible en réduisant le délai de mise sur le marché et en générant parallèlement un retour d'information de la part de l'utilisateur final en vue d'améliorer le produit.
Outils - Photoshop, Dreamweaver, Illustrator, MS Visio
07
Essai
Les tests continus sont indispensables car les builds sont poussés vers le serveur sur la base d'un sprint. Nous encourageons le développement piloté par les tests et le comportement et suivons tous les processus de test standard - tests unitaires, fonctionnels et d'intégration. Pour les applications plus importantes, nous effectuons également des évaluations de charge et de performance.
Outils -Rspec, Cucumber, Selenium, tests boîte blanche et boîte noire
08
Déploiement
Il s'agit d'une phase importante au cours de laquelle nous devons juger de la meilleure plateforme pour le déploiement ; les décisions relatives à l'infrastructure sont prises à ce stade. Nous conseillons de déployer l'application sur le cloud pour des raisons d'évolutivité, de disponibilité, de rentabilité et bien d'autres facteurs. Nous sommes experts en déploiement sur le cloud, que ce soit Heroku, Rackspace ou AWS.
Outils - Capistrano, Apache, Passanger, Heroku, GIT/SVN
09
Après le déploiement
Une fois que l'application est en ligne, il est toujours nécessaire de la soutenir pour que l'utilisateur final ait une expérience agréable. Nous prenons en charge l'AMC pour les applications que nous développons, et engageons des ressources pour s'occuper des améliorations des nouvelles fonctionnalités, des corrections de bogues ainsi que de la maintenance du serveur 24×7. En bref, nous garantissons ainsi que l'application que nous développons est également bien gérée et maintenue !
Outils - BugZilla, Redmine, Pivotal Tracker, Helpdesks, Kayako Support Suite
10