1. Concepción
- Consiste en hacer el diseño del producto a entregar.
- Inicia con el contacto inicial con el cliente, levantamiento inicial de requerimientos y propuesta.
- Termina con la aprobación del proyecto por parte del cliente.
-
Contacto Inicial.
- Medios de contacto:
- Redes Sociales
- Teléfono (voz)
- Apps Mensajería (Whatsapp, FB Messenger)
- Referencia Personal
- Nota: Se recomienda utilizar el mismo medio de contacto con el que el cliente nos contacto de inicio. Posteriormente utilizar un medio mas directo. (Whatsapp, llamadas de voz).
- Obtener necesidad inicial.
- Obtener cita, presencial o remota.
- Medios de contacto:
-
Levantamiento de Requerimientos Inicial.
- Obtener información de negocio y de la problemática.
- Actividad de la empresa.
- Detalle de los problemas.
- Descripción del proceso actual:
- Procedimiento / pasos.
- Areas / personal involucrado.
- Pros del proceso actual.
- Contras del proceso actual.
- Impacto / Costo en tiempo / dinero del problema / proceso dañado (aprox.).
- Evidencias del proceso actual (reportes, excel, digital o en papel).
-
Propuesta Inicial.
- Generar presentación (PPT) basado en template existente.
- Objetivos del proyecto.
- Objetivos específico del proyecto.
- Alcance:
- Diagramas del nuevo proceso.
- Funcionalidades con descripción.
- Necesidades especiales.
- Integraciones (hardware, software, erp).
- Mockups (* opcional)
- Prueba de concepto (* opcional)
- Plan de trabajo
- Costo del proyecto.
- Costo de materiales (* opcional)
- Condiciones de pago (forma y cantidad de pagos).
- Diagrama de solución técnica / Diagrama de servicios (* opcional)
- Necesidades de capacitación (usuarios, puestos clave). Si no se puede identificar, indicar "por definir".
- Definición de soporte inicial (tiempos y forma) (3, 6 meses)
-
Presentación de Propuesta.
- Presentar propuesta (reunión física o virtual).
- Recibir y documentar retroalimentación (Email, nota).
- Ajuste de propuesta según retroalimentación del cliente.
- Enviar por correo electrónico.
-
Seguimiento.
- Comunicación frecuente con el cliente para definir la aceptación o no del proyecto.
- En caso de aceptación del proyecto:
- Definición de fecha de arranque del proyecto.
- Definición y validación de pago inicial.
- Asignación de recursos humanos y físicos para el proyecto.
2. Construcción
- Consiste en el desarrollo del producto.
- Incluye las integraciones de hardware y otros sistemas que se requieran.
- Se utiliza una metodología basada en desarrollo iterativo. Esto significa que se realizan ciclos cortos de desarrollo (1 o 2 semanas), en donde en cada ciclo se genera funcionalidad adicional útil para el usuario final.
-
Sprint 0.
- Definición del backlog del producto completo.
- Definición y captura de actividades en Clickup
- Configuración de ambiente de desarrollo:
- Proyectos de Visual Studio / Visual Code / Android Studio:
- WebAPI (VS)
- WebApp (VSCode)
- WinApp (VS)
- App Android (Android Studio)
- Ambiente para Sistema de Control de Versiones (visualstudio.com / Azure DevOps):
- Repositorios GIT (WebApp, App Android)
- Repositorios TFS (WebAPI, WinApp)
- Proyecto en Clickup
- Diseño de entidades
- Nombre
- Objetivo
- Propiedades básicas
- Metodos básicos
- Diseño de base de datos inicial
- Entidades
- Tablas
- Catálogos
- Metodos básicos
- Definición de perfiles de usuario básicos / permisos
- Definición de mapa de navegación (pantallas web / forms)
- Nombre
- Objetivo
- Relación entre pantallas
- Layout general / Mockup
-
Sprint 1.
- Configuración de elementos gráficos básicos (colores, logos).
- Implementación de la funcionalidad de login (pantalla de login + pantalla main/dashboard).
- Configuración de menú principal.
- Implementación de la funcionalidad de administración de usuarios (pantalla inicial + pantalla de detalle).
- Implementar funcionalidad de entidades/catálogos genéricos según se requieran en el proyecto:
- Administración de Clientes.
- Administración de Proveedores.
- Administración de Productos.
- Administración de Plantas.
- Administración de Sucursales, etc.
-
Sprint 2 al n.
- Objetivo del sprint (tiempo, funcionalidad para el cliente final).
- Definición de tareas por sprint.
- Captura de tareas en ClickUp.
- Desarrollo / codificación de funcionalidades.
- Pruebas:
- Pruebas unitarias y de integración (por equipo de desarrollo).
- Pruebas funcionales (por equipo de prueba / QA)
- Correción de funcionalidades con desviaciones.
- Revisión interna.
- Liberación en ambiente de prueba / producción.
- Revisión con el cliente.
- Peer review de código (complejidad, lógica, comentarios)
3. Implementación
- Consiste en hacer lo necesario para hacer disponible el sistema al usuario, y pueda ser utilizado.
- No se realiza necesariamente al final de la etapa de construcción, puede realizarse de manera simultanea dependiendo de las funcionalidades del sistema y del plan de trabajo
- Incluye las etapas de liberación del sistema a los servidores y dispositivos necesarios, asi como capacitaciones, seguimiento y soporte inicial del producto.
-
Configuración de Ambiente de Producción.
- Adquisición / configuración de hosting en la nube.
- Adquisición / configuración de hosting inhouse (servidor en instalaciones del cliente).
- Configuración de tienda de apps. (Playstore Android/Google, AppStore iOS/Apple, AppGallery Huawei)
- Configuración de base de datos
-
Instalación de Producto de SW.
- Compilación de proyectos / módulos.
- Liberación al ambiente de producción / tienda de apps, de cada proyecto (Copia de archivos, instalación / ajustes a base de datos).
- Prueba en ambiente de producción.
-
Instalación de Equipos de HW (* opcional).
- Plan de Instalación (fechas, requisitos, espacio físico, etc).
- Instalación física.
- Prueba en ambiente de producción.
-
Capacitación.
- Generar plan de capacitación (fechas, personal, lugar, etc).
- Generar documentación necesaria para la capacitación.
- Generar presentación.
- Prueba de funcionalidades del sistema en ambiente de prueba, previa a la capacitación.
- Generar evidencia de la capacitación.
-
Seguimiento Inicial.
- Soporte inicial, conforme a las definiciones de la propuesta.
- Registro de incidentes / solución para seguimiento en ClickUp
- Resolución de defectos en el sw.
- Desarrollo e implementacion de ajustes menores, conforme a las definiciones de la propuesta.
-
Documentación.
- Guía rápida por proceso (transversal). (Online)
- Manual de usuario por funcionalidad del sistema. (Online)
-
Mantenimiento al Proceso.
- Detectar funcionalidades obsoletas
- Identificar reglas de negocio internas que puedan cambiar, mejorar o hacerse obsoletas.
- Identificar reglas de negocio externas que puedan cambiar (nuevas leyes, impuestos).
- Identificar cambios en la estructura organizacional o en el personal, para planear posible capacitación adicional.
- Identificar e investigar sobre nuevas tecnologías que puedan aportar mejoras significativas al proceso.
- A partir de lo identificado, se debe planear el desarrollo de los ajustes o la generación de un nuevo proyecto de mejora.
-
Mantenimiento al Producto.
- Detectar funcionalidades que requieran mantenimiento frecuente:
- Mantenimiento de Base de Datos:
- Limpieza de log.
- Creación de nuevos índices y reconstrucción de índices existentes, para mejora de rendimiento.
- Vigilar crecimiento, límites de almacenamiento y limpieza según se requiera.
- Archivos de logs generados por el sistema
- Revisión de eventos registrados.
- Vigilar crecimiento, límites de almacenamiento y limpieza según se requiera.
- Archivos de datos generados por el sistema (imagenes, documentos, reportes, temporales)
- Vigilar crecimiento, límites de almacenamiento y limpieza según se requiera.
- Generar y ejecutar el plan de mantenimiento.
5. Evaluación
- Es la etapa final de cierre del proyecto.
- El objetivo es evaluar en general el comportamiento de la solución implementada, identificar rendimiento del equipo, puntos de mejora internas y respecto al producto.
-
Actividades Finales.
- Evaluación del cumplimiento de objetivos del proyecto.
- Identificar desviaciones del proyecto contra la planeación.
- Identificar desviaciones del proceso contra el plan.
- Detección de nuevas oportunidades.
- Obtener testimonio del cliente.
-
Visual Studio
-
Visual Code
-
Android Studio
-
SQL Server Manager Studio
-
SQL Server
2014 -
SQL Server
2014 SP3 -
SQL Server
2019
-
Azure DevOps
-
GIT
-
TortoiseGIT
-
Ionic Framework
-
Capacitor
-
ClickUp
-
Insomnia
-
JSON Formatter
-
ionicons
-
flaticons
-
Font Awesome
-
Unsplash
-
PixCut
-
Colormind
Extension | Developer |
---|---|
Angular Language Service | Angular |
Angular Essentials | John Papa |
Angular Snippets | John Papa |
Bracket Pair Colorizer 2 | CoenraadS |
Color Highlight | Sergii N |
EditorConfig for VS Code | EditorConfig |
ESLint | Microsoft |
GIT History | Don Jayamanne |
Image Preview | Kiss Tamás |
ident-rainbow | oderwat |
Intellicode | Microsoft |
Intellicode API Usage Examples | Microsoft |
IntelliSense for CSS class names | Zignd |
Ionic | Ionic |
Ionic Essentials | Anit Kumar |
Live Server | Ritwick Dey |
Package JSON Upgrade | codeandstuff |
Paste JSON as Code | quicktype |
Path Intellisense | Christian Kohler |
Peacock | John Papa |
Prettier | Prettier |
Pretty XML | Prateek MAhendrakar |
XML Formatter | Fabian Laurer |
XML Tools | Josh Johnson |