Vous êtes sur la page 1sur 7

22/01/2009

Cuestión de confianza…

¿Confías en la tecnología actual?

¿Cómo aplicar procesos de calidad


al desarrollo de software?

Stratosphere en Las Vegas

Impresionante ¿Subirías a esta atracción?

Si el software que la controla


lo hubiese desarrollado…

Tu mismo ¿¿??
Tu compañero ¿¿??
Yo ¿¿??
Y si lo hubiese
desarrollado
Microsoft…

1
22/01/2009

Reflexión… Cohete Mariner 1 (1962)

Coste: 20 millones de dólares.

Desastre: El cohete Mariner 1


destinado a Venus, se desvió de
su trayectoria poco después de
su lanzamiento. El control de la
¿Está madura la industria del misión destruyó el cohete
software? pasados 293 segundos desde el
despegue.
Causa: El software de control del rumbo no calculaba bien
la media lo que hizo que una pequeña desviación fuera
considerada un gran problema. La aventura terminó con la
orden desde el centro de control de destruir el cohete
como media de seguridad.

Fallos relevantes en la historia del software… Pero hay muchos mas…

Desintegración del Ariane 5 (1996): El código del


Ariane 4 es usado en el Ariane 5 pero sus
Efecto 2000, fallo en los tipos de datos float del
motores más veloces inician una cadena de bugs
pentium, gusano de Morris, numeros aleatorios en
que hacen que el cohete se desintegre a los 40
Kerberos, …
segundos de ser lanzado.
http://10typesofpeople.wordpress.com/2007/10/31/cuando-los-bugs-terminan-en-explosiones/
Sobredosis radiológica en el Instituto Nacional http://www.variablenotfound.com/2008/11/20-desastres-famosos-relacionados-con.html
del Cáncer de Panama City (2000): Una falla de
software y no seguir procedimientos por parte de
humanos causa que se proporcionen dosis Los 107 fallos mas relevantes de la historia del
erróneas a pacientes en el Instituto Nacional del software:
Cáncer de Panama City. 8 personas murieron, 20 http://forums.programming-designs.com/viewtopic.php?pid=3354
con problemas de salud graves y varios doctores
fueron acusados de asesinato.

Menos mal que esto ya no pasa… El desarrollo de software hoy en día (Datos del ESI)

Problemas con las máquinas de voto en EEUU

Fuente:
http://www.elmundo.es/navegante/2006/11/08/tecnologia/1162977722.html
http://www.juventudrebelde.cu/informatica/2008-10-30/sufragio-en-eeuu-fraude-en-las-teclas/
http://www.vsantivirus.com/mm-fallos-voto.htm
http://www.elpais.com/articulo/portada/Crece/EE/UU/Europa/preocupacion/inseguridad/voto/electronico/elpeputeccib/2
0061123elpcibpor_1/Tes

2
22/01/2009

El problema del software … ¿Que es la calidad?

Algo está cambiando en el desarrollo de software


http://geeks.ms/blogs/msierra/archive/2008/08/20/161-algo-est-225-cambiando-en-el-desarrollo-de-software.aspx

¿Por qué debemos cambiar nuestra forma de


desarrollar software, si estamos haciendo el
mismo tipo de programación ahora que hace
10 años?

Procesos para aplicar la calidad Calidad en Análisis, el Diseño y en la Arquitectura (I)

ANÁLISIS, DISEÑO Y ARQUITECTURA Requisitos

SOA
GESTIÓN
Web Services
CODIFICACIÓN WCF

PRUEBAS Software Factories


Modelos en N capas
IMPLANTACIÓN
Arquitectura modular
MANTENIMIENTO

Calidad en Análisis, el Diseño y en la Arquitectura (cita) Calidad en la gestión y el seguimiento (I)

Adoptar un sistemas de trabajo (Scrum, CMMi, …)


Las máquinas deben funcionar y las personas,
pensar. Planificación

El ordenador hace exactamente lo que le pides Seguimiento de tareas, tiempos y prioridades


que haga, no lo que quieres que haga… Métricas
…Aprende a pedir lo que quieres." Visión del software
Estimación
IBM Gestión de cambios

3
22/01/2009

Calidad en la gestión y el seguimiento (II) Calidad en la gestión y el seguimiento (cita)

Un proyecto mal planeado se lleva tres veces el


Herramienta de gestión de proyectos tiempo estimado para terminarse…,

Implicación del cliente (o al menos intentarlo) …uno bien planeado tomará solamente el doble.

Prototipos en iteraciones, revisión de documentos, contacto


continuo…
Uno de los factores principales de éxito en proyectos de
software es la implicación del cliente (Arthur Bloch) La ley de Murphy

Calidad en la codificación (I) – El código fuente Calidad en la codificación (II)

Es responsabilidad de los desarrolladores El código no es mantenible


La calidad del código se mide por su capacidad para: Efecto “código espagueti”

Ser mantenido Genera miedo en los desarrolladores

Ser reusado Efecto “Si funciona, no lo toques”

Ser seguro El código no es confiable


Ofrecer buen rendimiento Nadie sabe muy bien cómo y porqué funciona
Escribir código es fácil No se conoce el impacto de los cambios

Escribir buen código NO es fácil, pero es alcanzable Aparición de nuevos bugs o re-apertura de bugs cerrados

No debemos guiarnos por la funcionalidad El código no nos ofrece el rendimiento deseado

La calidad no se basa en ceñirse a los requisitos

Calidad en la codificación (III) – Algunos conceptos Calidad en la codificación (cita)

Repositorio de código fuente


"Cualquiera es capaz de escribir código que un
Unit Testing y cobertura de código ordenador entiende…,
…pero los buenos programadores escriben código
Refactoring
que las personas pueden entender."
Profiling
Test Driven Development TDD
Guía de estilos (Microsoft StyleCop) Martin Fowler

Integración continua

4
22/01/2009

Calidad en las pruebas (I) Calidad en las pruebas (II)

¿Cuándo empezamos a probar?


No todos los errores son
iguales
No todos merecen atención
No todos merecen ser
corregidos
¡Algunos son críticos!
La clave es el triaje

Calidad en las pruebas (cita) Calidad en la implantación (I)

Los errores en el software son imposibles de


detectar por cualquiera…, Plan de pruebas e implantación

…excepto por lo usuarios!!! Diferentes entornos


Desarrollo
Pruebas
Pre-producción
Usuario cabreado Producción
(Nada es tan fácil como parece serlo) Estudio previo del entorno

Calidad en la implantación (cita) Calidad en el Mantenimiento (I)

"La velocidad de los ordenadores se duplica


cada 6 meses… Bug Tracker

…Justo entonces aparece una nueva Contacto con el cliente


versión de Windows que los devuelve a la Manual de usuario
velocidad original”
Backup programado

Linusero

5
22/01/2009

Calidad en el Mantenimiento (cita) Para terminar… ¡unas citas!

"La informática es la ciencia de como crear "¿Lo quiere rápido, barato, o bien hecho? Puede elegir
programas, no como crear ordenadores, y como dos de las tres cosas.“
los programas sirven para resolver los problemas "Lo importante no es saber, sino tener el teléfono de
de la gente, un informático debe principalmente quien lo sabe.“
entender a la gente"
Hacer un programa a partir de unas especificaciones y
Edsger Wybe Dijkstra caminar sobre las aguas es simplísimo, siempre y
cuando ambas estén congeladas.
"Keyboard is not available - Press F1 to continue... “

Conclusiones ¿La calidad?

Es relativa

No se puede medir

Reflexión y debate Relacionada con la mejora continua


Relacionada con los bugs detectados en
producción

Información de contacto Quien es CIC

CIC Consulting Informático Más de 150 profesionales y

Empresa de ingeniería y de 200 clientes


desarrollo de proyectos Oficinas en Santander / Madrid
de informática y comunicaciones,
vanguardista en tecnologías,
Blog: http://geeks.ms/blogs/msierra con una sólida trayectoria
que se remonta a 1990
Mail: msierra@cic-sl.es
Trabajo: CIC Consulting Informático

MISIÓN
Cubrir las expectativas del cliente
implicándonos en sus necesidades,
comprometiéndonos al éxito de los proyectos,
con la satisfacción de verlos en funcionamiento
y de conseguir ayudarles a incrementar día a día su negocio.

6
22/01/2009

MUCHAS GRACIAS POR SU ATENCIÓN

Madrid — Paseo de la Castellana nº123 — esc Izq. 1ºA — 28046 Madrid (España) — Tlfn.:91 417 44 63
Santander — Polígono de Camargo C-16 — 39600 Maliaño Cantabria (España) — Tlfno: 902 269 017
Web: www.cic-sl.es — Email: buzon@cic-sl.es — Tlf.: 902 269 017

Vous aimerez peut-être aussi