Vous êtes sur la page 1sur 5

El Equipo Quirrgico Estos estudios revelaron grandes diferencias individuales entre los Ejecutantes altos y bajos, a menudo por

un orden de magnitud En las reuniones de la Sociedad de Computacin se oye continuamente programacin joven Gerentes afirman que estn a favor de un fuerte equipo pequeo y de La gente de primera clase, en lugar de un proyecto con cientos de programadores, Y los que por implicacin mediocre. As lo hacen todos. Pero esta afirmacin ingenua de las alternativas evita el disco Problema-cmo construir grandes sistemas en un sentido programar? Echemos un vistazo a cada lado de esta cuestin con ms detalle. El Problema Gerentes de programacin han reconocido desde hace tiempo gran productividad Variaciones entre los buenos programadores y los pobres. Pero el Magnitudes de medida, se han sorprendido a todos. En uno de los sus estudios, Sackman, Erikson, y Grant estaban midiendo actuaciones de un grupo de programadores experimentados. En tan slo este grupo de las relaciones entre los mejores y peores actuaciones promedio 10:1 en las mediciones de la productividad y una increble 05:01 en velocidad del programa y las medidas del espacio! En resumen los $ 20,000 / ao programador tambin puede ser 10 veces ms productivo que el $ 10,000 / ao uno. Lo contrario puede ser cierto tambin. Los datos no mostr correlacin alguna entre la experiencia y el rendimiento. (Dudo que eso es una verdad universal.) He sostenido anteriormente que el gran nmero de mentes para ser coordinado afecta el costo del esfuerzo, de una parte importante de la costo es la comunicacin y la correccin de los efectos nocivos de la falta de comunicacin (Depuracin del sistema). Esto, tambin, sugiere que uno quiere el sistema que ser construido por el menor nmero de mentes como sea posible. De hecho, la mayora experiencia con sistemas de programacin grandes muestra que la fuerza bruta enfoque es costoso, lento, ineficiente, y produce sistemas que no estn conceptualmente integrado. OS/360, Exec 8, Alcance 6600, Multics, TSS, SAGE, etc-y la lista sigue y sigue. La conclusin es simple: si un proyecto de 200 hombres con 25 gerentes quines son los programadores ms competentes y experimentados, despedir a los 175 soldados y poner de nuevo a los gerentes de programacin. Ahora vamos a examinar esta solucin. Por un lado, no logra acercarse al ideal del pequeo equipo fuerte, que de comn consenso no debe exceder de 10 personas. Es tan grande que se necesita tener por lo menos dos niveles de gestin, o cerca de cinco directores. Ser, adems, necesitan apoyo en finanzas, personal, espacio, secretarias, y operadores de mquinas. Por otro lado, el equipo 200-hombre original no era grande suficiente para construir los realmente grandes sistemas por mtodos de fuerza bruta. Considere la posibilidad de OS/360, por ejemplo. En el pico de ms de 1000 personas fueron

Estoy trabajando en ello-programadores, escritores, operadores de mquinas, empleados, secretarios, gestores, grupos de apoyo, etc. Desde 1963 a 1966 probablemente 5000 aos-hombre entr en su diseo, construccin, y documentacin. Nuestro equipo de 200 hombres postulado habra tenido 25 aos de haber trado el producto a su presentar el escenario, si los hombres y meses negocian de manera uniforme! Y este es el problema con el, concepto de equipo pequeo sostenido: es demasiado lento para sistemas muy grandes. Considere el trabajo OS/360, ya que podra ser abordado con un equipo pequeo y afilado. Postulado a 10-man equipo. Como lmite, que sean siete veces ms productivos que mediocre programadores en la programacin y documentacin, ya que son agudos. Supongamos OS/360 fue construido slo mediocre programadores (que est lejos de la verdad). Como lmite, asumir que otro factor de mejora de la productividad de siete viene de reduccin de la comunicacin por parte del equipo ms pequeo. Suponga los mismos estancias del equipo en todo el trabajo. Bueno, 5000 / (10 X 7X7) = 10, ya que pueden hacer el trabajo 5000 ao-hombre en 10 aos. Voluntad el producto ser interesante 10 aos despus de su diseo inicial? O que se han hecho obsoleto por el software de rpido desarrollo tecnologa? El dilema es una cruel. Para una mayor eficiencia y conceptual integridad, uno prefiere unas buenas mentes haciendo el diseo y la construccin. Sin embargo, para sistemas grandes se quiere una manera de traer considerable mano de obra para soportar, por lo que el producto puede hacer que una apariencia oportuna. Cmo se pueden conciliar estas dos necesidades? Propuesta de Mills Una propuesta de Harlan Mills ofrece una solucin fresca y creativa. 2'3 Mills propone que cada segmento de un gran trabajo de ser abordado por un equipo, pero que el equipo se organizar como un equipo quirrgico en lugar de un equipo de matanza del cerdo. Es decir, en lugar de cada miembro cortando en el problema, que se hace el corte y el otros le dan todo el apoyo que mejorar su eficacia y la productividad. Un poco de reflexin muestra que este concepto se encuentra con el desiderata, si puede ser hecho para trabajar. Pocas mentes estn involucrados en el diseo y construccin, sin embargo, muchas manos se ejercen. Puede funcionar? Quines son los anestesilogos y enfermeras en un equipo de programacin, y cmo se divide el trabajo? Permtanme libremente mezclar metforas para sugieren cmo un equipo puede funcionar si ampliado para incluir a todos apoyo concebible. El cirujano. Mills le un programador jefe llama. l, personalmente, define las especificaciones funcionales y de rendimiento, disea la programa, los cdigos que, pone a prueba, y escribe su documentacin. l escribe en un lenguaje de programacin estructurada como PL / I, y cuenta con efectivo acceder a un sistema informtico que no slo se ejecuta sus pruebas, pero tambin almacena las diferentes versiones de sus programas, permite archivos con facilidad actualizacin y proporciona la edicin de texto para su documentacin. l

necesidades de gran talento, de diez aos de experiencia, y los sistemas de considerables y el conocimiento de la aplicacin, ya sea en matemticas aplicadas, el manejo de los datos de negocio, o lo que sea. El copiloto. l es el alter ego del cirujano, capaz de hacer cualquier parte del trabajo, pero tiene menos experiencia. Su funcin principal es participar en el diseo como Pensador Comentaristas y evaluador. La cirujano intenta ideas sobre l, pero no est obligado por su consejo. La copiloto menudo representa a su equipo en los debates sobre la funcin y la interactuar con otros equipos. l sabe todo el cdigo ntimamente. l investiga el diseo de estrategias alternativas. Obviamente, l sirve como seguros contra desastres para el cirujano. Incluso puede escribir cdigo, pero l no es responsable de cualquier parte del cdigo. El administrador. El cirujano es el jefe, y l debe tener la ltima palabra sobre el personal, aumentos, el espacio, y as sucesivamente, pero debe pasar casi ninguno de su tiempo en estos asuntos. As que necesita un profesional administrador que maneja el dinero, la gente, el espacio, y las mquinas, y que interacta con la maquinaria administrativa de el resto de la organizacin. Baker, sugiere que el administrador tiene un trabajo a tiempo completo solamente si el proyecto tiene sustancial legal, contractual, informes o requerimientos financieros debido a la userproducer relacin. De lo contrario, un administrador puede servir a dos equipos. El editor. El cirujano es responsable de generar la documentacinpara obtener la mxima claridad, debe escribirlo. Este es el caso de ambas descripciones externas e internas. El editor, sin embargo, toma el proyecto de dictado o manuscrito producido por el cirujano y la critica, que vuelve a trabajar, le proporciona referencias y bibliografa, amamanta a travs de varias versiones, y supervisa la mecnica de la produccin. Dos secretarios. El administrador y el editor tendr cada una secretaria, secretaria del administrador se encargar de la correspondencia del proyecto y archivos que no sean producto. El empleado del programa. l es responsable de mantener toda la registros tcnicos del equipo en una librera de programacin-producto. La responsabilidad del vendedor se form como secretaria y tiene tanto archivos legibles por mquina de lectura y. Todas las entradas del equipo se va a la recepcionista, que registra las teclas si requerida. Los listados de salida vuelven a l para ser presentado e indexado. Los ms recientes ejecuciones de cualquier modelo se mantienen en un estado de notebook, todas las anteriores se archivan en un archivo cronolgico. Absolutamente vital para el concepto de Mills es la transformacin de programacin "de arte privada de la prctica pblica" haciendo todo el equipo funciona visible para todos los miembros del equipo y la identificacin de todos programas y datos como la propiedad del equipo, no la propiedad privada.

La funcin especial del secretario programa libera programadores de las tareas administrativas, sistematiza y asegura adecuada rendimiento de esas tareas a menudo olvidados, y mejora del equipo activos ms valiosos de su trabajo-producto. Es evidente que el concepto como conjunto expuesto anteriormente asume carreras de proceso por lotes. Cuando los terminales son interactivos utilizados, en particular los que no tienen una copia impresa, el programa funciones del secretario no disminuyen, sino que cambian. Ahora se registra todas las actualizaciones de copias del programa de trabajo del equipo de copias privadas, todava maneja todas las ejecuciones de lotes, y utiliza su propia herramienta La herramienta de smith. El archivo de edicin, edicin de texto, y la depuracin interactiva servicios que ahora estn fcilmente disponibles, por lo que un equipo rara vez se necesita su propia mquina y el equipo de la mquina est en funcionamiento. Pero estos servicios deben estar disponibles con una respuesta satisfactoria, sin duda, y fiabilidad, y el cirujano debe ser el nico juez de la adecuacin de los servicios a su disposicin. l necesita un Toolsmith, responsable de garantizar la idoneidad de los servicios bsicos y de construccin, el mantenimiento y la actualizacin de herramientas especiales, en su mayora servicios informticos interactivos-que necesita su equipo. Cada equipo necesita su propia Toolsmith, independientemente de la excelencia y fiabilidad de cualquier servicio prestado en el centro, por su trabajo es ver a las herramientas necesario o deseado por su cirujano, sin tener en cuenta cualquier otra necesidades del equipo. La herramienta de constructor a menudo la construccin especializada servicios, procedimientos catalogados, bibliotecas macro. El probador. El cirujano necesita un banco de casos de prueba adecuados para probar piezas de su trabajo como lo escribe y, a continuacin, para probar todo el asunto. Por tanto, el probador es al mismo tiempo un adversario que elabora los casos de prueba del sistema de las especificaciones funcionales, y un asistente que elabora los datos de prueba para la depuracin da a da. l tambin planificar secuencias de prueba y establecer el andamiaje necesario para pruebas de componentes. El abogado idioma. En el momento en Algol lleg, la gente comenz a reconocer que la mayora de las instalaciones de ordenador tienen una o dos personas que se deleitan en el dominio de las complejidades de una programacin idioma. Y estos expertos resultan ser muy til y ampliamente consultado. El talento aqu es bastante diferente de la del cirujano, que es el principal diseador del sistema y que piensa representaciones. El abogado lenguaje puede 6ND una ordenada y eficiente manera de utilizar el lenguaje para hacer cosas difciles, oscuros o difciles. A menudo tendr que hacer pequeos estudios (dos o tres das) en la buena tcnica. Un abogado lenguaje puede servir dos o tres cirujanos Esto, entonces, es cmo 10 personas podran contribuir welldifferentiated y funciones especializadas en un equipo de programacin basado en el modelo quirrgico.

Cmo funciona? El equipo se acaba de definir se rene los desiderata de varias maneras. Diez personas, siete de los cuales son profesionales, estn trabajando en el problema, pero el sistema es el producto de una mente-o como mucho dos, actuando uno animo. Tenga en cuenta, en particular, las diferencias entre un equipo de dos programadores organizados convencionalmente y el cirujano-copiloto equipo. En primer lugar, en el equipo convencional de los socios dividen el trabajo, y cada uno es responsable del diseo y ejecucin de parte de el trabajo. En el equipo quirrgico, el cirujano y el copiloto son cada uno consciente de todo el diseo y todo el cdigo. Esto evita que el laboral de la asignacin de espacios, accesos a disco, etc Tambin asegura la integridad conceptual de la obra. En segundo lugar, en el equipo convencional de los socios son iguales, y las inevitables diferencias de juicio deben ser hablado o se vean comprometidos. Dado que el trabajo y los recursos se dividen, las diferencias en el juicio se limitan a la estrategia global y la interconexin, pero agravadas por las diferencias de intereses, por ejemplo, cuya espacio ser utilizado para un tampn. En el equipo quirrgico, no hay diferencias de intereses y diferencias de criterio se resuelven por el cirujano de forma unilateral. Estas dos diferencias: la falta de divisin del problema y la relacin superior-subordinado-hacer Es posible que el equipo quirrgico para actuar uno animo. Sin embargo, la especializacin de la funcin del resto del equipo es la clave de su eficacia, ya que permite una comunicacin radicalmente ms simple patrn entre los miembros