Agile ?

Habituellement, un cahier des charges est écrit conjointement entre le client et les personnes en charge de la conception. C'est un exercice difficile car il faut pouvoir envisager tous les cas possibles pour répondre au mieux à la demande. C'est pourquoi, dans les projets relativement complexes il existe très souvent un écart important entre ce qui a été spécifié et ce qu'il en résulte.

Face à cette réalité, une nouvelle méthode a été mise au point : Scrum. Celle-ci se veut pragmatique et agile, c'est-à-dire la plus réactive possible suivant les besoins du client qui évoluent et les interrogations des développeurs. Schématiquement, le client et le chef de projet établissent au départ un ensemble de fonctionnalités qui devra être réalisé. Celui-ci est trié par priorité et découpé afin de constituer des itérations, appelées sprints, dans le processus de conception. Chacune de ces étapes doit être réalisée dans un temps limité relativement court et aboutit à une livraison. Afin de garantir une qualité dans le développement, elles sont entièrement testées : tests unitaires, fonctionnels et d'acceptance. Ceci assure d'une part la qualité du développement mais aussi la non régression pour les développements futurs. Le client a alors en charge de valider le sprint et de demander si cela est nécessaire des adaptations. Au final, le client est plus impliqué dans le processus de développement et bénéficie d'une application correspondant au mieux à son besoin.

C'est cette approche agile que nous mettons au cœur de nos développements web.

Compétences

Cucumber
Cucumber permet à l'utilisateur final de définir les comportements applicatifs qu'il souhaite sous forme de scénarios. C'est ce qu'on appelle des tests d'acceptance. Ils doivent être rédigés en début de projet pour pouvoir s'assurer que l'application réagira de la manière dont on le souhaite.

Ruby
De par sa souplesse et sa simplicité, Ruby est un langage exceptionnellement puissant. Nous l'utilisons dans tous nos projets au travers ou non de RubyOnRails.

RubyOnRails
Agiliweb met en œuvre le développement agile avec le framework RubyOnRails. Celui-ci apporte une flexibilité qui est un véritable atout dans un processus itératif.