Skip to content

Instantly share code, notes, and snippets.

@lontivero
Last active April 18, 2019 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lontivero/9985bee7dca8c31ee25156a72f6e9871 to your computer and use it in GitHub Desktop.
Save lontivero/9985bee7dca8c31ee25156a72f6e9871 to your computer and use it in GitHub Desktop.
Acciones de mejora

Acciones de mejora

  • Metodología de desarrollo,
  • Prácticas de ingeniería.

Comenzamos con las prácticas de ingeniería para luego avanzar en lo metodológico ya que las primeras puede implementarse en un plazo más corto y tienen por objetivo mejorar la calidad de los entregables. Comenzamos con la implementación de quality gates poco intrusivos (revisión de código, análisis estático de código y testing funcional)

Metodología de desarrollo

  • Daily meetings.
  • Versionado (
    • Llevar a trabajo por versiones.
      • Versiones de base de datos.
      • Changelog script.
      • Tagging.
  • [Siguiente paso] Iteraciones.
  • [Siguiente paso] planning.
  • [Siguiente paso] proceso.
    • Proceso de mejora continua - Retrospectivas.
  • [Siguiente paso] Estimaciones vs compromiso. (depende de la versión)
  • [Siguiente paso] Unificación de herramientas. (TFS / Jira)

Prácticas de ingeniería

Quality Gates

capturar mejor las necesidades del cliente, quién lo necesita, qué nos piden, por qué nos lo piden (valor para el client)

  • Aprobación historias de usuario luego de etapa de entendimiento.
    • Redacción con formato estandar.
    • Criterio de aceptación.
    • Criterio de finalización.
    • [En progreso] Negociar cierres.
    • [En progreso] Unificación de herramienta de seguimiento.
    • [Siguiente paso] Planificación/Estimación.
  • Revisión de código por pares.
  • Análisis estático de código.
    • Selección de reglas. (Por el momento utilizamos Basic Correctness Design Rules & Globalization)
    • Política de comienzo. (Para comenzar con esto y evitar que el código se degrade hemos deshabilitado todos los warning actuales, de este modo nos aseguramos de no introducir nuevas violaciones)
    • Correr durante la compilación.
    • [Siguiente paso] Revisión de finding.
      • Excepciones (relanzamientos, código de errores, pasaje y retorno de nulos)
      • NRE por lo anterior, FirstOrDefault
    • [Feedback] Tarda mucho. (revisar) Lo deshabilitamos en local
    • [Ongoing] Agregar a la integración continua. Ver qué se ha hecho
  • Testing.
    • Testing funcional.
      • Functional Walkthrough.
      • [Siguiente paso] Definición de rol.
    • Unit tests.
      • Agregar al criterio de finalización.
      • Habilitar en el servidor de integración continua.
      • Deshabilitar los tests actuales.
      • Crear unit tests. Primero revisar lo que tienen y cómo realizan los pruebas actuales.
    • Testing automático existente.
    • Testing automático. (funcional - Robot framework)???

Automatización

  • Scripts de base de datos despluiegue automáticos.
  • Automatización de release notes.
    • Script construido.
    • Definición de esquema de trabajo.
    • [Siguiente paso] Integración continua.
    • [Siguiente paso] Integrar al proceso.
  • Automatización de subida de reportes durante los despliegues.
  • Correr tests automáticos como parte de integración continua.
    • Pedir los tests, escoger cuales correr e integrar.

Etapas de madurez

[Definir etapas y objetivos]

Próximos pasos de automatización

Revisar general de código

Capacitar en

  • Manejo de Excepciones y,
  • Uso de nulos

Base de datos locales

  • Crear DB
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment