2009-06-11 5 views
3

La plupart des développeurs savent comment gérer un projet . Vous devez suivre le cycle de vie du développement logiciel. Vous devez rassembler les exigences et proposer un design à l'avance. Le code devrait être agréable et lisible, et vous devriez suivre des principes comme DYR. Le produit final devrait répondre à la plupart sinon à la totalité de ces exigences:Avez-vous déjà vu un projet géré correctement?

  1. Le développement doit se dérouler selon le calendrier prévu et les délais doivent être respectés sans travailler de longues nuits.
  2. Tous les méta-travaux comme le suivi des bogues et la gestion des tâches doivent être gérés dans un système qui est réellement utilisé.
  3. Les environnements de développement doivent être configurés correctement, avec des procédures de contrôle de version et de déploiement appropriées.
  4. Les gens devraient écrire la documentation pour tout.
  5. Un cadre de test approprié doit être en place.
  6. Il devrait y avoir des révisions de code.

Je pourrais continuer. Dans mon expérience, la plupart des développeurs semblent connaître tous, ou la plupart, de ces "should". Ils veulent en faire autant que possible, et ils sont contrariés quand ils ne le font pas, moi inclus. Cependant, d'après mon expérience, peu de ces "devoirs", le cas échéant, se produisent dans le monde réel. Pour toutes sortes de raisons, habituellement liées aux délais et à l'argent, personne n'a jamais le temps pour ces choses. Au lieu de cela, les développeurs continuent d'écrire du code pendant des heures jusqu'à ce qu'il finisse par "fonctionner".

À chaque emploi que j'ai eu, chaque développeur, y compris moi-même, voulait faire ces choses. Nous voulions des systèmes de suivi des bogues. Nous voulions écrire de la documentation. Nous voulions avoir une très bonne gestion des tâches. Pourtant, malgré nos efforts, aucune de ces choses n'a jamais eu lieu. Le plus proche était d'avoir un bon dépôt git et un wiki de documentation avec une poignée de pages écrites dedans.

Est-ce que quelqu'un, dans l'ensemble de sa carrière, a déjà participé à un projet ou en a vu un projet qui en a fait un bon nombre? Y a-t-il vraiment un projet qui respecte un délai estimé? Y a-t-il quelqu'un qui utilise la gestion des tâches, le suivi des bogues et le contrôle des versions en même temps? Avez-vous réellement écrit un code lisible et propre en suivant de bons principes?

Si un tel projet a déjà existé, comment est-ce arrivé? Quelle chose spéciale vous a permis d'éviter de coder un gros désordre juste pour obtenir le produit fini à la porte? De toute évidence, personne n'est absolument parfait, mais je n'ai jamais rien vu de plus proche. A-t-il réellement été fait, ou le projet bien géré n'est-il qu'un fantasme?

+0

Aucune idée des raisons pour lesquelles vous êtes downroted sur celui-ci. +1 pour contrer –

+1

question de discussion de type sondage = devrait être wiki – gnovice

+1

Encore pire, il y a déjà 4 votes pour le fermer. Pourquoi? Parce que ce n'est pas limité à taper? Parce qu'il pose en fait des questions sur la profession? –

Répondre

4

I avez effectivement vu un projet qui a été bien géré; ce qui m'a le plus frappé au sujet du processus de gestion qui a si bien fonctionné, c'est que mon gestionnaire de ce projet était très explicite quant à son rôle dans le processus; il était justement, selon ses propres termes, juste pour «protéger les développeurs de la haute direction». Il a mis BEAUCOUP de confiance explicite en nous devs, et l'intéressant était que sa confiance a été complètement remboursée, en pelles; Nous avons travaillé très dur pour que le projet soit bien fait et pour s'assurer qu'il était capable de rapporter de bonnes choses à sa direction.

Fondamental à son processus était une idée (que je suis d'accord avec) que les ingénieurs savent fondamentalement ce qu'ils doivent faire, et qu'ils VOULENT le faire très fortement; et si on leur donne une chance, ils le feront.

+0

Qu'est-ce qu'une "confiance explicite"? (semble intéressant, bien qu'une question liée au lieu de travail.) –

2

Oui.

Je travaille pour une grande entreprise de développement de logiciels sous contrat. Nous réalisons un large éventail de projets allant du développement axé sur l'espace aux projets de recherche en matière de défense. J'ai travaillé sur une application de station au sol, et le niveau de gestion de projet était de premier ordre et de haute qualité. Ils offrent même des cours sur la façon de le faire correctement en fonction de l'expérience, et non sur de vagues idées théoriques de gestion de projet.

Cherchez une autre entreprise like mine si c'est ce que vous cherchez à expérimenter!

1

J'ai entendu beaucoup de choses sur les méthodes Intuit pour la gestion de projets. Quelque chose dans la tête d'une vidéo m'a été montré à propos de la façon dont Intuit apporterait des clients et ferait des tests d'utilisabilité. En général, ils ont un logiciel de bonne qualité, ce qui est raisonnablement complexe.

Bien sûr, le développement de logiciels open source et la philosophie a bien fonctionné pour tous les développeurs de logiciels. Peut-être que c'est le «manque» de restrictions et la liberté d'innover qui ont conduit à certains des produits les plus utiles là-bas. :)

2

Oui, nous faisons ici au moins sur mon équipe. La façon dont vous faites fonctionner les projets comme ils devraient l'être, c'est que vous commencez à le faire. Vous ne pouvez pas attendre que la direction décrète la bonne façon de faire les choses. Vous commencez à faire de petites étapes et à apporter des modifications au processus en cours. Vous n'avez pas de système de suivi des bogues? Commencez à utiliser des feuilles de calcul Excel pour faire le suivi des bogues et passez lentement à un vrai système. Pas d'exigences? Commencez à les écrire. Cela prend du temps, mais cela va changer le processus. (La plupart des gens ne réalisent pas où je suis maintenant, que c'est réellement arrivé). Tout à coup, vous commencerez à travailler pour une entreprise qui a des politiques et des procédures. Je ne dis pas tous les endroits, mais à beaucoup d'endroits, la direction pense qu'ils contrôlent ce qui se passe. Ils sont certains, mais ils ne sont pas vraiment avec le développement. Maintenant, si vous avez un gestionnaire qui est bon dans son travail, c'est une histoire différente, leurs employés veulent qu'ils gèrent la barre que la personne sait diriger et faire avancer les choses. Les autres sont vraiment juste pour le tour. Obtenir le changement, normalement signifie commencer à faire des changements, en leur demandant comment le nouveau processus que vous utilisez déjà va et va de votre manière joyeuse.

Questions connexes