You are on page 1of 34

Introducci on

Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

No Silver Bullet
Presentaci
on del paper de Fred Brooks

Palladino, Radusky, Taraciuk, Verzilli

Universidad de Buenos Aires

Primer Cuatrimestre 2009

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

1 Introduccion

2 Essential difficulties

3 Solving accidental difficulties

4 Hopes for the Silver

5 Promising Attacks

6 Conclusiones

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Introduccion

Fred Brooks: Ingeniero en software. Trabajo en IBM, entre


otros proyectos, en el desarrollo del OS/360. En 1964
abandona IBM para fundar el departamento de Computacion
cientfica en la universidad de Chapel Hill, que dirigio por 20
a
nos.
Que es la bala de plata?
Dificultades escenciales
Dificultades accidentales
C
omo atacar las dificultades escenciales?
Trabajo actual

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Dificultades esenciales vs. accidentales

La parte difcil de construir software es la especificacion, el dise


no
y el testeo de la construccion conceptual del software. La dificultad
no radica en la representacion del concepto (la implementacion).
Complejidad
Conformidad
Cambio constante
No visibilidad

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Dificultades esenciales vs. accidentales

La parte difcil de construir software es la especificacion, el dise


no
y el testeo de la construccion conceptual del software. La dificultad
no radica en la representacion del concepto (la implementacion).
Complejidad
Conformidad
Cambio constante
No visibilidad

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Soluciones a las dificultades accidentales

Lenguajes de alto nivel


Tiempo compartido
Entornos de desarrollo unificados

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Analisis de las tecnicas mas avanzadas para el momento sobre su
potencial como silver bullets.
Lenguajes de alto nivel
El manejo de alto nivel implica un cambio de filosofa. Resuelven dificultades
accidentales a nivel de m
aquina llev
andolas a statements.

Programacion orientada a objetos


Mejora expresividad mediante TADs y herencia. Resuelven s
olo los problemas de
expresi
on del dise
no.

Sistemas expertos
Generadores de conclusiones a partir de base de reglas y esquema general de
inferencia. Proveen asistencia al programador sin resolver dificultades
escenciales.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Analisis de las tecnicas mas avanzadas para el momento sobre su
potencial como silver bullets.
Lenguajes de alto nivel
El manejo de alto nivel implica un cambio de filosofa. Resuelven dificultades
accidentales a nivel de m
aquina llev
andolas a statements.

Programacion orientada a objetos


Mejora expresividad mediante TADs y herencia. Resuelven s
olo los problemas de
expresi
on del dise
no.

Sistemas expertos
Generadores de conclusiones a partir de base de reglas y esquema general de
inferencia. Proveen asistencia al programador sin resolver dificultades
escenciales.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Analisis de las tecnicas mas avanzadas para el momento sobre su
potencial como silver bullets.
Lenguajes de alto nivel
El manejo de alto nivel implica un cambio de filosofa. Resuelven dificultades
accidentales a nivel de m
aquina llev
andolas a statements.

Programacion orientada a objetos


Mejora expresividad mediante TADs y herencia. Resuelven s
olo los problemas de
expresi
on del dise
no.

Sistemas expertos
Generadores de conclusiones a partir de base de reglas y esquema general de
inferencia. Proveen asistencia al programador sin resolver dificultades
escenciales.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Analisis de las tecnicas mas avanzadas para el momento sobre su
potencial como silver bullets.
Lenguajes de alto nivel
El manejo de alto nivel implica un cambio de filosofa. Resuelven dificultades
accidentales a nivel de m
aquina llev
andolas a statements.

Programacion orientada a objetos


Mejora expresividad mediante TADs y herencia. Resuelven s
olo los problemas de
expresi
on del dise
no.

Sistemas expertos
Generadores de conclusiones a partir de base de reglas y esquema general de
inferencia. Proveen asistencia al programador sin resolver dificultades
escenciales.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Programacion automatica
Generaci
on de programas directo a partir de una especificaci
on. Escepticismo
acerca de su funcionamiento fuera de dominios acotados.
Programacion grafica
Programar utilizando representaciones visuales del software. Impracticable por
invisibilidad inherente.
Verificacion de programas
Eliminar bugs verificando un programa contra su especificaci
on. Demasiado
esfuerzo; requiere tener una especificaci
on correcta y completa.
Herramientas y workstations
Mejoras en hardware, herramientas colaborativas y entornos integrados de
desarrollo. No aportan grandes mejoras a la resoluci
on de dificultades
escenciales.
Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet
Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Programacion automatica
Generaci on. Escepticismo
on de programas directo a partir de una especificaci
acerca de su funcionamiento fuera de dominios acotados.
Programacion grafica
Programar utilizando representaciones visuales del software. Impracticable por
invisibilidad inherente.
Verificacion de programas
Eliminar bugs verificando un programa contra su especificaci
on. Demasiado
esfuerzo; requiere tener una especificaci
on correcta y completa.
Herramientas y workstations
Mejoras en hardware, herramientas colaborativas y entornos integrados de
desarrollo. No aportan grandes mejoras a la resoluci
on de dificultades
escenciales.
Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet
Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Programacion automatica
Generaci on. Escepticismo
on de programas directo a partir de una especificaci
acerca de su funcionamiento fuera de dominios acotados.
Programacion grafica
Programar utilizando representaciones visuales del software. Impracticable por
invisibilidad inherente.
Verificacion de programas
Eliminar bugs verificando un programa contra su especificaci
on. Demasiado
esfuerzo; requiere tener una especificaci
on correcta y completa.
Herramientas y workstations
Mejoras en hardware, herramientas colaborativas y entornos integrados de
desarrollo. No aportan grandes mejoras a la resoluci
on de dificultades
escenciales.
Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet
Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Programacion automatica
Generaci on. Escepticismo
on de programas directo a partir de una especificaci
acerca de su funcionamiento fuera de dominios acotados.
Programacion grafica
Programar utilizando representaciones visuales del software. Impracticable por
invisibilidad inherente.
Verificacion de programas
on. Demasiado
Eliminar bugs verificando un programa contra su especificaci
esfuerzo; requiere tener una especificaci
on correcta y completa.
Herramientas y workstations
Mejoras en hardware, herramientas colaborativas y entornos integrados de
desarrollo. No aportan grandes mejoras a la resoluci
on de dificultades
escenciales.
Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet
Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Hopes for the Silver


Programacion automatica
Generaci on. Escepticismo
on de programas directo a partir de una especificaci
acerca de su funcionamiento fuera de dominios acotados.
Programacion grafica
Programar utilizando representaciones visuales del software. Impracticable por
invisibilidad inherente.
Verificacion de programas
on. Demasiado
Eliminar bugs verificando un programa contra su especificaci
esfuerzo; requiere tener una especificaci
on correcta y completa.
Herramientas y workstations
Mejoras en hardware, herramientas colaborativas y entornos integrados de
desarrollo. No aportan grandes mejoras a la resoluci
on de dificultades
escenciales.
Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet
Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Comprar en vez de construir

La mejor forma de evitar los problemas asociados a construir


software es no construirlo
Nueva medida de productividad: cantidad de usuarios
satisfechos
En los ochenta la relacion entre el costo de un desarrollo a
medida y el hardware justificaba mucho mas esta proposicion
Idea: resolvemos bien un problema con un enlatado, despues
los usuarios adaptan sus procesos a el

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Comprar en vez de construir

La mejor forma de evitar los problemas asociados a construir


software es no construirlo
Nueva medida de productividad: cantidad de usuarios
satisfechos
En los ochenta la relacion entre el costo de un desarrollo a
medida y el hardware justificaba mucho mas esta proposicion
Idea: resolvemos bien un problema con un enlatado, despues
los usuarios adaptan sus procesos a el

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Comprar en vez de construir

La mejor forma de evitar los problemas asociados a construir


software es no construirlo
Nueva medida de productividad: cantidad de usuarios
satisfechos
En los ochenta la relacion entre el costo de un desarrollo a
medida y el hardware justificaba mucho mas esta proposicion
Idea: resolvemos bien un problema con un enlatado, despues
los usuarios adaptan sus procesos a el

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Comprar en vez de construir

La mejor forma de evitar los problemas asociados a construir


software es no construirlo
Nueva medida de productividad: cantidad de usuarios
satisfechos
En los ochenta la relacion entre el costo de un desarrollo a
medida y el hardware justificaba mucho mas esta proposicion
Idea: resolvemos bien un problema con un enlatado, despues
los usuarios adaptan sus procesos a el

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Refinamiento de requerimientos y prototipado

La parte mas difcil de construir software es decidir


precisamente que construir
El cliente no sabe lo que quiere
La mejor forma de aproximarse a un producto que le sea de
utilidad al cliente es integrarlo en el desarrollo y favorecer su
cooperacion con los dise nadores en forma iterativa
Idea: desarrollemos metodos y herramientas para el
prototipado rapido de sistemas
En resumen: Grow, dont build

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Refinamiento de requerimientos y prototipado

La parte mas difcil de construir software es decidir


precisamente que construir
El cliente no sabe lo que quiere
La mejor forma de aproximarse a un producto que le sea de
utilidad al cliente es integrarlo en el desarrollo y favorecer su
cooperacion con los dise nadores en forma iterativa
Idea: desarrollemos metodos y herramientas para el
prototipado rapido de sistemas
En resumen: Grow, dont build

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Refinamiento de requerimientos y prototipado

La parte mas difcil de construir software es decidir


precisamente que construir
El cliente no sabe lo que quiere
La mejor forma de aproximarse a un producto que le sea de
utilidad al cliente es integrarlo en el desarrollo y favorecer su
cooperacion con los dise nadores en forma iterativa
Idea: desarrollemos metodos y herramientas para el
prototipado rapido de sistemas
En resumen: Grow, dont build

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Refinamiento de requerimientos y prototipado

La parte mas difcil de construir software es decidir


precisamente que construir
El cliente no sabe lo que quiere
La mejor forma de aproximarse a un producto que le sea de
utilidad al cliente es integrarlo en el desarrollo y favorecer su
cooperacion con los dise nadores en forma iterativa
Idea: desarrollemos metodos y herramientas para el
prototipado rapido de sistemas
En resumen: Grow, dont build

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Refinamiento de requerimientos y prototipado

La parte mas difcil de construir software es decidir


precisamente que construir
El cliente no sabe lo que quiere
La mejor forma de aproximarse a un producto que le sea de
utilidad al cliente es integrarlo en el desarrollo y favorecer su
cooperacion con los dise nadores en forma iterativa
Idea: desarrollemos metodos y herramientas para el
prototipado rapido de sistemas
En resumen: Grow, dont build

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Grandes disenadores

Los grandes dise


nos provienen de los grandes dise
nadores
La construccion de software es un proceso creativo
Idea: desarrollemos formas de formar grandes dise
nadores
Las organizaciones de software deben determinar y reconocer
que los grandes dise
nadores son tan importantes para su
crecimiento como los grandes managers

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Grandes disenadores

Los grandes dise


nos provienen de los grandes dise
nadores
La construccion de software es un proceso creativo
Idea: desarrollemos formas de formar grandes dise
nadores
Las organizaciones de software deben determinar y reconocer
que los grandes dise
nadores son tan importantes para su
crecimiento como los grandes managers

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Grandes disenadores

Los grandes dise


nos provienen de los grandes dise
nadores
La construccion de software es un proceso creativo
Idea: desarrollemos formas de formar grandes dise
nadores
Las organizaciones de software deben determinar y reconocer
que los grandes dise
nadores son tan importantes para su
crecimiento como los grandes managers

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Grandes disenadores

Los grandes dise


nos provienen de los grandes dise
nadores
La construccion de software es un proceso creativo
Idea: desarrollemos formas de formar grandes dise
nadores
Las organizaciones de software deben determinar y reconocer
que los grandes dise
nadores son tan importantes para su
crecimiento como los grandes managers

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Conclusiones

Las dificultades escenciales siguen siendo las mismas, por lo


que el paper tiene vigencia pese a algunos terminos obsoletos.
De las formas de atacarlas que Brooks hablo podramos decir:
Que comprar en vez de construr qued o un poco asincronico en
cuanto a la relaci on de costos hardware/software.
Que en cuanto a los requerimientos iterativamente refinados
dio en la tecla, ya que existe bastante concenso en la
actualidad sobre las bondades del desarrollo iterativo
incremental.
En cuanto a los grandes dise nadores, hay muchas empresas
que lo han tenido en cuenta.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Conclusiones

Las dificultades escenciales siguen siendo las mismas, por lo


que el paper tiene vigencia pese a algunos terminos obsoletos.
De las formas de atacarlas que Brooks hablo podramos decir:
Que comprar en vez de construr qued o un poco asincronico en
cuanto a la relaci on de costos hardware/software.
Que en cuanto a los requerimientos iterativamente refinados
dio en la tecla, ya que existe bastante concenso en la
actualidad sobre las bondades del desarrollo iterativo
incremental.
En cuanto a los grandes dise nadores, hay muchas empresas
que lo han tenido en cuenta.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Conclusiones

Las dificultades escenciales siguen siendo las mismas, por lo


que el paper tiene vigencia pese a algunos terminos obsoletos.
De las formas de atacarlas que Brooks hablo podramos decir:
Que comprar en vez de construr qued o un poco asincronico en
cuanto a la relaci on de costos hardware/software.
Que en cuanto a los requerimientos iterativamente refinados
dio en la tecla, ya que existe bastante concenso en la
actualidad sobre las bondades del desarrollo iterativo
incremental.
En cuanto a los grandes dise nadores, hay muchas empresas
que lo han tenido en cuenta.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Conclusiones

Las dificultades escenciales siguen siendo las mismas, por lo


que el paper tiene vigencia pese a algunos terminos obsoletos.
De las formas de atacarlas que Brooks hablo podramos decir:
Que comprar en vez de construr qued o un poco asincronico en
cuanto a la relaci on de costos hardware/software.
Que en cuanto a los requerimientos iterativamente refinados
dio en la tecla, ya que existe bastante concenso en la
actualidad sobre las bondades del desarrollo iterativo
incremental.
En cuanto a los grandes dise nadores, hay muchas empresas
que lo han tenido en cuenta.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet


Introducci on
Essential difficulties
Solving accidental difficulties
Hopes for the Silver
Promising Attacks
Conclusiones

Conclusiones

Las dificultades escenciales siguen siendo las mismas, por lo


que el paper tiene vigencia pese a algunos terminos obsoletos.
De las formas de atacarlas que Brooks hablo podramos decir:
Que comprar en vez de construr qued o un poco asincronico en
cuanto a la relaci on de costos hardware/software.
Que en cuanto a los requerimientos iterativamente refinados
dio en la tecla, ya que existe bastante concenso en la
actualidad sobre las bondades del desarrollo iterativo
incremental.
En cuanto a los grandes dise nadores, hay muchas empresas
que lo han tenido en cuenta.

Palladino, Radusky, Taraciuk, Verzilli No Silver Bullet

You might also like