Entendiendo la Responsabilidad Social  de la Ingeniería de Software @Avanet - @SoreyGarcia
El por qué de esta conferencia La  ingeniería de software  y la  calidad de software  nos resultan temas apasionantes… Ser...
Con esta charla no pretendemos enseñar a nadie a ser “humanamente responsable” Lo único que queremos es compartir algunas ...
Empecemos por entender lo básico ¿Qué es Ingeniería de Software?
La Ingeniería de Software es la aplicación práctica del  conocimiento científico  en el diseño y construcción de programas...
La Ingeniería de Software es la aplicación de un enfoque  sistemático, disciplinado y cuantificable  al desarrollo, operac...
La Ingeniería de Software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mante...
¿Está claro? Si, … o quizá… Sin embargo todo eso parece un concepto  muy elevado  para algo  tan simple  como “ hacer sofw...
Si, es cierto… Es tan simple que puedes aprenderlo en Internet, incluso trabajar en ello  y ganar mucho más  que muchos  d...
Y es que hace algunos años,  ser  ingeniero de sistemas  parecía ser  una de esas carreras que ofrecía un futuro prometedor
Y saber de eso que pocos sabían hacía que fueras alguien “ interesante ” …
En la práctica… Las cosas resultaron ser un poco distintas para la mayoría de nosotros…
Es típico escuchar a las actuales generaciones de programadores profesionales, hablando de lo aburrido que resulta trabaja...
Y ni hablemos sobre el concepto de “ interesante ”  en el que nos tiene la mayoría…
Bajo esta perspectiva, resulta un poco extraño que tantas personas  (entusiastas y profesionales de otras áreas) quieran h...
Un momento, nadie dijo que lo hicieran bien  (no todos) , solo que  también  podían hacerlo…
Sin embargo, No se trata solo de eso Bueno, eso sería, si lo único que importara de  “desarrollar software”  fuera  “logra...
¡Espere un momento! Aunque me gusta mi profesión, no estoy sugiriendo que debe ser un ingeniero titulado para hacer Ingeni...
Sin embargo y sin ánimo de ser duros, déjenos preguntarles,… ¿Qué clase de persona se arriesgaría a realizar una cirugía p...
¡La verdad es que no suena nada agradable! ¡Ah! Pero es que usted no pretende hacer cirugías ¿verdad? Veamos, pruébese así...
¿Viajaría usted en un avión cuyo software ha sido construido por usted?
Esta pregunta es una de esas que  generalmente produce duda o risa… Si fue así, le invitamos a cuestionarse… Sea usted o n...
Hay personas, si subirán  a ese mismo avión, es decir que  usarán  su software
Veamos otras preguntas… ¿Dudan los enfermos del corazón de sus médicos cirujanos?
¿Dudan los empresarios de los ingenieros civiles y arquitectos que construyen sus edificios?
La falta de un lugar como profesional de sistemas, está al punto de considerar que lo que más sabemos hacer es instalar Wo...
Puede que ese sea uno de los muchos orígenes de la idea de que un tutorial en Internet será suficiente para suplir la acad...
Pues bien, esto lejos de ser una charla de desmotivación  (como seguro parece)  es una invitación a reflexionar y no solo ...
Por otro lado… ¿Qué tan seguros estamos de que los profesionales de ingeniería valoran y entienden su papel?
La mayoría de la gente piensa que la gente dedicada a la tecnología,  se parece más a las máquinas con las que trabaja,  q...
Bueno, en realidad no importa mucho si lo que piensan es correcto o no… Pero hay un problema
Algunos ingenieros piensan  exactamente lo mismo,  actúan tal cual como si estuviesen  programados y hacen exclusivamente ...
La Ingeniería de Software tiene un poco más que ver con un  tema ético y humano  de lo que muchos piensan
La  ingeniería de software  es una idea casi ética ( no solo ética ) de como hacer el software de  forma correcta  (softwa...
Quizá no tiene tantos años como la física, matemáticas o arquitectura…
Pero créanos, tampoco se la inventaron ayer, ni está en pañales…
Pero puede que  “muchos de nosotros”  si…
<ul><li>Veamos cuánto dudan de nosotros… </li></ul><ul><li>¿Qué pasaría si los programadores construyeran aviones? </li></...
Se han preguntado alguna vez ¿Dónde hay software? Ahora, pongamos en una perspectiva más real el símil de construir el avi...
 
 
 
 
 
 
 
¿Se imaginan de verdad construyendo este tipo de sistemas  “en el aire” ?
<ul><li>Lamento mucho tener que decir qué es básicamente lo que está sucediendo… </li></ul>
En la mayoría de proyectos de desarrollo, los costes de mantenimiento, superan por un amplio margen los costos de desarrol...
No debería ser así ¿verdad? Todos sabemos que cometer errores en la construcción de software puede tener serias consecuenc...
¿Qué consecuencias? ¿Acaso en software no importa es  básicamente que funcione ? Veamos algunas respuestas a esa pregunta…...
Therac-25  (1985 – 1987) Era una máquina empleada en terapia de radiación, producida por  Atomic Energy of Canada Limited ...
Mariner 1 (28 de Julio de 1962) Un guión en las instrucciones del programa de guiado del cohete provocó la desviación del ...
Vuelo 501 del ARIANE-5 (4 de Junio de 1996) Otro ejemplo documentado sobre el daño ocasionado por software mal diseñado es...
A-320 de Air France ( 26 de junio de 1988) Durante una presentación en el meeting de Habsheim, cerca de Mulhouse (Francia)...
¡Si, ya sé! Usted no hace software para aviones o para la NASA Lo que lo estoy invitando a cuestionarse es…
Antes de poner sus aplicaciones de software en producción, se pregunta… ¿el trabajo de cuantas personas puede afectar que ...
Es común ver software hechos para  quienes lo desarrollaron  y no para quienes  lo van a usar
Pues bien, aunque actualmente existen muchas personas que construyen software con  conocimiento empírico , tal como si fue...
Hacer las cosas bien, siempre va a requerir  un poco más de esfuerzo,  que hacerlas de cualquier otro modo
Practicas y Principios Pressman Actividades Personas Herramientas Roles Artefactos Notación Proceso de Software
Existe una gran la variedad de propuestas de  Proceso de Software , sin embargo el  conjunto de actividades fundamentales ...
Es así como encontramos las Métodologías  Estructuradas
Y también las  Métodologías  Ágiles
No existe un proceso de desarrollo de software universal que  sea efectivo   para  todos los contextos  de proyectos de de...
Complejidad
Costo/Beneficio   Económico
Robustez  del software
Conocimiento   disponible
Los  principios y practicas  que pueden seguirse en la Ingeniería de Software, buscan garantizar un mejor resultado y uso ...
 
¿Quién dice que  siempre   sale mal? A pues no,  no siempre  sale mal… Solo algunas veces
(Estudio de Resultado de Ejecución de los Proyectos de Software) Fuente:  http :// vidanp.wordpress.com /2010/02/01/ estan...
Seguimos cayendo en  los mismos errores  una y otra vez…
¿Qué errores se comenten?
Falta de  comunicación
Ausencia de  objetivos y metas  claras durante la ejecución del proyecto
Falta de planificación
Requisitos poco claros y falta de acceso a la información
Falta de análisis y entendimiento de las necesidades del cliente
Mala estimación de tiempos
Indefinición del alcance y las  responsabilidades  de las partes
Falta de identificación y  gestión de los riesgos
Carencia de habilidades en la ejecución de un rol
Falta de seguimiento al  avance del proyecto
Falta de control del presupuesto
Recursos Insuficientes
Tratar de construir sin tener una arquitectura definida
Falta de conocimiento e interés en la aplicación de  mejores prácticas
<ul><li>Ahora bien, </li></ul><ul><li>¿Alguien se cuestiona realmente por lo que está sucediendo? </li></ul><ul><li>¿Quién...
Hoy en día pocos comprenden, que la responsabilidad de lograr productos de software  tiene que ver con todos  los que part...
Gerente  de Proyectos
Analista  Funcional
Arquitecto de  Software
Analista  Diseñador
Analista  Programador
Analista de  Pruebas
¿Son esos  “ Todos” ?
En la academia Gobierno, instituciones, docentes y estudiantes
En la empresa Directivos, clientes, usuarios, analistas de negocio, profesionales de sistemas
¿Tu?
¿Preguntas? @avanet @soreygarcia
¡Gracias!
Próxima SlideShare
Cargando en…5
×

La responsabilidad social de la Ingeniería de Software

3.670 visualizaciones

Publicado el

0 comentarios
8 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
3.670
En SlideShare
0
De insertados
0
Número de insertados
462
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
8
Insertados 0
No insertados

No hay notas en la diapositiva.

La responsabilidad social de la Ingeniería de Software

  1. 1. Entendiendo la Responsabilidad Social de la Ingeniería de Software @Avanet - @SoreyGarcia
  2. 2. El por qué de esta conferencia La ingeniería de software y la calidad de software nos resultan temas apasionantes… Ser humanamente responsable nos resulta un reto Intentar hacer las dos primeras sin la última es claramente un despropósito
  3. 3. Con esta charla no pretendemos enseñar a nadie a ser “humanamente responsable” Lo único que queremos es compartir algunas ideas de “ por qué deberíamos serlo” si nos dedicamos a esto de “ hacer software” siendo entusiastas o profesionales de cualquier área ( si, de cualquiera )
  4. 4. Empecemos por entender lo básico ¿Qué es Ingeniería de Software?
  5. 5. La Ingeniería de Software es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora, y la documentación asociada requerida para construirlos, operarlos y mantenerlos. Bohem - 1976.
  6. 6. La Ingeniería de Software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación, y mantenimiento del software. IEEE - 1993.
  7. 7. La Ingeniería de Software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad . Wikipedia
  8. 8. ¿Está claro? Si, … o quizá… Sin embargo todo eso parece un concepto muy elevado para algo tan simple como “ hacer sofware”
  9. 9. Si, es cierto… Es tan simple que puedes aprenderlo en Internet, incluso trabajar en ello y ganar mucho más que muchos de los que estudian física, matemáticas y ética …
  10. 10. Y es que hace algunos años, ser ingeniero de sistemas parecía ser una de esas carreras que ofrecía un futuro prometedor
  11. 11. Y saber de eso que pocos sabían hacía que fueras alguien “ interesante ” …
  12. 12. En la práctica… Las cosas resultaron ser un poco distintas para la mayoría de nosotros…
  13. 13. Es típico escuchar a las actuales generaciones de programadores profesionales, hablando de lo aburrido que resulta trabajar horas extras bajo presión, con planificaciones y presupuestos ajustados , pero eso si, con la firme convicción por parte de la administración de que haciéndolo todo no tan bien y con prisa el resultado tendrá que ser lo que el cliente espera ¡A como dé lugar!
  14. 14. Y ni hablemos sobre el concepto de “ interesante ” en el que nos tiene la mayoría…
  15. 15. Bajo esta perspectiva, resulta un poco extraño que tantas personas (entusiastas y profesionales de otras áreas) quieran hacer “lo mismo” que nosotros, y se aventuren en masa a la tarea de “ construir software”
  16. 16. Un momento, nadie dijo que lo hicieran bien (no todos) , solo que también podían hacerlo…
  17. 17. Sin embargo, No se trata solo de eso Bueno, eso sería, si lo único que importara de “desarrollar software” fuera “lograr que funcione”
  18. 18. ¡Espere un momento! Aunque me gusta mi profesión, no estoy sugiriendo que debe ser un ingeniero titulado para hacer Ingeniería de Software. Lo que queremos resaltar es que si usted se quiere participar de la tarea de hacer software o si usted necesita contratar quien lo haga, debería entender como mínimo que implicaciones hay detrás de todo eso…
  19. 19. Sin embargo y sin ánimo de ser duros, déjenos preguntarles,… ¿Qué clase de persona se arriesgaría a realizar una cirugía por haber encontrado las instrucciones en Internet? Y ¿quién en su sano juicio se sometería a que alguien así le hiciera una cirugía?
  20. 20. ¡La verdad es que no suena nada agradable! ¡Ah! Pero es que usted no pretende hacer cirugías ¿verdad? Veamos, pruébese así mismo, responda la siguiente pregunta ya bastante típica
  21. 21. ¿Viajaría usted en un avión cuyo software ha sido construido por usted?
  22. 22. Esta pregunta es una de esas que generalmente produce duda o risa… Si fue así, le invitamos a cuestionarse… Sea usted o no, un profesional informático La razón es evidente y simple…
  23. 23. Hay personas, si subirán a ese mismo avión, es decir que usarán su software
  24. 24. Veamos otras preguntas… ¿Dudan los enfermos del corazón de sus médicos cirujanos?
  25. 25. ¿Dudan los empresarios de los ingenieros civiles y arquitectos que construyen sus edificios?
  26. 26. La falta de un lugar como profesional de sistemas, está al punto de considerar que lo que más sabemos hacer es instalar Word, manejar Excel o vacunar el computador cuando la familia lo llena de virus
  27. 27. Puede que ese sea uno de los muchos orígenes de la idea de que un tutorial en Internet será suficiente para suplir la academia.
  28. 28. Pues bien, esto lejos de ser una charla de desmotivación (como seguro parece) es una invitación a reflexionar y no solo como ingenieros, más bien como personas a los que nos afectará tarde o temprano todo esto
  29. 29. Por otro lado… ¿Qué tan seguros estamos de que los profesionales de ingeniería valoran y entienden su papel?
  30. 30. La mayoría de la gente piensa que la gente dedicada a la tecnología, se parece más a las máquinas con las que trabaja, que a la gente y que son como robots, por pasar todo el día frente a la computadora
  31. 31. Bueno, en realidad no importa mucho si lo que piensan es correcto o no… Pero hay un problema
  32. 32. Algunos ingenieros piensan exactamente lo mismo, actúan tal cual como si estuviesen programados y hacen exclusivamente lo que “deben” hacer o lo que alguien les dice que hagan, finalmente, así el trabajo es “más simple” y evitan preguntarse, por qué es importante…
  33. 33. La Ingeniería de Software tiene un poco más que ver con un tema ético y humano de lo que muchos piensan
  34. 34. La ingeniería de software es una idea casi ética ( no solo ética ) de como hacer el software de forma correcta (software de calidad) Aquí va una propuesta de una definición menos formal
  35. 35. Quizá no tiene tantos años como la física, matemáticas o arquitectura…
  36. 36. Pero créanos, tampoco se la inventaron ayer, ni está en pañales…
  37. 37. Pero puede que “muchos de nosotros” si…
  38. 38. <ul><li>Veamos cuánto dudan de nosotros… </li></ul><ul><li>¿Qué pasaría si los programadores construyeran aviones? </li></ul><ul><li>http://www.youtube.com/watch?v=UZq4sZz56qM </li></ul>
  39. 39. Se han preguntado alguna vez ¿Dónde hay software? Ahora, pongamos en una perspectiva más real el símil de construir el avión en vuelo…
  40. 47. ¿Se imaginan de verdad construyendo este tipo de sistemas “en el aire” ?
  41. 48. <ul><li>Lamento mucho tener que decir qué es básicamente lo que está sucediendo… </li></ul>
  42. 49. En la mayoría de proyectos de desarrollo, los costes de mantenimiento, superan por un amplio margen los costos de desarrollo, se habla de un 30% en Desarrollo y un 70% en Mantenimiento.
  43. 50. No debería ser así ¿verdad? Todos sabemos que cometer errores en la construcción de software puede tener serias consecuencias…
  44. 51. ¿Qué consecuencias? ¿Acaso en software no importa es básicamente que funcione ? Veamos algunas respuestas a esa pregunta… (Ojo, las siguientes imagenes son meramente ilustrativa, no todas pertenecen al hecho descrito)
  45. 52. Therac-25 (1985 – 1987) Era una máquina empleada en terapia de radiación, producida por Atomic Energy of Canada Limited , notoria por haber sido objeto del error de software, causando al menos seis accidentes y que le costó la vida al menos a cinco personas
  46. 53. Mariner 1 (28 de Julio de 1962) Un guión en las instrucciones del programa de guiado del cohete provocó la desviación del Atlas y tuvo que enviarse un comando para su autodestrucción a los 4 minutos y 53 segundos de su lanzamiento
  47. 54. Vuelo 501 del ARIANE-5 (4 de Junio de 1996) Otro ejemplo documentado sobre el daño ocasionado por software mal diseñado es el de la explosión de la lanzadera Ariane-5, cuando a 40 segundos después de la iniciación de la secuencia de vuelo, la lanzadera se desvió de su ruta, se partió y explotó. En el proyecto global se invirtieron 10 años de construcción y 7 mil millones de euros, lo que supuso un duro golpe para la Agencia Espacial Europea (ESA) http :// www.youtube.com / watch?v=IONcgYzVFlg
  48. 55. A-320 de Air France ( 26 de junio de 1988) Durante una presentación en el meeting de Habsheim, cerca de Mulhouse (Francia), un A-320 de Air France se estrella en el bosque, al final de la pista. Habrá tres muertos y una centena de heridos. Justo después, el mundo se pregunta las causas del accidente del avión anunciado como &quot;el más seguro del mundo&quot;. Una de las causas se le atribuye a un error en el software de navegación http :// www.youtube.com / watch?v=_EM0hDchVlY
  49. 56. ¡Si, ya sé! Usted no hace software para aviones o para la NASA Lo que lo estoy invitando a cuestionarse es…
  50. 57. Antes de poner sus aplicaciones de software en producción, se pregunta… ¿el trabajo de cuantas personas puede afectar que algo salga mal? Entiendes que, ¿Qué algo salga mal puede significar hasta el simple hecho de que usar tu software puede ser desde confuso hasta una tortura?
  51. 58. Es común ver software hechos para quienes lo desarrollaron y no para quienes lo van a usar
  52. 59. Pues bien, aunque actualmente existen muchas personas que construyen software con conocimiento empírico , tal como si fuera arte , lo que debe diferenciar un trabajo bien hecho ( profesional o empírico ), es los métodos y la evidente forma de hacer el trabajo teniendo en mente la calidad de los procesos ejecutados y de los productos desarrollados .
  53. 60. Hacer las cosas bien, siempre va a requerir un poco más de esfuerzo, que hacerlas de cualquier otro modo
  54. 61. Practicas y Principios Pressman Actividades Personas Herramientas Roles Artefactos Notación Proceso de Software
  55. 62. Existe una gran la variedad de propuestas de Proceso de Software , sin embargo el conjunto de actividades fundamentales definidas en el Ciclo de Vida Clásico se encuentran presentes en todos ellos. Análisis Diseño Construcción Pruebas Operación y Mantenimiento
  56. 63. Es así como encontramos las Métodologías Estructuradas
  57. 64. Y también las Métodologías Ágiles
  58. 65. No existe un proceso de desarrollo de software universal que sea efectivo para todos los contextos de proyectos de desarrollo, de allí que sea necesario elegir responsablemente cual de ellos es más conveniente, teniendo en cuenta algunos criterios…
  59. 66. Complejidad
  60. 67. Costo/Beneficio Económico
  61. 68. Robustez del software
  62. 69. Conocimiento disponible
  63. 70. Los principios y practicas que pueden seguirse en la Ingeniería de Software, buscan garantizar un mejor resultado y uso de los recursos Pero, por alguna razón el comportamiento de los proyectos no es “aún” el esperado…
  64. 72. ¿Quién dice que siempre sale mal? A pues no, no siempre sale mal… Solo algunas veces
  65. 73. (Estudio de Resultado de Ejecución de los Proyectos de Software) Fuente: http :// vidanp.wordpress.com /2010/02/01/ estandares -de-medida/ CHAOS Report
  66. 74. Seguimos cayendo en los mismos errores una y otra vez…
  67. 75. ¿Qué errores se comenten?
  68. 76. Falta de comunicación
  69. 77. Ausencia de objetivos y metas claras durante la ejecución del proyecto
  70. 78. Falta de planificación
  71. 79. Requisitos poco claros y falta de acceso a la información
  72. 80. Falta de análisis y entendimiento de las necesidades del cliente
  73. 81. Mala estimación de tiempos
  74. 82. Indefinición del alcance y las responsabilidades de las partes
  75. 83. Falta de identificación y gestión de los riesgos
  76. 84. Carencia de habilidades en la ejecución de un rol
  77. 85. Falta de seguimiento al avance del proyecto
  78. 86. Falta de control del presupuesto
  79. 87. Recursos Insuficientes
  80. 88. Tratar de construir sin tener una arquitectura definida
  81. 89. Falta de conocimiento e interés en la aplicación de mejores prácticas
  82. 90. <ul><li>Ahora bien, </li></ul><ul><li>¿Alguien se cuestiona realmente por lo que está sucediendo? </li></ul><ul><li>¿Quiénes son los actores responsables de estos efectos? </li></ul>
  83. 91. Hoy en día pocos comprenden, que la responsabilidad de lograr productos de software tiene que ver con todos los que participan en cualquier rol de proceso de Ingeniería de Software Mencionemos algunos
  84. 92. Gerente de Proyectos
  85. 93. Analista Funcional
  86. 94. Arquitecto de Software
  87. 95. Analista Diseñador
  88. 96. Analista Programador
  89. 97. Analista de Pruebas
  90. 98. ¿Son esos “ Todos” ?
  91. 99. En la academia Gobierno, instituciones, docentes y estudiantes
  92. 100. En la empresa Directivos, clientes, usuarios, analistas de negocio, profesionales de sistemas
  93. 101. ¿Tu?
  94. 102. ¿Preguntas? @avanet @soreygarcia
  95. 103. ¡Gracias!

×