Ce poste est une synthèse et une continuation de quelques idées qui ont été couvertes dans d'autres postes sur ce blog : Pourquoi les investissements volatils sucent, la règle de 85/95 de direction de projet et les graphiques de Gantt contre la base de données PR. Si vous avez lu tous ces postes, donc ce qui suit pourrait vous avoir du sens. Sinon, alors je suppose que nous verrons juste comment bon un auteur je suis. If you have read all of those posts, then what follows might make sense to you. If not, then I guess we'll see just how good a writer I am.
À muet cela en bas un peu, j'utiliserai un de mes appareils littéraires préférés : La parabole. Voici l'histoire de Ploddin' Paul le directeur de projet qui est fait face avec une décision de direction très difficile. Il a une équipe de 5 promoteurs, de qui trois sont des promoteurs aînés et sont capables de manipuler des mini-projets tout seuls. Leurs noms sont Genius Gary, Ingénieur Eric et Liason Larry. Here is the story of Ploddin' Paul the project manager who is faced with a very difficult management decision. He has a team of 5 developers, of which three are senior developers and are capable of handling mini-projects on their own. Their names are Genius Gary, Engineer Eric, and Liason Larry.
Le projet est un peu risqué, mais pas trop ainsi. Le but est de construire une interface archivante à plusieurs différents modèles de tour de bande pour que les clients notant dans une base de données aient l'option de quitter leurs données en ligne, en le sauvant à un tour de bande, ou la restitution des données de la bande. Évidemment, il y a le nombre d'autres traits et conçoit des exigences. Le projet est d'être livré dans 6 mois. Of course, there are number of other features and design requirements. The project is to be delivered in 6 months.
L'équipe a trois choix : Écrivez 1) que le code de l'égratignure Retravaille 2) un code existant qui a été produit interne ou 3) le Travail avec une API de tiers qui promet de livrer une grande partie de la fonctionnalité (publié par un vendeur appelé Babooza).
"Les APIs de Babooza sucent la réussite, le faisons le droit. Écrivez le code de la terre en haut dans C#," dit Genius Gary, qui est le meilleur programmeur du sort, mais a l'attitude pour aller avec cela.
"La voie la moins risquée est de retravailler notre base codée existante," dit l'Ingénieur Eric. "Nous savons déjà comment difficile il doit travailler avec les conducteurs pour les appareils de bande. Ouais, il y a des cheveux dans la vieille base codée mais c'est le démon que nous connaissons." Yeah, there's hair in the old code base but that's the devil we know."
"Dans six semaines, Babooza dit qu'ils livreront une API qui s'en occupe de la plupart." dit Liason Larry. "Pourquoi en font n'importe lequel si ces gars le feront pour nous ?" "Why do any of this if those guys will do it for us?"
"Babooza Fiduciaire ? Vous êtes timbrés. Et notre vieille base codée suce. Tout le monde le sait. Allez nouveaux." And our old code base sucks. Everybody knows that. Go new."
"Je vous ai approuvés de Babooza. Mais vous voulez sauter de dans l'eau profonde sans lifejacket. Allez vieux." Go old."
"Mais et si Babooza livre quelque chose de fonctionnel ? Nous la volonté pourrait faire ajouter nos promoteurs plus de traits et vraiment bon GUI au lieu de gaspillant le temps en essayant finissons par les tours de bande archiver.""
À ce point dans la conversation, à peu près quand les promoteurs sont sur le point de courir à leur bureau et installer l'affaire en jouant un deathmatch dans le "Tournoi Irréel," Ploddin' Paul parle en haut :
"Larry, que croyez-vous la cote a de Babooza la livraison de l'API à l'heure et c'étant usuable ?"
"Ah, je dunno, peut-être 50 %"
Tant Eric que Gary font des bruits et Paul le démarque à 25 % dans sa tête.
"Gary, si et un autre travail de promoteur sur la construction de quoi nous avons besoin de l'égratignure, croyez-vous que nous pouvons expédier à l'heure ?" demande Paul.
"Naw, trop de travail, j'aurais besoin d'au moins autre gars."
"Et si je vous ai donné un gars trois mois dans ? Peut-être deux.""
"Bien, la chance de 80 % d'être fait à l'heure."
Maintenant c'est Eric et le tour de Larry de rouler leurs yeux. Donc Paul démarque la cote à 40 % dans sa tête.
"Eric ?"
"C'mon Paul, donnez-moi l'équipe entière et quatre-vingt-dix pour cent sûrs qu'il va être livré."
"Plus poilu que le dos d'un gorille," dit Gary dans un grand chuchotement à Larry. "Croyez des spaghetti.""
"Eric, si vous retravaillez juste le code, comment ça se fait vous avez besoin de headcount de cinq ?"
"Allez, plus du plus joyeux. Il va y avoir beaucoup de fait de déboguer.""
"Vous recevez un gars pour maintenant, avec peut-être plus dans trois mois. Sont donc vous le pour cent encore de 90 % sûr ?""
"Ah, aucune promesse," dit Eric
Paul démarque mentalement la cote à 50-50. Il a jeté un coup d'œil au code. C'est terrible. It's terrible.
Paul prend sa décision. "Tout le monde part et fait leur propre chose. Nous reviendrons dans trois mois et révision." Tout le monde fait un signe de tête leur tête et part brusquement. Il a toujours ressemblé que, avec Paul prenant jamais une décision sur le sentier final pour prendre jusqu'au dernier moment possible. Il a conduit certains des promoteurs complètement timbrés quelquefois, avec le grondement bizarre que le groupe semble toujours être sur le bord d'anarchie complète. Mais Paul a VRAIMENT permis à tout le monde d'essayer leur propre voie la plupart du temps, donc les gens étaient les plus heureux. Cela a semblé si mal organisé juste... We'll come back in three months and review." Everybody nods their head and walks off. It was always like that, with Paul never making a decision on the final path to take until the very last possible moment. It drove some of the developers completely nuts sometimes, with the odd grumble that the group always seem to be on the verge of complete anarchy. But Paul DID let everybody try their own way most of the time, so people were most happy. It just seemed so inefficient...
***************************************************************************
Donc sur premier lu, il semble que Paul viole une des règles d'or de direction de projet qui est toujours le travail dur pour changer les vos 85 aux 95 (essaient c'est-à-dire, toujours à en haut votre bizarre de succès, peu importe comment incrémentiel cela peut être). Paul abandonne à quelques sentiers qui promettent une chance de pour cent de 90 % de succès et les promoteurs laissants poursuivent quelques approches du haut risque. Aussi, je dois dire que cette approche ressemblerait à la connerie si vous l'avez fait apparaître sur un graphique de Gantt : Au lieu de la petite barre propre en montrant cinq promoteurs collaborant comme une équipe vers un objectif commun, vous avez trois barres travaillant dans le parallèle vers le même but. À un point dans le graphique, vous devez mettre fin à deux de ces tâches, avec tout le gaspillage de ressources qui implique (Dans le cas de Paul, le point de décision est à la moitié dans le projet ou trois mois). Also, I have to say that this approach would look like crap if you threw it up on a Gantt chart: Instead of clean little bar showing five developers working together as a team towards a common objective, you've got three bars working in parallel towards the same goal. At some point in the chart, you've got to end two of those tasks, with all the waste of resources that implies (In Paul's case, the decision point is halfway into the project or three months).
Résumer : Les promoteurs ne croient pas que Paul soit un directeur de projet décisif et sans aucun doute, si le patron de Paul a vécu et est mort par le graphique de Gantt, il se demanderait pourquoi Paul gaspillait des ressources avec tout le redundacy.
Mais encore une fois, les mathématiques travaillent pour Paul, parce que dans le développement de logiciel, les sentiers parallèles avec une chance raisonnable de succès sont un meilleur qu'un sentier avec une haute chance de succès. Notez que le sentier de parallèles signifie que vous ajoutez les pourcentages ensemble, pas multiplient comme dans un ordre :
Un sentier : 90 % de succès.
Trois sentiers : 25 % + 40 % + 50 % = 115 % de succès!!!
Évidemment 115 % ne signifient pas que le projet est absolument sûr d'être accompli avec succès et à l'heure. Ces pourcentages sont les pourcentages de joueur, en signifiant que la somme est l'adjonction d'une série de paris pour un paiement donné. Une histoire métaphorique pourrait rendre des choses plus claires. A metaphorical story might make things clearer.
Faisons semblants que nous sommes dans le casino, plutôt que dans un environnement de développement de logiciel. Vous avez 500$ dans votre poche et le prix est... Oh, je dunno... une marque nouvel Ipod (La meilleure version, celui avec 40 cabriolets. Celui ma femme ne me permettra pas d'acheter 'la cause je n'ai pas de travail, même s'il me rendrait vraiment, vraiment heureux si je pourrais).Oh, I dunno... an brand new Ipod (The best version, the one with 40 gigs. The one my wife won't let me buy 'cause I don't have a job, even though it would make me really, really happy if I could).
Vous pouvez placer tout votre argent sur un pari et avoir une chance de quatre-vingt-dix pour cent de réussite. Ou vous pouvez faire une série plus compliquée de paris comme Paul a fait : Vous réprimez 100$ et avez une chance de 25 % de réussite. Vous réprimez aussi simultanément 200$ et avez la chance de 50 % de réussite et réprimez encore 200$ pour avoir une chance de 40 % de réussite. You put down $100 and have a 25% chance of winning. You also simultaneously put $200 down and have 50% chance of winning and put down another $200 to have a 40% chance of winning.
Et voici où l'amusement entre : Avec le premier pari, il y a un tour de la roue et vous savez si vous êtes un vainqueur ou un perdant. Si l'estimation du développement est correcte, vous êtes un vainqueur neuf fois de dix. If the estimate of the development is correct, you are a winner nine times out of ten.
Mais avec le trois scénario de pari, vous avez trois tours de la roue et si un des tours se lève un vainqueur, vous recevez la moitié de votre argent en arrière des deux autres paris. Par exemple, si un des paris de 200$ se lève un vainqueur, vous renverriez 150$ (50 % de 100$ et de 200$). C'est-à-dire, si l'approche de Gary espère être un vainqueur après trois mois dans le projet, donc vous pouvez abandonner l'approche d'Eric et Larry. That is to say, if Gary's approach looks to be a winner after three months into the project, then you can abandon Larry and Eric's approach.
Mais ce qui arrive si aucun des paris ne se lève un vainqueur ? Ah, bien si cela arrive, le casino vous permettra de plier en deux votre pari et tour de nouveau, en prenant la moitié de la somme totale de vos paris (250$) et en vous permettant de tourner de nouveau (Avec les chances de succès pas savent jusqu'aux 3 premiers tours sont accomplis). C'est-à-dire, si après trois mois, l'API de Babooza suce complètement et l'équipe de Gary ne peut même pas faire un quotidien construit sans le compilateur entrant dans la crise de nerfs, donc Paul peut prendre la décision pour lancer tout le monde sur le projet d'Eric de retravailler la vieille base codée. That is to say, if after three months, the API from Babooza totally sucks, and Gary's team can't even do a daily build without the compiler going into hysterics, then Paul can make the decision to throw everybody on Eric's project to rework the old code base.
Dans court le complexe, allocation presque chaotique de ressources dans un environnement de développement de logiciel tient compte d'une meilleure chance d'un projet étant accompli et pour une utilisation plus efficace de ressources de promoteur. J'ai trébuché à travers cette découverte surtout par accident, quand je ronchonnais de l'insuffisance de graphiques de gantt pour exactement décrire ce qui entre vraiment dans un vrai environnement de développement. À coup sûr, je ne me suis pas attendu trouver une preuve mathématique pour le comportement que j'ai vu dans le PWS (le logiciel) la division de Creo. For sure, I didn't expect to find a mathematical proof for the behavior that I saw in the PWS (software) division of Creo.
Anyways, pour moi c'est une découverte vraiment fraîche, parce qu'il valide tout le monde dirigé autour de et votre propre chose et prend une décision s'approchent plus tard. Bien, je veux dire que les mathématiques valident la théorie. Hmmm, je ne sais pas si j'irais pour essayer de "vendre" cette approche dans un entretien d'embauche ou quelque chose comme ça. Hmmm, I don't know if I would to try to "sell" this approach in a job interview or something like that.
Acclamations, Disc-jockey
P.S. Si, dans la littérature de développement de logiciel, quelqu'un a trouvé des idées par hasard similiar à ceux présentés au-dessus, laissez-moi tomber s'il vous plaît un e-mail donc je peux y communiquer. C'est tout à fait possible (peut-être même probable) que cette "Anarchie est la Bonne" théorie a été déjà découvert et je suis ignorant juste de cela. Thx. It's quite possible (maybe even probable) that this "Anarchy is Good" theory has already been discovered and I am just ignorant of it. Thx.
Le contenu pour ce site Internet est fourni par www.bluebutterfly






