Convencer al jefe para aplicar "Calidad de Software"

Preview:

Citation preview

Y NO MORIR EN EL INTENTO

Miguel Calvo

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

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

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

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

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

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

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

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

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

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

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

13

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

aplicarlas con tacto.

14

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

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

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

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

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

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

¿Tantos añosformándote paraterminar así?

20