Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save clubdesarrolladores/0daa91ac6817a5cf843e8a0767d40f96 to your computer and use it in GitHub Desktop.
Save clubdesarrolladores/0daa91ac6817a5cf843e8a0767d40f96 to your computer and use it in GitHub Desktop.
Esto es para gestión, para que lo analicen.
TSF - SharePoint - Herramienta de Gestión
//--------------------------------------
Para mejorar tiempos de programación (y en general del proceso de desarrollo general):
- Al iniciar proyectos nuevos, realizar un analisis de requerimientos, basados en el documento de análisis y los bocetos de diseño. El documento de análisis deberá cubrir todos los requerimientos del sprint actual y minimizar las ambiguedades de modo de no comenzar a programar antes de tiempo, lo cual todos sabemos produce deterioro en el sistema en etapas tempranas.
- El documento de requerimientos deberá estar actualizado, cualquier cambio en el modelo deberá estar expresado en el código y viceversa. A esto idealmente lo deberá hacer el equipo de producción del proyecto.
- El programador deberá exigir al analista y al pm que los requerimientos sean claros antes de aplicarlos en código, para asi no tener que realizar cambios innecesarios a futuro.
Para mejorar los tiempos de revisiones (hacer que tiendan a cero):
- En cada cambio solicitado por el pm se deberá realizar primeramente un análisis de impacto para determinar la complejidad de aplicarlo y estimar el tiempo necesario para realizarlo. Esto significa agregar los cambios de forma tal que no impacte más de lo que debe impactar sobre el desarrollo actual.
- Estos cambios normalmente modificarán el modelo, por lo que deberá replicarse en los documentos de análisis.
- Aplicar testeo (se explica debajo).
En general para asegurar cierto nivel de calidad (para requerimientos funcionales y no funcionales):
- Agregar testing unitario, funcional y de integración (trabajo de desarrollo) a fin de asegurar entregas que coincidan con los requerimientos solicitados por el cliente realizando correctamente lo que deben hacer. Para esto en el documento de análisis, el equipo durante la reunión de kickoff (o posterior a ella), deberá completar los casos de pruebas para cada caso de uso del sprint actual.
- Además al momento de entregar al cliente se deberá realizar una prueba de caja negra manual (por el momento).
- Además para mejorar los productos entregables se deberá hacer enfasis en mejoras de performance. Esto depende de los proyectos y requirimientos no funcionales solicitados por los clientes.
En cuanto a tecnologías, consensuamos que la tecnología actual que trabajamos permite cumplir con cualquier requerimiento solicitado (siempre y cuanto no sigamos utilizando versiones viejas).
De todas maneras estamos abiertos a sumar nuevas plataformas, como por ejemplo .NET con C# o Java. Lo cual requerirá capacitaciones a largo plazo, y siempre teniendo como eje el rol de programador y no de sysadmin (pues es sabido que al cambiar al infraestructura, se necesita configurar servicios de infraestructura que exceden nuestra labor).
Para mejoras tangibles en cuanto a tiempos y redistribución de trabajo, hace ya un tiempo se decidió realizar backend creando servidores REST de modo que un mismo desarrollo php, pueda servir para varios clientes (maquetado web o bien mobile).
En cuanto a desarrollo debemos seguir apostando por utilizar metodologías como DDD y TDD cuando el desarrollo lo permita.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment