¿Cómo mantiene o crean Calidad en sus desarrollos?

sap-abap
Etiquetas: #<Tag:0x00007f4354ba3f58>

#1

Hola, trabajo en una empresa, donde ponen incapie en la calidad arriba de la eficiencia. Me parece correcto, mis desarrollos son de calidad, solo que el calculo de calidad lo tengo bajo por tener 3 incidencia en 180hs. Por le momento no he tenido reincidencia en esos errores, pero se me a pedido tener algo que me apoye para mejorar mi calidad. Tengo compañeros que antes de entregar, realizan un debug muy profundo, para estar seguro del desarrollo, yo lo realizo. Tengo otro compañero que tiene una lista de errores cometidos, para antes de entregar, realizar un chequeo de esos errores, no lo cometa de nuevo, yo eso no lo necesito, aprendo mucho de mis errores, me quedan marcado. Otro compañero termina y antes de probar, vuelve a leer el documento funcional para verificar que lo que desarrollo es lo que pide.

Ustedes como mantienen la calidad?


#2

Por lo general, las consultoras que desarrollan (o software factories) tienen un jefe de calidad que tiene documentación estricta, y con dicha documentación mide a sus desarrolladores; también es responsable de capacitar a sus coders para que sepan cómo programar y optimizar sus códigos (y tiempos), para evitar eso que mencionas vos.

Es decir, ¿por qué un abaper debe perder tiempo una vez que termino de programar en revisar de nuevo todo su código para medir la calidad?

Lo ideal, es que el abaper programe de cero pensando en calidad, y por supuesto habiendo entendido lo que el funcional le pidió, o bien, programando al lado del funcional (uno senior) para que se optimicen todos los tiempos de desarrollo (y pruebas).

A lo que voy, cada empresa tiene sus medidas de calidad.
Igual tu debate es muy bueno, lo seguiré a ver si alguien se anima a pasar dichos documentos :+1:


#3

Hola
Me imagino que por ahora tu estres es el cálculo de calidad, pero pasará el tiempo y lo superarás. Un tema de este foro fué el “Control de Calidad abap” en donde se explica que la herramienta de ayuda es el Code Inspector, no se si lo has utilizado para que te soporte en el desarrollo de código.
Por demás confía en tí; afortunadamente en la empresa, los Consultores funcionales son los que se encargan de realizar todo tipo de pruebas a los desarrollos y quienes avalan en primera instancia para luego pasarlo a los Líderes funcionales.
Saludos


#4

Si, cada empresa tiene sus medidas de calidad.

Exacto, el objetivo es que el abaper progame de cero pensando en calidad.

Hay distintas formas de llegar a eso. Estaria bueno seguir con el debate, que otros abapers nos cuenten su experiencia.


#5

Buenos días,

La empresa donde trabajo no es de desarrollo, pero nos cuidamos que los programas realizados por la empresa de software tengan los resultados de calidad esperados, haciendo los test de ejecución utilizando la transacción SE38 del code inspector, el Abap test Cockpit y la transacción SLIN. Cada una te mide los errores, advertencias y mensajes especialmente verificamos que si existe un error mandamos el informe para que el Abap verifique. el Abap test Cockpit de muestra las prioridades del 1 al 3 si te marca 1 es muy critica.

Mi consejo es realizar un formato para los test de ejecucón anexo a una especificación técnica.

Saludos


#6

No conocía la transacción SLIN, acabo de probarla es mas produnda que el CODE INSPECTOR me parece, pero menos amigable la interface.

Gracias!


#7

Alguien podría explicar como funciona el code inspector y como llegar a el?.


#8

Esto no responde a tu pregunta? Automatización de la revisión del código


#9

Desde mi punto de vista, la calidad se mantiene de manera general o preventiva teniendo unos buenos hábitos de programación y siguiendo las recomendaciones de SAP en cuanto a eficiencia o rendimiento (Tips&Tricks).
Son útiles las herramientas propias del entorno de programación de SAP como las que habéis nombrado (Code Inspector, SLIN, ST05, ABAPDOCU…).

En cualquier caso… la calidad se mantiene desde la definición misma (diseño conceptual y diseño funcional) asegurándonos que los requerimientos están bien definidos y son completos, es decir, que lo que vamos a entregar al cliente como solución técnica, es lo que nos ha solicitado realmente. Para ello es buena práctica estar en constante comunicación con el usuario clave o con los usuarios que van a usar las aplicaciones o el desarrollo concreto, ponerse en el lugar del que está solicitando para comprender exactamente lo que desea y/o adelantarnos a sus requerimientos si es preciso entregando un valor añadido en todo caso.


#10

Desde mi perspectiva, lo que te garantiza mayor calidad en el software entregado son las pruebas unitarias o unit tests. Para realizar pruebas unitarias, nos apoyamos en una técnica que se conoce como Test-Driven development. Esto parece un poco raro al principio, pero créeme cuando te digo que es la solución a la gran mayoría de los problemas a los que nos enfrentamos. El flujo de trabajo consiste en primero crear una prueba, luego ejecutar la prueba (que fallará porque aún no hemos escrito código), y finalmente hacer refactoring de nuestro código para que la prueba sea superada. Esto te permitirá que todas las líneas de código de tu programa hayan sido debidamente testeada, lo que te asegura que tu desarrollo no se comportará de manera extraña según qué input reciba.

Test-Driven development no es un invento de SAP, es una práctica de software bastante conocida en otros ambientes, que requiere ayuda de un framework para poder ejecutarse. SAP introdujo ABAP Unit hace varios años, aunque desafortunadamente no se ha vuelto demasiado popular. Mi consejo es que leas sobre el tema, y empieces a implementar esta técnica, que requiere algo de esfuerzo al prinicipio, pero te ayudará a ser mejor programador, y lo mejor de todo es que este conocimiento es extrapolable a otros lenguajes, en caso de que quieras aprender Java, Python o Javascript.


#11

Hola,

Desde mi punto de vista como programador no se si “calidad” es realmente la definición de entregar exactamente lo que nos pide el cliente. O sea, que no se malinterprete, la principal meta es que el programa que se nos solicita, cumpla con lo que nos pide el cliente, pero cuando se nos exige calidad en mi caso, tenemos en cuenta lo siguiente:

  • code inspector, como ya han nombrado
  • performance del programa (hacer correctamente los selects - for all entries, read table, etc)
  • no traernos campos innecesarios
  • que el programa sea “legible” dentro de todo, para que el dia de mañana cuando pidan cambios, lo pueda hacer otro programador sin problemas

Después las pruebas sobre la funcionalidad en sí, se las dejamos a los funcionales, mas alla de que lo probamos antes de pasarlo.

Saludos.


#12

Las contribuciones están muy buena, de hecho han hablado de transacciones que no conocía,
apoyando lo que otro compañero ya mencionó, la calidad de los desarrollo depende mucho
de las habilidades del programador , y de su know how sobre el objeto a cumplir con el desarrollo


#13

Sobre las transacciones ya comentadas es importante y bastante útil la transacción SAT,
Es la herramienta que más utilizo para evaluar el rendimiento de un programa. No solo mide el tiempo de sentencias SQL, si no que proporciona mediciones por bloques: métodos, funciones, etc. Además
da información del consumo de memoria del programa.


#14

Encontré código interesante, hay en github un repositorio de un add-on para el Code Inspector.
Denle una mirada en el repositorio de Consultoria-SAP