Brooks niega la posibilidad de Silver Bullets en un futuro
Enviado por amionej • 19 de Agosto de 2016 • Apuntes • 925 Palabras (4 Páginas) • 208 Visitas
Jorge Amione A01193321
Alejandro Soriano A01232051
Abstract
El artículo de Brooks trata de muchos conceptos acerca del desarrollo de software, con el fin de enseñar a gente que el desarrollo del mismo es algo muy complejo y difícil, eliminando así el pensamiento de que algún día habrá un “Silver Bullet” (una herramienta) que algún día haga sencillo el desarrollo para cualquier persona.
Brooks comenta que hay dos clases de cualidades (dificultades) en cada software:
- Cualidades esenciales: Éstas son las difíciles de tratar, debido a que son las que tienen que ver con el diseño del software. En ellas incluye:
- Complejidad
- El software siendo invisible (haciendo el diseño más difícil de desarrollar)
- Cambiable
- Conformidad
- Cualidades accidentales: Éste tipo de cualidades pueden ser tratadas más fácil que las esenciales, debido que tienen que ver con el código y con las herramientas. En ellas incluye:
- Los lenguajes de alto nivel
- Tiempo compartido (en proyectos)
- Ambientes de programación unidos
Brooks niega la posibilidad de Silver Bullets en un futuro. Ejemplifica la programación orientada a objetos, lenguajes de mucho más alto nivel (como Ada), la prueba de verificación basado en el diseño, herramientas mejoradas, estaciones de trabajo y la AI (inteligencia artificial). A partir de la inteligencia artificial nombra sistemas expertos, programación artificial y programación gráfica. A las herramientas las nombra como útiles, pero que en ningún futuro harán el desarrollo de software una tarea sencilla.
En fin, Brooks señala tres áreas prometedores en contra de las dificultades esenciales como las siguientes: la compra de software, la refinación de requisitos (debido a que el usuario nunca sabe exactamente lo que quiere), y apoyar el crecimiento, no la construcción, de software por medio de la preservación de buenos diseñadores.
Si uno es capaz de comprar el software existente en lugar de desarrollar desde cero, los costos de diseño, investigación, desarrollo, pruebas, documentación y soporte se evitan por un costo mejor y fijo. La replicación del software es barato, y la compra en lugar de construir por lo regular está más barato y más predecible. Por la refinación de requisitos dice que tratar de tener un software que trabaja tan temprano, frecuente y con certeza como sea ayuda a los clientes a que verifiquen que el producto cumpla con sus necesidades (porque ellos nunca saben qué es lo que necesitan en un inicio). Por último, Brooks señala que hay elementos que no se pueden enseñar a los diseñadores casuales, por lo que hay que preservar a los grandes. Por grandes, Brooks no se refiere a los veteranos, sino que también se debe identificar a los que presentan un potencial grande de diseñador, ya que no siempre son los que tienen más experiencia.
Con qué estamos de acuerdo
Nosotros también asumimos que uno de los principales problemas al momento de desarrollar software es la mala comunicación entre miembros de un equipo, como lo dice Brooks al describir la cualidad esencial de la complejidad, porque en el momento en que no hay comunicación, dicho recurso tan importante puede causar muchas repercusiones como el mal-entendimiento del programa, lo que conlleva a las fallas del mismo y así se va como un camino de dominós pegados uno al otro.
...