miércoles, 6 de abril de 2011

Leyes del Software


Hay algo más que la ley Sinde.

Un ejemplo son las siguientes leyes (hay otras muchas más):


Brooks's law
is a principle in software development which says that  "añadir más efectivos a un proyecto de software en retraso, lo retrasará más" o "Nueve mujeres no pueden tener un bebé en un mes"

ley de Metcalfe dice que el valor de una red de comunicaciones aumenta proporcionalmente al cuadrado del número de usuarios del sistema (n2). una única máquina es inútil, pero su valor se incrementa con el número total de máquinas de la red, debido a que aumenta el número de personas con las que se puede comunicar.

La Ley de Linus (Tovards) establece que "dado un número suficientemente elevado de ojos, todos los errores se convierten en obvios"Las personas que entienden y las que resuelven un problema no deben ser necesariamente las mismas, ni siquiera en la mayoría de los casos

Hablaba sobre el open source, "el agregar más beta-testers podría no contribuir a reducir la complejidad del "más profundo" de los errores actuales desde el punto de vista del desarrollador, sino que aumenta la probabilidad de que alguno de ellos vea claramente el error y pueda solucionarlo"

Ley de rendimientos acelerados del sr Kurtzweil un reputado futurista/inventor salido del MIT basado el la ley de Moore,  habla de esa pajas mentales que tanto me gusta... . "En el plazo de unas pocas décadas, la inteligencia de las máquinas sobrepasará la inteligencia humana, llevándonos a la singularidad (cambios tecnológicos tan rápidos y profundos que representen una ruptura en la estructura de la historia humana). Las consecuencias incluyen el surgimiento de inteligencia biológica y no biológica, software inmortal basado en humanos y niveles de inteligencia ultra-elevados que se expandirán hacia el universo a la velocidad de la luz".  Fechas, fundamentos, controversias y demás p.e. –> aquí

la Ley de Hofstadter  (sobre las estimaciones de tiempo de tareas, en especial en programación): Siempre lleva más tiempo que el esperado, incluso si tienes en cuenta La Ley de Hofstadter

Nielsen's Law ,(no es Leslie Nielsen ¿eh?) in which he stated that network connection speeds for high-end home users would increase 50% per year, or double every 21 months.

Limits to computation, formado por leyes físicas y considerando que todo lo que existe es reducible a información muy bien conocidas como:

1. Bekenstein bound
que habla de los límites de la entropía (2ª ley de la termodinámica) aplicable a una máquina de Turín o a un agujero negro (la info de lo que se traga se queda en la superficie u horizonte de sucesos en forma de antiparticulas y es escupida como radiación de Hawking hasta que este bujero se evapora, preservando el 1 Ppo. del la termodnámica o conservación de la energía)

2. Los límites en temperatura en la velocidad  operación de cualquier cacharro (debe estar por debajo de la tempreatura de las microondas de fondo cosmico, que son residuos del Big Bang, por cierto lo podeis detectar en el ruido al cambiar en la FM o "la nieve" al sintonizar canales en las antiguas teles analogias)

3. Los limites de Bremmermann,  resumiendo, la velocidad  de computación de cualquier sistema material (p.e un ordenata común, no se yo si un ordenador cuantico ) esta sujeto a tanto a los límites de las leyes físicas que rigen masa-energia (o sea es determinista) como a las leyes cuantícas (o sea indeterminista, regido x el ppo de Indetermindación del traidor de Werner Heisenberg)

La Ley de Amdahl  (aplicado mucho a la computación en paralelo) establece que "la mejora obtenida en el rendimiento de un sistema debido a la alteración de uno de sus componentes está limitada por la fracción de tiempo que se utiliza dicho componente." O sea que el componente(s) "opimizado" pueden ser el cuello de botella.  Ahora que me doy cuenta en economia hay algo parecido por el que se forró un tal Godratt escribiendo al respecto y dando conferecias (se tira un huevo de tiempo para decir eso) en las escuelas de negociod y MBAs, hasta cre un método el TOC  .. creo que tengo un video: La meta  Lo que confirma mis sospechas del que el marketing es una de las pocas disciplinas de venderse así mismas..puagg

Gustafson's Law que tiene una visión positiva de lo anterior,que establece que cualquier problema suficientemente grande puede ser eficientemente paralelizado. O sea que divide, trabaja en parelelo y vencerás  ( Ya sabeís que soy partidario de la extrapolación concepto de pool  ;-)

la ley de Bell (sobre como crece apróximadamente el mercado de la informática) : Roughly every decade a new, lower priced computer class forms based on a new programming platform, network, and interface resulting in new usage and the establishment of a new industry

Kryder's Law says that magnetic disk areal storage density doubles annually. Bueno ha sido válido hasta el 2005
Rock's law, says that the cost of a semiconductor chip  fabrication plant doubles every four years  O sea que si poneis una fábrica de semiconductores (básico para la evolución tecnológica), ..

Wirth's law says software is  getting slower more rapidly than hardware becomes faster. Bill Gates dice irónicamente que eso es puede ser por vagueria de los encargados del desrrollo.

Classen's logarithmic law of usefulness  usefulness= log(Technology) O sea que el estado de la tecnología es el resultado del crecimiento exponencial de la  utilidad que ésta tiene.

la ley de Wilfredo Pareto (o regla 80-20) o del "Paleto" aplicado en ing, del sw, pero se aplica a ventas, economía, otras ingenierias:

  • Así por ejemplo cuando hablamos de los costes de desarrollo podríamos decir que "el 80% del esfuerzo de desarrollo (en tiempo y recursos) produce el 20% del código, mientras que el 80% restante es producido con tan sólo un 20% del esfuerzo".
  • Si hablamos de pruebas de software, el principio nos dice que "el 80% de los fallos de un software es generado por un 20% del código de dicho software, mientras que el otro 80% genera tan solo un 20% de los fallos".ç

Parkinson's law— "Work expands so as to fill the time available for its completion." (o sea que al final hay una tendencia a petar el tiempo disponible, reduce el de  currar :D ) "Expenditure rises to meet income." In computers: Programs expand to fill all available memory.


LEY DE MURPHY.Si algo puede salir mal, saldrá mal. Bueno y pongo los corolarios (proposición que se deduce fácilmente de lo demostrado en este caso por la experiencia o sea no necesita probarse :-)

  •        Nada es tan fácil como parece.
  •        Todo lleva más tiempo del que usted piensa.
  •         Si existe la posibilidad de que varias cosas vayan mal, la que cause más perjuicios será la única que vaya mal.
  •         Si usted intuye que hay cuatro posibilidades de que una gestión vaya mal y las evita, al momento aparecerá espontáneamente una quinta posibilidad.
  •         Cuando las cosas se dejan a su aire, suelen ir de mal en peor.
  •         En cuanto se ponga a hacer algo, se dará cuenta de que hay otra cosa que debería haber hecho antes.
  •         Cualquier solución entraña nuevos problemas.
  •         Es inútil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos.
  •         La naturaleza siempre está de parte de la imperfección oculta.
  •         La madre Naturaleza es una perra.

No hay comentarios:

Publicar un comentario

Anímate a participar...

El autor de éste blog no se responsabiliza de los comentarios u opiniones vertidos en cualquiera de los artículos. Lo que sí rogamos a nuestros miles de lectores que moderen sus expresiones, las cuales no deben ser ofensivas bajo ningún concepto, en caso contrario, nos veremos obligados a suspender las intervenciones en los debates que se generen.