domingo, 24 de julio de 2011

The Mythical man month - El mitico hombre mes

Hola a todos,

En esta ocasión aprovecho la oportunidad para compartir con ustedes, una serie de ensayos sobre ingeniería de software titulados The Mythical man month (El mítico hombre mes), desafortunadamente no he traducido todos los ensayos a español, sin embargo les comparto esta obra de Brooks en su idioma natal (inglés), la cual aborda los errores más típicos e importantes que se cometen cuando un proyecto se atrasa en el proceso de desarrollo de software. Una estupenda obra, que como ingeniero en sistemas no te puedes perder, 

Les comparto antes un extracto de Wikipedia, para que antes de leerlo tengan bien claro de qué se trata.

El Mítico Hombre-Mes: Ensayos de ingeniería de Software (en inglés The Mythical Man-Month : Essays on Software Engineering) es un libro de administración de proyectos de Software de Fred Brooks, cuyo tema central está en que "agregando recursos humanos a un proyecto retrasado lo hace demorarse aún más". Esta idea es conocida como la "Ley de Brooks".

El trabajo fue publicado en 1975, y republicado como una versión aniversario en 1995 (ISBN 0-201-83595-9) junto al ensayo "Sin balas de plata" y comentarios por el autor.
Las observaciones de Brooks están basadas en sus experiencias en IBM mientras administraba el desarrollo de OS/360. Para acelerar el desarrollo, se trató infructuosamente de agregar más trabajadores al proyecto que ya estaba retrasado. También apostó que escribir un compilador en ALGOL requería "6 meses de mano de obra" adicional. La tendencia de quienes administran de repetir estos errores llevaron a Brook a la conclusión de "la biblia de la ingeniería de software" porque "todos la leen pero nadie la practica".

 
El Mito del Hombre-Mes

Asignar más programadores a un proyecto atrasado sólo lo atrasará más, debido al tiempo requerido por los nuevos programadores para aprender acerca del proyecto, como al aumento en la sobrecarga de comunicaciones. Cuando N personas tienen que comunicarse entre ellos (sin jerarquías), al aumentar N, la cantidad de comunicación M disminuye y puede incluso resultar negativa, p.ej., el trabajo total pendiente al final del día es mayor que el trabajo total que había pendiente al principio del día, como cuando se crean muchos nuevos errores.
  • Fórmula de la intercomunicación grupal: n(n − 1) / 2
  • Ejemplo: 50 programadores generan 50 · (50 – 1) / 2 = 1225 canales de comunicación.

El efecto Segundo-Sistema

El segundo sistema que un arquitecto diseña es el más peligroso de todos los que nunca hará, dado que tenderá a incorporar todos los agregados que él mismo generó pero no pudo agregar (debido a inherentes restricciones de tiempo) a su primer sistema. Por tanto, cuando se embarca en un segundo sistema, un ingeniero debería tener presente su natural tendencia a sobrecargarlo.

Seguimiento de progresos

Pregunta: ¿Cómo es posible que un gran proyecto de software se atrase un año entero? Respuesta: ¡De a un día a la vez! Pequeñas demoras incrementales en variados frentes eventualmente se acumulan para producir un enorme retraso. Permanente atención al alcance de pequeñas metas individuales se requiere en todos los niveles del proyecto.

Integridad Conceptual

Para hacer que un sistema sea utilizable (amigable), debe tener integridad conceptual, lo que solo es posible separando la arquitectura de la implementación. Un único arquitecto jefe (o un pequeño número de arquitectos), actuando en representación del usuario, decide qué debe ir en el sistema y qué debe permanecer fuera. Una "super" idea de alguien no debe ser incluída si no calza armoniosamente con el diseño general del sistema. De hecho, para asegurarse un sistema amigable, se debe brindar deliberadamente menos características de las que es capaz de tener. El punto es que si un sistema es demasiado complejo de usar, entonces muchas de sus características no se utilizarán solo porque nadie tendrá el tiempo de aprender a usarlas.

El Manual

Lo que el diseñador en jefe produce son especificaciones escritas para el sistema en forma de manual. Debería describir las especificaciones externas del sistema en detalle, p.ej., todo lo que el usuario ve. El manual debería ser alterado a medida que se recibe retroalimentación de los usuarios y del equipo de desarrollo.

El Piloto

Al diseñar un nuevo tipo de sistema, un equipo hará un sistema descartable (aunque esa no sea su intención). Este sistema actúa como una "planta piloto" que revela técnicas que subsecuentemente causarán un completo rediseño del sistema. Este segundo sistema, más inteligente es el que se entregará el cliente, dado que la entrega del sistema piloto solo provocará enojo y decepción en el cliente, y posiblemente la ruina de la reputación del sistema y hasta la de la empresa.

Documentos Formales

Cada gerente de proyecto debe crear un pequeño conjunto de documentos centrales que definan los objetivos del proyecto, como se deben alcanzar, quiénes deben alcanzarlos, cuando deberán alcanzarse, y cuánto van a costar. Estos documentos pueden revelar inconsistencias que de otro modo son difíciles de distinguir.

http://es.wikipedia.org/wiki/El_M%C3%ADtico_Hombre-Mes

No hay comentarios.:

Publicar un comentario

Déjanos tu comentario, nos permitirá mejorar.
¿Qué opinas de este tema?
¿Tienes alguna duda o sugerencia?
¿Te parece adecuado y completo este tema?
¿Falta información? ¿Cual?

Etiquetas

INTERNET (459) newsweek (305) SEGURIDAD (224) software (136) HACK (86) GOOGLE (47) Hacker (46) Geek (41) hardware (36) WINDOWS (34) Hackers (31) CRACK (29) facebook (29) video (28) DESCARGA (27) videos (26) Celulares (25) MICROSOFT (22) Informatica (21) apple (19) GRATIS (18) technology (18) virus (18) exploit (17) computación (16) informatico (16) web (15) cracker (14) INALAMBRICO (13) WINDOWS 7 (13) noticias (11) MSN (10) termino (10) ACTUALIZACION (9) Gamer (9) LapTops (9) Mac (9) PASSWORD (9) WINDOWS XP (9) dns (9) firefox (9) juegos (9) FOTOS (8) cientifico (8) iphone (8) WEP (7) antivirus (7) bibliografia (7) Desencriptar (6) INFINITUM (6) wifi (6) youtube (6) Craker (5) Culiacan (5) DESMOSTRACION (5) TELEFONIA (5) gmail (5) messenger (5) DIRECTA (4) DOWNLOAD (4) ESPAÑOL (4) XBOX (4) xss (4) Glosario (3) HTML (3) WPA (3) anuncios (3) ataques (3) hosting (3) hotmail (3) Guru (2) ajax (2) wpa2 (2)