Está en la página 1de 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

Introduccion

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

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 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 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 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 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

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

También podría gustarte