Beruflich Dokumente
Kultur Dokumente
Reflexiones
El disfrute del oficio Las desgracias del oficio La leyenda del Hombre-lobo Dificultades esenciales y accidentales La esencia del software Conclusiones - Qu podemos intentar?
Lo divertido de hacer cosas... El placer de que las cosas que El disfrute de trabajar con algo hacemos sean tiles a otras tan maleable: el pensamiento personas (como los poetas)...
Dependemos de otros
Usualmente el producto que se est construyendo se nos vuelve obsoleto antes de terminarlo Debe realizarse perfecto
Otra persona nos Disear conceptos es divertido, pero asigna los objetivos, 5 recursos y la informacin construirlos es el trabajo real necesaria
Para muchos de nosotros el disfrute sobrepasa a las desgracias y hemos decidido continuar con esta profesin ...
De todos los monstruos que tenemos como parte del folclore de nuestras pesadillas, ninguno es ms terrorfico que el Hombre-lobo, porque se transforma inesperadamente- de lo familiar a lo horrorfico ...
7
Para el Hombre-lobo buscamos una bala de plata que pueda mgicamente- destruirlo ...o al menos mandarlo a descansar
8
y productos intiles
Presupuestos incorrectos ...
Constituye o forma parte de la esencia de algo; es inherente. Relativo a una propiedad, factor o atributo que no es esencial.
10
Pero muchas de las dificultades accidentales ya han sido resueltas, por ejemplo...
La dificultad de programar por el bajo nivel de abstraccin de los lenguajes ... Facilitar el acceso al poder de cmputo ... Mucha de la ganancia lograda en productividad de software ha sido consecuencia de eliminar estas barreras artificiales que hacen que las tareas accidentales sean inordinariamente difciles
Cunto del esfuerzo realizado por los ingenieros de software es hacia lo accidental y no hacia lo esencial?
...para que exista una mejora significativa en la productividad, confiabilidad y simplicidad, el 90% de las dificultades al desarrollar software deberan ser accidentales (poco probable) y las tcnicas y herramientas deberan buscar reducirlas al 0% (difcil que ocurra)...
12
Conjuntos de datos
Si esto es verdad, construir software siempre ser difcil. De forma inherente la bala de plata no existe ... Consideremos entonces las propiedades inherentes de esta esencia irreducible de los sistemas de software: complejidad, conformidad, maleabilidad e 14 invisibilidad
El software es complejo
Porque:
No
hay dos partes iguales (a menos a nivel superior al estatuto, si as fuera lo hacemos subrutina). El nmero de estados del software es mucho mayor que cualquier otro hardware creado por el hombre. Escalar software no es la repeticin de elementos preexistentes a un tamao mayor: es necesario incrementar el nmero de elementos (y esto se ve afectado por el aumento en la complejidad no lineal de la interrelacin con los elementos restantes).
15
Por esta complejidad se han generado muchos de los problemas del desarrollo de software
Dificultad de enumerar (mucho menos entender) todos los posibles estados de un programa (y de ah viene la falta de confiabilidad)...
Dificultad de invocar funciones complejas, lo cual hace a los programas difciles de utilizar
16
Por esta complejidad se han generado muchos de los problemas del desarrollo de software
17
Por esta complejidad se han generado muchos de los problemas del desarrollo de software
Estas dificultades en la gestin de proyectos conllevan al problema de Integridad Conceptual La Integridad Conceptual es la consideracin ms importante en el diseo de sistemas. Es mejor tener un sistema que omita ciertas caractersticas fantsticas y mejoras, pero que refleje un conjunto coherente de ideas de diseo y no un conjunto de ideas brillantes independientes y no coordinadas Muchas catedrales Europeas muestran diferencias en los planes y el estilo arquitectnico entre partes construidas por diferentes generaciones y diferentes constructores. Los ltimos intentaron mejorar los diseos de los primeros por moda o gusto 18 personal ...
Conformidad
No solamente la gente que desarrolla software se enfrenta a la complejidad. Los fsicos, por ejemplo se tienen que enfrentar con objetos terriblemente complejos, an en las partculas fundamentales...
Sin embargo, los fsicos fundamentan su labor en una fe firme de que existen principios unificadores que deben encontrarse en cualquier rea de su estudio
Deben existir explicaciones sencillas de la naturaleza, porque Dios no 19 es caprichoso o arbitrario ...
Conformidad
Muchas de las veces los sistemas de software llegan despus que los sistemas de negocios (estos ya existen). A diferencia de la naturaleza, estos sistemas fueron creados por humanos... Mucha de la complejidad que debe enfrentar el ingeniero de software es arbitraria, forzada sin ritmo y razn por las instituciones humanas y los sistemas a los cuales las interfaces de la aplicacin debe conformarse Como el sistema suele ser el ltimo
que llega, a l le toca conformarse. Adems siempre es visto como lo 20 ms fcil de conformar (sic) ...
Maleabilidad
Los cambios en edificios, automviles y hardware de computadoras ocurren pero no con la misma frecuencia que el software...
Esto es porque el software encierra funcionalidad y esta es la parte ms sujeta a la presin del cambio. A su vez esta funcionalidad est hecha del material ms altamente maleable: Los edificios tambin se pueden el pensamiento cambiar, pero los costos son altos y eso impide el cambio 21 frecuente..
Maleabilidad
Todo software exitoso tiene cambios en dos aspectos principales ...
Conforme el software resulta til, los usuarios intentan usarlo en nuevos casos en la frontera del dominio (o ms all) inventan nuevos 22 usos para l ...
Invisibilidad
El software es invisible y no visualizable...
Las abstracciones geomtricas son poderosas para capturar realidades geomtricas, pero la realidad del software es que no est incrustado en el espacio
23
Invisibilidad
La realidad es que los aspectos estructurales son ...
Muy complejos ...
Ocultos ...
24
Para aplicar un esfuerzo persistente que lentamente logre erradicar las enfermedades
Se dej a un lado las soluciones simples y creencias falsas para curar las enfermedades...
25
Se dej a un lado la alquimia ... Para invertir muchos aos en la comprensin del tomo y despus aprender a sintetizar el oro... Podremos aprender algo de estas disciplinas?
26
S !
...Un esfuerzo disciplinado, consistente para desarrollar, propagar y explotar estas innovaciones, debera llevarnos a una mejora significativa en ordende-magnitud. No hay camino de reyes, pero al menos hay un camino...
Este se parece a mi!
27
Se debe entonces considerar atacar la esencia del software, en pocas palabras la formulacin de las complejas estructuras conceptuales
28