2010-07-01 6 views
5

Ce n'est pas une question de programmation en soi, mais c'est bon. Je suis un étudiant de premier cycle CS, et j'ai commencé un stage cet été pour une société de logiciels de taille moyenne. J'ai déjà travaillé quelques fois comme pigiste, mais c'est la première fois que je travaille officiellement (plus ou moins) comme développeur de logiciels.Suggestions sur la planification de projet?

On m'a demandé de coder un site Web interne à partir de zéro pour être utilisé par des équipes distinctes dans l'entreprise, et j'ai été donné beaucoup de flexibilité dans la conception. Et là réside le problème: nous avons eu plusieurs réunions et revues de conception et tout le monde semble avoir une idée sur une nouvelle fonctionnalité, et même des idées contradictoires sur la façon dont les choses devraient fonctionner. Jusqu'à présent, mon prototype initial a survécu à tout cela, ce qui m'a été dit de ne pas m'attendre - mais je savais que j'avais un design solide. Bien que je ne prenne pas de retard, le travail progresse beaucoup plus lentement que prévu. Une grande partie de cela a à voir avec les spécifications et les changements de caractéristiques et de caractéristiques constantes.

Je vais devoir déployer un alpha dans quelques semaines, ce qui ne me poserait pas de problème, mais je ne sais pas comment ça va se passer.

Quelqu'un a-t-il des idées? Merci d'avance

Répondre

6

Vous posez une question intemporelle sur la gestion de projet (logiciel). Il y a des carrières écrites sur le sujet.

Je suis d'accord généralement avec rockinthesixstring sur ce point.

Si vous n'avez pas de chef de projet efficace capable de filtrer les demandes des clients et de gérer leurs attentes, et de dire «non», cela devra faire partie de votre travail.

Parfois, il est un art de ne pas dire «non». Parfois, vous pouvez le dire plus comme "Comme vous voyez dans le calendrier, la version 1.1 va alpha la semaine prochaine.La liste des fonctionnalités pour la version 1.2 est déjà définie.Je vais ajouter votre nouvelle fonctionnalité en haut de la liste pour 1.3. Si vous le souhaitez, je peux organiser une réunion avec les autres équipes pour voir si nous pouvons redéfinir la priorité des fonctionnalités 1.2. " En ce qui concerne les idées contradictoires, s'il n'y a pas d'autre «décideur», cela fait également partie de votre travail.

Comprenez que tout le monde n'obtiendra pas son chemin.

Sans une approche qui aborde ces types de problèmes, vous ne réussirez tout simplement pas.

4

Je commencerais par verrouiller les fonctionnalités qui ont été convenues et placer toutes les demandes de fonctionnalités dans une sorte de logiciel de planification de projet (OnTime peut-être). Ensuite, déployez la version Alpha avec les spécifications convenues avant de passer au "nous aimerions" et les "cloches et sifflets".

2

Vous devez prioriser et trier les demandes de fonctionnalités, éventuellement même celles que vous avez déjà acceptées.

2

Il semble que la propriété du produit ne soit pas claire (comme on peut s'y attendre avec des projets internes avec plusieurs équipes). Vous devriez probablement exécuter une forme de jeu de planification. Si vous avez plusieurs parties prenantes, vous pouvez leur donner 50 points pour voter sur toutes les fonctionnalités d'une itération. En tant que développeur, vous décidez de la taille de chaque entité. Les fonctionnalités ayant le plus de points/taille entrent dans l'itération. Si certaines équipes sont plus importantes, donnez-leur plus de points. Vous devriez également dépenser quelques points vous-même.

1

Je voudrais exprimer mon approbation de poste de James McLeod. La seule justification dont quelqu'un a besoin pour vouloir une fonctionnalité est "l'utilisateur x pourrait essayer de ...". La difficulté est de résoudre les contradictions entre leurs opinions et celles de quelqu'un d'autre. La fonctionnalité avec une «priorité» plus élevée, telle qu'elle est assignée par votre processus de gestion de projet, est celle qui est implémentée, au détriment de ses concurrents si nécessaire. Demandez aux personnes qui suggèrent des caractéristiques de s'en aller et de mettre quelque chose sur le papier en expliquant le raisonnement derrière la caractéristique et les circonstances qui, à leur avis, pourraient empêcher son inclusion. Laissant tout le monde voir quelles limitations ils pensent que leur approche a pu aider à résoudre un blocage de décision. La caractéristique dont le cas est déclaré plus complètement «gagne».

Questions connexes