20
Y NO MORIR EN EL INTENTO Miguel Calvo

Convencer al jefe para aplicar "Calidad de Software"

Embed Size (px)

Citation preview

Page 1: Convencer al jefe para aplicar "Calidad de Software"

Y NO MORIR EN EL INTENTO

Miguel Calvo

Page 2: Convencer al jefe para aplicar "Calidad de Software"

1. Introducción2. ¿Por qué hacer las cosas con calidad?3. Conversaciones para convencer al jefe (o hacerque te despida)4. ¿Y si no lo consigo?

2

Page 3: Convencer al jefe para aplicar "Calidad de Software"

En este documento se explicarán las pautas de “por qué debemos aplicarcalidad de software” (algunas de ellas al menos) a nuestros desarrollos y…por qué no, algunas formas de convencer a nuestro jefe de que se lleven acabo.

Pero… antes de nada, ¿Sabemos qué es la calidad de software? Si no es así,se recomienda hacer algunas lecturas previas:

Wikipedia: https://es.wikipedia.org/wiki/Calidad_de_software Blog sobre calidad y agilidad: http://javiergarzas.com/ SlideShare sobre calidad y agilidad:

http://es.slideshare.net/233gradosdeTI

Una vez formados en la materia… ¡EMPECEMOS!

3

Page 4: Convencer al jefe para aplicar "Calidad de Software"

Legibilidad del código:

Cuando un proyecto pasa a otro desarrollador, elcódigo será más limpio y mejor estructurado.

Costará menos leerlo y comprenderlo.

Se ahorrará en tiempo… y el tiempo es dinero.4

Page 5: Convencer al jefe para aplicar "Calidad de Software"

Mantenibilidad de las aplicaciones:

Al igual que en la legibilidad, el código será más limpio yestructurado, lo cual facilita la evolución o mantenimiento de lasaplicaciones.

Costará menos leerlo y comprenderlo.

Se ahorrará en tiempo… y el tiempo sigue siendo dinero.

5

Page 6: Convencer al jefe para aplicar "Calidad de Software"

Pruebas:

Es más fácil probar del código (más modularizado, menosdependencias, sin código spaguetti…).

Es más fácil encontrar errores en un buen código que en unomalo.

De nuevo el tiempo.

6

Page 7: Convencer al jefe para aplicar "Calidad de Software"

Motivación de los desarrolladores:

A los desarrolladores nos motiva hacer las cosas bien (al menosa algunos).

Un desarrollador será más productivo si está motivado.

7

Page 8: Convencer al jefe para aplicar "Calidad de Software"

Seguridad de las aplicaciones:

La calidad en el código suele aumentar la seguridad de laaplicación.

Un error en una aplicación puede costar mucho dinero al cliente(¿Crees que después de eso volverían a contratarte?).

Ejemplos con aplicaciones desarrolladas para el estado:http://www.javiergarzas.com/2012/09/estado-controlar-calidad-del-software-subcontrata.html (Javier Garzás, 2012)

8

Page 9: Convencer al jefe para aplicar "Calidad de Software"

Diferenciarte de la competencia:

Las empresas de desarrollo software están, en su gran mayoría,estancadas.

Crean software de mala calidad dejando a los clientesdescontentos.

¿Volverías a contratar a alguien que no ha hecho bien su trabajoo que no cumple con tus expectativas?

9

Page 10: Convencer al jefe para aplicar "Calidad de Software"

Reutilización:

Un buen código nos permitirá reutilizar partes en un futuro.

Esto hará que ahorremos tiempo en programarlo.

… y en cómo hacerlo.

10

Page 11: Convencer al jefe para aplicar "Calidad de Software"

Eficiencia:

Un buen código será, con toda seguridad, más eficiente que un malcódigo.

Las aplicaciones irán más fluidas.

Se consumirán menos recursos hardware.

Podrá soportar a más clientes (o hacer menos inversión en hardware).11

Page 12: Convencer al jefe para aplicar "Calidad de Software"

Etcétera…

Podría seguir enumerando más motivos por los cuales se debenhacer desarrollos software con calidad.

Pero… creo que esos son los más importantes.

12

Page 13: Convencer al jefe para aplicar "Calidad de Software"

13

Page 14: Convencer al jefe para aplicar "Calidad de Software"

¡ATENCIÓN! Las frases escritas a continuación pueden causar despidos masivos. Se recomienda

aplicarlas con tacto.

14

Page 15: Convencer al jefe para aplicar "Calidad de Software"

CONVERSACIÓN 1:

- Jefe: ¿Qué %#*# pone aquí?- Empleado: Son las tareas de esta semana.- Jefe: No se entiende nada. Pareces un médico.- Empleado: eso es lo que nos pasa a nosotros cuándo cogemos las

aplicaciones de otros. ¿Por qué no empezamos a hacer software con máscalidad?

- Jefe: ¿Y cuánto cuesta eso?

15

Page 16: Convencer al jefe para aplicar "Calidad de Software"

CONVERSACIÓN 2:

- Empleado: ¿Sabes cuándo se te enrollan los cascos en el bolsillo yno puedes deshacer el nudo?

- Jefe: sí, es muy engorroso. Lo deshaces, lo vuelves a meter en elbolsillo y acto seguido está igual.

- Empleado: pues buscar un error en el código en nuestrasaplicaciones es igual. Deberíamos hacer software de más calidad.

- Jefe: ¿Y cuánto cuesta eso?

16

Page 17: Convencer al jefe para aplicar "Calidad de Software"

CONVERSACIÓN 3:

- Empleado: ¿Has visto el código de esta web?- Jefe: sí, bastante pésimo.- Empleado: … nosotros también tenemos cosas así en alguna de

nuestras aplicaciones. Deberíamos centrarnos más en la calidad.- Jefe: ¿Y cuánto cuesta eso?

17

Page 18: Convencer al jefe para aplicar "Calidad de Software"

CONVERSACIÓN 4:

- Jefe: ¿Has hecho las pruebas unitarias?- Empleado: Ya hice las de integración, está todo en la misma clase.- Jefe: ¿Veis eso normal?- Empleado: No, pero no da tiempo a más. ¿Por qué no nos dejas

invertir un poco de tiempo en hacer mejor código?- Jefe: ¿Y cuánto cuesta eso?

18

Page 19: Convencer al jefe para aplicar "Calidad de Software"

CONVERSACIÓN 5:

- Jefe: La aplicación que nos han pedido se parece mucho a la quehicimos el mes pasado, seguro que hay algo que se puedeaprovechar.

- Empleado: esa aplicación está hecha una %#*%€#, no se puedeaprovechar nada, si hiciéramos código con más calidad...

- Jefe: ¿Y eso cuánto cuesta?

19

Page 20: Convencer al jefe para aplicar "Calidad de Software"

Huye¿Quieres estar todatu vida dedicándotea hacer mal código?

¿Tantos añosformándote paraterminar así?

20