SlideShare une entreprise Scribd logo
1  sur  103
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  humanamente responsable  nos resulta un reto Intentar hacer las dos primeras sin la última es claramente un  despropósito
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 )
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 de computadora, y la documentación asociada requerida para construirlos, operarlos y mantenerlos.  Bohem - 1976.
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.
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
¿Está claro? Si, … o quizá… Sin embargo todo eso parece un concepto  muy elevado  para algo  tan simple  como “ hacer sofware”
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 …
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 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!
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 hacer  “lo mismo”  que nosotros, y se aventuren en masa a la tarea de “ construir software”
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  “lograr que funcione”
¡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…
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?
¡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
¿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 no, un profesional informático La razón es evidente y simple…
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 Word, manejar Excel o vacunar el computador cuando la familia lo llena de virus
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.
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
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,  que a la gente y que son como robots, por pasar todo el día frente a la computadora
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 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…
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  (software de calidad)   Aquí va una propuesta de una definición menos formal
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…
[object Object],[object Object],[object Object]
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…
 
 
 
 
 
 
 
¿Se imaginan de verdad construyendo este tipo de sistemas  “en el aire” ?
[object Object]
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.
No debería ser así ¿verdad? Todos sabemos que cometer errores en la construcción de software puede tener serias consecuencias…
¿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)
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
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
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
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 "el más seguro del mundo". Una de las causas se le atribuye a un error en el software de navegación http :// www.youtube.com / watch?v=_EM0hDchVlY
¡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 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?
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 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 .
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  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
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 desarrollo, de allí que sea necesario elegir  responsablemente  cual de ellos es más conveniente, teniendo en cuenta algunos criterios…
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 de los recursos Pero, por alguna razón el comportamiento de los proyectos no es “aún” el esperado…
 
¿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/ estandares -de-medida/ CHAOS Report
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
[object Object],[object Object],[object Object]
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
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!

Contenu connexe

Tendances

Manual tecnico y manual de usuario
Manual tecnico y manual de usuarioManual tecnico y manual de usuario
Manual tecnico y manual de usuarioD MT
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareJennifer Andrea Cano Guevara
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupXochitl Saucedo Muñoz
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Ciclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónCiclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónSandra Moncayo
 
Modelo de desarrollo del software angel rojas
Modelo de desarrollo del software angel rojasModelo de desarrollo del software angel rojas
Modelo de desarrollo del software angel rojasAngel Rojas
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónAngel Aguilar
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaJulio Pari
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y SolucionesVideoconferencias UTPL
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegueElvisAR
 

Tendances (20)

Manual tecnico y manual de usuario
Manual tecnico y manual de usuarioManual tecnico y manual de usuario
Manual tecnico y manual de usuario
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Introduccion al análisis de sistemas de información
Introduccion al análisis de sistemas de informaciónIntroduccion al análisis de sistemas de información
Introduccion al análisis de sistemas de información
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Ciclo de vida de un sistema de información
Ciclo de vida de un sistema de informaciónCiclo de vida de un sistema de información
Ciclo de vida de un sistema de información
 
Modelo de desarrollo del software angel rojas
Modelo de desarrollo del software angel rojasModelo de desarrollo del software angel rojas
Modelo de desarrollo del software angel rojas
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organización
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y Soluciones
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 

En vedette

Estrategias de prueba del software
Estrategias de prueba del softwareEstrategias de prueba del software
Estrategias de prueba del softwareChava Romero Aguilar
 
Enfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de softwareEnfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de softwareJorge Bustillos
 
Estrategias de Pruebas de Software
Estrategias de Pruebas de SoftwareEstrategias de Pruebas de Software
Estrategias de Pruebas de SoftwareLucia Gasperin
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de softwareCentro Líbano
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Softwarearacelij
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
Aguirre Jimenez
Aguirre JimenezAguirre Jimenez
Aguirre JimenezFARIDROJAS
 
Posición crítica
Posición críticaPosición crítica
Posición críticaandreac1234
 
Evolucion de la Ingenieria de Software
Evolucion de la Ingenieria de SoftwareEvolucion de la Ingenieria de Software
Evolucion de la Ingenieria de SoftwareMarvin Romero
 
Estrategias de prueba de software
Estrategias de prueba de softwareEstrategias de prueba de software
Estrategias de prueba de softwarejtapiac
 
Presentacion Pruebas
Presentacion PruebasPresentacion Pruebas
Presentacion Pruebasdajigar
 
Taller casos de prueba
Taller casos de pruebaTaller casos de prueba
Taller casos de pruebaAndrés Grosso
 
Fundamentos de Pruebas de Software
Fundamentos de Pruebas de SoftwareFundamentos de Pruebas de Software
Fundamentos de Pruebas de SoftwareProfessional Testing
 
Encuesta sobre responsabilidad social corporativ ax
Encuesta sobre responsabilidad social corporativ axEncuesta sobre responsabilidad social corporativ ax
Encuesta sobre responsabilidad social corporativ axFernando
 
Valores Empresariales. Valor respeto
Valores Empresariales. Valor respetoValores Empresariales. Valor respeto
Valores Empresariales. Valor respetoJavier Genero
 

En vedette (20)

Pruebas de Software
Pruebas de SoftwarePruebas de Software
Pruebas de Software
 
Estrategias de prueba del software
Estrategias de prueba del softwareEstrategias de prueba del software
Estrategias de prueba del software
 
Enfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de softwareEnfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de software
 
Calidad del software cap3
Calidad del software   cap3Calidad del software   cap3
Calidad del software cap3
 
Estrategias de Pruebas de Software
Estrategias de Pruebas de SoftwareEstrategias de Pruebas de Software
Estrategias de Pruebas de Software
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Tesis python ing. civil
Tesis python ing. civilTesis python ing. civil
Tesis python ing. civil
 
Aguirre Jimenez
Aguirre JimenezAguirre Jimenez
Aguirre Jimenez
 
Posición crítica
Posición críticaPosición crítica
Posición crítica
 
Evolucion de la Ingenieria de Software
Evolucion de la Ingenieria de SoftwareEvolucion de la Ingenieria de Software
Evolucion de la Ingenieria de Software
 
Estrategias de prueba de software
Estrategias de prueba de softwareEstrategias de prueba de software
Estrategias de prueba de software
 
Presentacion Pruebas
Presentacion PruebasPresentacion Pruebas
Presentacion Pruebas
 
Taller casos de prueba
Taller casos de pruebaTaller casos de prueba
Taller casos de prueba
 
Fundamentos de Pruebas de Software
Fundamentos de Pruebas de SoftwareFundamentos de Pruebas de Software
Fundamentos de Pruebas de Software
 
Charlas sobre el respeto
Charlas sobre el respetoCharlas sobre el respeto
Charlas sobre el respeto
 
Encuesta sobre responsabilidad social corporativ ax
Encuesta sobre responsabilidad social corporativ axEncuesta sobre responsabilidad social corporativ ax
Encuesta sobre responsabilidad social corporativ ax
 
Valores Empresariales. Valor respeto
Valores Empresariales. Valor respetoValores Empresariales. Valor respeto
Valores Empresariales. Valor respeto
 

Similaire à IngSoftwareÉtica

Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para DummiesSorey García
 
Taller ingenieria de software
Taller ingenieria de softwareTaller ingenieria de software
Taller ingenieria de softwareAvanet
 
Desconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería de SoftwareDesconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería de SoftwareSorey García
 
Estrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareEstrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareAvanet
 
que es programar
 que es programar que es programar
que es programarcarlossapuy
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoIng-D-SW-TorresKhano--ME
 
Ingenieria inversa del software (i)
Ingenieria inversa del software (i)Ingenieria inversa del software (i)
Ingenieria inversa del software (i)UnPocoDeTodoPeru
 
Cómo empezar en el desarrollo de videojuegos
Cómo empezar en el desarrollo de videojuegosCómo empezar en el desarrollo de videojuegos
Cómo empezar en el desarrollo de videojuegosRoberto Albornoz
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluaciónMartacinco
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosMelissa Burgos
 
Sistemas operativos 3ro.
Sistemas operativos 3ro.Sistemas operativos 3ro.
Sistemas operativos 3ro.Patricia Ferrer
 

Similaire à IngSoftwareÉtica (20)

Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para Dummies
 
Taller ingenieria de software
Taller ingenieria de softwareTaller ingenieria de software
Taller ingenieria de software
 
Intruducción de la Ingeniería de Software
Intruducción de la Ingeniería de SoftwareIntruducción de la Ingeniería de Software
Intruducción de la Ingeniería de Software
 
Desconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería de SoftwareDesconferencia Barcamp Cali 2009 - Ingeniería de Software
Desconferencia Barcamp Cali 2009 - Ingeniería de Software
 
Estrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareEstrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de Software
 
que es programar
 que es programar que es programar
que es programar
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un Ensayo
 
Ingenieria inversa del software (i)
Ingenieria inversa del software (i)Ingenieria inversa del software (i)
Ingenieria inversa del software (i)
 
V2n2a1 (1)
V2n2a1 (1)V2n2a1 (1)
V2n2a1 (1)
 
Bolanos marco tarea1
Bolanos marco tarea1Bolanos marco tarea1
Bolanos marco tarea1
 
Cómo empezar en el desarrollo de videojuegos
Cómo empezar en el desarrollo de videojuegosCómo empezar en el desarrollo de videojuegos
Cómo empezar en el desarrollo de videojuegos
 
Fundamentos de programacion I
Fundamentos de programacion IFundamentos de programacion I
Fundamentos de programacion I
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluación
 
El software
El softwareEl software
El software
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgos
 
Guia1omar
Guia1omarGuia1omar
Guia1omar
 
Taller 1
Taller 1Taller 1
Taller 1
 
Taller 1 Introduccion a la programacion
Taller 1 Introduccion a la programacion Taller 1 Introduccion a la programacion
Taller 1 Introduccion a la programacion
 
Sistemas operativos 3ro.
Sistemas operativos 3ro.Sistemas operativos 3ro.
Sistemas operativos 3ro.
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 

Plus de Avanet

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresarialesAvanet
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netAvanet
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerAvanet
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponentsAvanet
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Avanet
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Avanet
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxAvanet
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureAvanet
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAASAvanet
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicosAvanet
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureAvanet
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Avanet
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoAvanet
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con DjangoAvanet
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptAvanet
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIAvanet
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosAvanet
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSAvanet
 
Responsive Design
Responsive DesignResponsive Design
Responsive DesignAvanet
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde ceroAvanet
 

Plus de Avanet (20)

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresariales
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponents
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/Linux
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en Azure
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAAS
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicos
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con Azure
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu teclado
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con Django
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScript
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UI
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatos
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSS
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde cero
 

Dernier

VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 

Dernier (20)

DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 

IngSoftwareÉtica

  • 1. Entendiendo la Responsabilidad Social de la Ingeniería de Software @Avanet - @SoreyGarcia
  • 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. 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. Empecemos por entender lo básico ¿Qué es Ingeniería de Software?
  • 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. 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. 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. ¿Está claro? Si, … o quizá… Sin embargo todo eso parece un concepto muy elevado para algo tan simple como “ hacer sofware”
  • 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. 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. Y saber de eso que pocos sabían hacía que fueras alguien “ interesante ” …
  • 12. En la práctica… Las cosas resultaron ser un poco distintas para la mayoría de nosotros…
  • 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. Y ni hablemos sobre el concepto de “ interesante ” en el que nos tiene la mayoría…
  • 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. Un momento, nadie dijo que lo hicieran bien (no todos) , solo que también podían hacerlo…
  • 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. ¡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. 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. ¡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. ¿Viajaría usted en un avión cuyo software ha sido construido por usted?
  • 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. Hay personas, si subirán a ese mismo avión, es decir que usarán su software
  • 24. Veamos otras preguntas… ¿Dudan los enfermos del corazón de sus médicos cirujanos?
  • 25. ¿Dudan los empresarios de los ingenieros civiles y arquitectos que construyen sus edificios?
  • 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. 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. 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. Por otro lado… ¿Qué tan seguros estamos de que los profesionales de ingeniería valoran y entienden su papel?
  • 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. Bueno, en realidad no importa mucho si lo que piensan es correcto o no… Pero hay un problema
  • 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. La Ingeniería de Software tiene un poco más que ver con un tema ético y humano de lo que muchos piensan
  • 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. Quizá no tiene tantos años como la física, matemáticas o arquitectura…
  • 36. Pero créanos, tampoco se la inventaron ayer, ni está en pañales…
  • 37. Pero puede que “muchos de nosotros” si…
  • 38.
  • 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.  
  • 41.  
  • 42.  
  • 43.  
  • 44.  
  • 45.  
  • 46.  
  • 47. ¿Se imaginan de verdad construyendo este tipo de sistemas “en el aire” ?
  • 48.
  • 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.
  • 50. No debería ser así ¿verdad? Todos sabemos que cometer errores en la construcción de software puede tener serias consecuencias…
  • 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)
  • 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
  • 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
  • 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
  • 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 "el más seguro del mundo". Una de las causas se le atribuye a un error en el software de navegación http :// www.youtube.com / watch?v=_EM0hDchVlY
  • 56. ¡Si, ya sé! Usted no hace software para aviones o para la NASA Lo que lo estoy invitando a cuestionarse es…
  • 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?
  • 58. Es común ver software hechos para quienes lo desarrollaron y no para quienes lo van a usar
  • 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 .
  • 60. Hacer las cosas bien, siempre va a requerir un poco más de esfuerzo, que hacerlas de cualquier otro modo
  • 61. Practicas y Principios Pressman Actividades Personas Herramientas Roles Artefactos Notación Proceso de Software
  • 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
  • 63. Es así como encontramos las Métodologías Estructuradas
  • 64. Y también las Métodologías Ágiles
  • 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…
  • 67. Costo/Beneficio Económico
  • 68. Robustez del software
  • 69. Conocimiento disponible
  • 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…
  • 71.  
  • 72. ¿Quién dice que siempre sale mal? A pues no, no siempre sale mal… Solo algunas veces
  • 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
  • 74. Seguimos cayendo en los mismos errores una y otra vez…
  • 75. ¿Qué errores se comenten?
  • 76. Falta de comunicación
  • 77. Ausencia de objetivos y metas claras durante la ejecución del proyecto
  • 79. Requisitos poco claros y falta de acceso a la información
  • 80. Falta de análisis y entendimiento de las necesidades del cliente
  • 82. Indefinición del alcance y las responsabilidades de las partes
  • 83. Falta de identificación y gestión de los riesgos
  • 84. Carencia de habilidades en la ejecución de un rol
  • 85. Falta de seguimiento al avance del proyecto
  • 86. Falta de control del presupuesto
  • 88. Tratar de construir sin tener una arquitectura definida
  • 89. Falta de conocimiento e interés en la aplicación de mejores prácticas
  • 90.
  • 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
  • 92. Gerente de Proyectos
  • 94. Arquitecto de Software
  • 97. Analista de Pruebas
  • 98. ¿Son esos “ Todos” ?
  • 99. En la academia Gobierno, instituciones, docentes y estudiantes
  • 100. En la empresa Directivos, clientes, usuarios, analistas de negocio, profesionales de sistemas
  • 101. ¿Tu?