domingo, 10 de junio de 2012

Mejores Prácticas y algo más ..


Definitivamente la industria de desarrollo de software es de las industrias que más ha crecido en los últimos años y se ha introducido en la economía de una manera muy rápida, hemos visto como países como India, Chile e inclusive México han ido adoptando esta industria como factor de crecimiento, también, hemos visto también la creciente demanda de desarrollar software con distintas características; que sea de calidad, seguro, eficaz eficiente, y que dada la experiencia de todos los desarrollos, el desarrollo de software sea más una metodología que el tener varias personas con habilidades técnicas tirando líneas y líneas de código según la experiencia personal de cada programador, es tener una estrategia formal que la industria la ha denominada Mejores Practicas.
Hoy en día, las Mejores Practicas se encuentran en todo el mundo y para todos tipos, están divididas por continente, por tamaño de la empresa, para empresa privada o para el gobierno.
Bajo ese contexto las mejores prácticas que expongo en este blog y para la comunidad Mexicana especialista en desarrollo de software expongo las siguiente Mejores Prácticas que actualmente se pueden utilizar para las empresas mexicanas, en cada punto contempla una breve introducción y su objetivo:

MoProSoft
Modelo de Procesos para la Industria del Software en la industria del software. Modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Desarrollado por la Asociación Mexicana para la Calidad en Ingeniería de Software a través de la Facultad de Ciencias de la Universidad Nacional Autónoma de México (UNAM) y a solicitud de la Secretaría de Economía para obtener una norma mexicana que resulte apropiada a las características de tamaño de la gran mayoría de empresas mexicanas de desarrollo y mantenimiento de software. MoProSoft  es el nombre del modelo en la comunidad universitaria y profesional, y la norma técnica a la que da contenido es la NMX-059/01-NYCE-2005 que fue declarada Norma Mexicana el 15 de agosto de 2005 con la publicación de su declaratoria en el Diario de la Federación.

MAGTIC
Si bien MGATIC es considerado como “mejor practica” no es propiamente un estándar, de hecho es considerado un Manual General utilizado por el Gobierno Federal para lo que se refiere a Tecnologías de la Información y más recientemente adaptado para seguridad e información.
El Manual a que se refiere las reglas, acciones y procesos que en materia de tecnologías de la información y comunicaciones deberán observar de manera obligatoria, las dependencias y entidades de la Administración Pública Federal
El Manual hacer referencia al ámbito a las Tecnologías de la Información e incluso integra distintos estándares, como el caso de ITIL.

Para los que deseen descargar su última versión les anexo la liga o bien los aspectos generales los podrán descargar de la página de la Normateca

ITIL
Actualmente en su versión 3,  la Biblioteca de Infraestructura de Tecnologías de Información, frecuentemente abreviada, es un conjunto de conceptos y prácticas para la gestión de servicios de tecnologías de la información, el desarrollo de tecnologías de la información y las operaciones relacionadas con la misma en general. ITIL da descripciones detalladas de un extenso conjunto de procedimientos de gestión ideados para ayudar a las organizaciones a lograr calidad y eficiencia en las operaciones de TI. Estos procedimientos son independientes del proveedor y han sido desarrollados para servir como guía que abarque toda infraestructura, desarrollo y operaciones de Tecnologías de Ia Información, página oficial.

CMMI
El CMMI es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software.

Niveles CMMI
Los niveles CMMI son 5:

  • Inicial o Nivel 1 CMMI. Este es el nivel en donde están todas las empresas que no tienen procesos. Los presupuestos se disparan, no es posible entregar el proyecto en fechas, los empleados si tienen que quedar durante noches y fines de semana para terminar un proyecto. No hay control sobre el estado del proyecto, el desarrollo del proyecto es completamente opaco, no se sabe que pasara con él.
  • Nivel 2 CMMI. Quiere decir que el éxito de los resultados obtenidos se pueden repetir. La principal diferencia entre este nivel y el anterior es que el proyecto es gestionado y controlado durante el desarrollo del mismo. El desarrollo no es opaco y se puede saber el estado del proyecto en todo momento.
    • Los procesos que hay que implantar para alcanzar este nivel son:
      • Gestión de requisitos
      • Planificación de proyectos
      • Seguimiento y control de proyectos
      • Gestión de proveedores
      • Aseguramiento de la calidad
      • Gestión de la configuración
  • Nivel 3 CMMI. alcanzar este nivel significa que la forma de desarrollar proyectos (gestión e ingeniería) está definida, por definida quiere decir que está establecida, documentada y que existen métricas (obtención de datos objetivos) para la consecución de objetivos concretos.
    • Los procesos que hay que implantar para alcanzar este nivel son:
      • Desarrollo de requisitos
      • Solución Técnica
      • Integración del producto
      • Verificación
      • Validación
      • Desarrollo y mejora de los procesos de la organización
      • Definición de los procesos de la organización
      • Planificación de la formación
      • Gestión de riesgos
      • Análisis y resolución de toma de decisiones
    • La mayoría de las empresas que llegan al nivel 3 paran aquí, ya que es un nivel que proporciona muchos beneficios y no ven la necesidad de ir más allá porque tienen cubiertas la mayoría de sus necesidades.
  • Nivel 4 CMMI. Los proyectos usan objetivos medibles para alcanzar las necesidades de los clientes y la organización. Se usan métricas para gestionar la organización.
    • Los procesos que hay que implantar para alcanzar este nivel son:
      • Gestión cuantitativa de proyectos
      • Mejora de los procesos de la organización
  • Nivel 5 CMMI. Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades. Mejoras incrementales e innovadoras de los procesos que mediante métricas son identificadas, evaluadas y puestas en práctica.
    • Los procesos que hay que implantar para alcanzar este nivel son:
      • Innovación organizacional
      • Análisis y resolución de las causas

Opinión personal

Como podrán observar en las  líneas superiores, más que una descripción completa de lo que es cada una de las mejores prácticas, solo  he plasmado un pequeño esbozo de lo que son y su objetivo general.

Más allá de descripciones especificas creo que es muy importante considerar que debemos incorporar las mejores practicas internacionales de la que podamos sacar mejor provecho que redunde en generar productos de calidad, que nuestra organización se base en mejores practicas garantiza en mayor medida convertirla en una empresa competitiva.

Nosotros como profesionales de TI es nuestra responsabilidad adoptar las mejores prácticas del mercado e incluso contribuir para generar ejemplos de éxito como MoProSoft.

Trabajo Aplicación Turística




Proceso
Nombre
Desarrollo de APP
Descripción
Guía a seguir para el desarrollo de Software (aplicaciones Móviles)
Propósito
Determinar el ciclo de desarrollo de software
Objetivos
·         O1. Utilizar mejores practicas
·         O2. Estandarización del desarrollo de Software
·         O3. Determinar el nivel de calidad del software
Indicadores
·         I1. Auditorias de ISO
·         I2. Contar con documentación de los sistemas
·         I3. Pruebas IRM
Metas Cuantitativas
·         M1. Aprobada o No Aprobada
·         M2. Num de documentos aprobados /num de documentos requeridos
·         M1. Satisfactoria o No Satisfactoria
Responsabilidad
Director TI
Subprocesos
·         S1. Concepción del Proyecto
·         S2. Planificación
·         S3. Análisis
·         S4. Diseño
·         S5. Construcción
·         S6. Pruebas
·         S7. Implantación
Procesos Relacionados
·         Procesos Finanzas
·         Proceso de RH
·         Proceso de Publicidad / estudios de mercado
Entrada
Solicitud de aplicación Móvil para Guía turística Nacional e Internacional
Productos Internos
·         S1. Concepción del Proyecto. Obtención de proyecto de acuerdo a la demanda del cliente y realización de carta del proyecto
·         S2. Planificación. Planeación de actividades y fecha de liberación de la aplicación.
·         S3. Análisis. Obtención de requerimientos detallados.
·         S4. Diseño. Diseño de aplicación mediante aprobación de prototipo
·         S5. Construcción. Codificación de aplicación
·         S6. Pruebas. Pruebas unitarias e integrales para validación de aplicación.
·         S7. Implantación. Liberación de la aplicación
Salida
Aplicación de Guía Turística con iOS

Esta aplicaci+on es parte del trabajo que se realizó en equipo.

Saludos