2009-10-30 7 views
2

Il semble que la direction dise toujours que le projet est en retard, alors nous devons déterminer ce qui est assez bon pour aller vivre rapidement. Le problème que je trouve est que nous avons tendance à mettre l'accent sur les fonctionnalités que le client veut plus que certaines fonctionnalités de base que je pense qu'une application web devrait avoir par sa nature même. Par exemple, nous avons passé plus de temps à dire si l'ajout d'une balise noscript pour informer les utilisateurs du site nécessite javascript devrait être ajouté à la liste des demandes de fonctionnalités que le temps qu'il m'aurait fallu pour l'ajouter à la page maître, puis pousser dehors.Qu'est-ce qui est vraiment «suffisant» pour un projet en retard?

Existe-t-il une bonne méthode pour déterminer ce qui devrait être là pour être suffisamment bon? Comment savoir ce que mon application devrait faire au strict minimum?

Nous n'allons même pas ajouter la validation de données parfois parce qu'il n'y a pas de temps. Il semble qu'il devrait y avoir des choses de base dans une application, mais si souvent tout ce qui nous intéresse est ce que l'utilisateur voit réellement.

Ce n'est pas le moyen idéal de créer un logiciel selon moi, mais comment savoir ce que c'est?

Répondre

1

Les clients pilotent des fonctionnalités. Ils ne conduisent pas tellement les architectures, l'ingénierie et autres. Franchement, vos utilisateurs s'en foutent si vous utilisez Html 3.0 strict ou CSS 3.1 ou XHTML. Ils veulent juste que ça marche. J'ai trouvé que vous avez besoin d'une équipe pour se soucier de toutes les choses cachées afin qu'il soit fait correctement. L'essentiel est que la plupart des applications sont livrées avec du code «assez bon», car assurez-vous que vous avez du code propre et que le code refactorisé n'est pas ce qui apporte de l'argent.

Bien sûr, la plupart d'entre nous savent que ce genre de choses est important. Une base de données bien conçue avec de bons index est importante pour la performance. Un code bien conçu avec des classes "SOLIDES" permet de maintenir et d'étendre facilement l'application, ce qui signifie que les nouvelles fonctionnalités seront plus stables. Par conséquent, les clients conduisent des fonctionnalités, mais l'équipe favorise la qualité. Assurez-vous de consacrer du temps à vos estimations pour vous assurer de bien faire les tests, d'obtenir une bonne couverture, de faire des tests de perf, etc. Cela doit être intégré à votre équipe dès le départ. Les revues de code et les déjeuners d'apprentissage contribuent à ce type de motivation. Si les développeurs veulent passer du temps à écrire du nouveau code plutôt que de dépanner et de déboguer, ces éléments devraient être importants pour eux. Même si ce n'est pas visible ou important pour le client. Et une bonne gestion comprend ce genre de choses.

2

Chacun a ses propres standards de qualité; à un certain niveau, «assez bon» est «tout ce que vous pouvez convaincre les gens de vous payer».

Cependant, si vous voulez profiter de votre travail, je suggère que "assez bon" devrait être "quelque chose que vous êtes fier de faire."