FÁBRICA DE SOFTWARE Por Damaris González Mayo 2013
1
FÁBRICA DE SOFTWARE | MAYO 2013
¿Qué tanto conoces de Fábrica de Software (FSW)? Si eres el responsable del desarrollo de aplicaciones en tu empresa y la lista de pendientes sigue creciendo sin parar, es posible que te interese conocer más acerca de la fábrica de software. Aquí veremos las características, ventajas, desventajas y posibles beneficios de esta modalidad de desarrollo de aplicaciones.
Problemas en el desarrollo de proyectos Proyectos fuera de tiempo y presupuesto. No se reutiliza el código. Necesita recursos y en su organización es muy tardado el proveer infraestructura. Su proceso de inversión es largo y los requerimientos deben ser realizados con mayor rapidez. Sus recursos humanos solo dominan ciertas herramientas. La planeación de los recursos humanos y técnicos resulta complejo y tardado. Documentación y prácticas dependen de quién realiza el proyecto. Prácticas de seguridad y respaldos no implementados. Costos adicionales para manejo de metodología PMI, CMM i, MoproSoft, UML, etc.
2
FÁBRICA DE SOFTWARE | MAYO 2013
¿Algunas de las situaciones descritas le son familiares?
¿Qué es una Fábrica de Software (FSW)? Si se identificó con la problemática anterior, ahora pasemos a la definición: Una fábrica de software es un área de desarrollo dedicada a producir componentes y procesos completos para ejecución de sistemas basados en especificaciones. Opera como una línea de ensamblado basada en los planos para armado.
Factores de decisión para utilizar o no una FSW Ahora que ya entendí qué es una FSW, ¿es mi organización candidata para usar esta modalidad de desarrollo?.
3
FÁBRICA DE SOFTWARE | MAYO 2013
Aquí algunas preguntas que le apoyarán a tomar la decisión: ¿Ya se hizo un análisis o levantamiento de requerimientos y sabemos qué hay que hacer?. ¿Tengo espacio en la oficina para más desarrolladores?. ¿Tengo los desarrolladores necesarios para la realización del proyecto?. ¿Tengo equipos y licencias suficientes para el desarrollo del proyecto?. ¿Quién se va a encargar de administrar al personal que haga el desarrollo?. ¿Qué me cuesta más, contratar una persona X meses, darle un lugar, equipo, capacitarlo, mostrarle los procesos de empresa y controlar sus planes de trabajo y actividades, o definir qué quiero, pedirlo a Northware y pagar la tarifa establecida?. ¿Cómo me aseguro de tener control sobre mis proyectos?. ¿Tengo tiempo para supervisar directamente la programación? . ¿Este producto será la base de la competitividad de la compañía?. ¿Pareciera que la velocidad a la que estamos entregando versiones siempre es menor a la velocidad con que se generan nuevos requerimientos en la organización?.
4
FÁBRICA DE SOFTWARE | MAYO 2013
Ventajas de FSW Utilización de recursos de programación solo cuando lo necesito. Menores trámites de cotización, menos tiempo requerido en trámites administrativos. No se requieren lugares físicos de trabajo para las personas, ni asignar equipos a los mismos, por tanto no es necesario entrar en procesos de inversiones. Supervisor de programación 100% dedicado al proceso. Entregas basadas en los requerimientos del cliente, él establece su capacidad de recepción, sus puntos de revisión y nos considera dentro de sus planes de trabajo como si estuviéramos con él. No se preocupa por licenciamiento (herramientas MS) o mal uso de equipos. No requiere inversiones adicionales por periodos cortos de tiempo. El cliente no pierde el “expertise” al entregar solo la programación de procesos y no la definición de la solución a un tercero. El cliente no se vuelve dependiente de ninguna persona para efectos de programación, documentación y pruebas de funcionalidad. Se obliga a los Analistas de la Empresa Cliente a documentar (vía especificaciones) todos sus procesos, eliminando posibles informalidades del desarrollo y la dependencia con el personal .
5
FÁBRICA DE SOFTWARE | MAYO 2013
La metodología de FSW se basa en: Análisis de especificaciones. Estimación de esfuerzos de programación. Comunicación y negociación de planes y prioridades. Programación de componentes. Aplicación de matriz de pruebas. Liberación y entrega. Informes semanales de avance. levanta 1 Cliente requerimiento
Líder Técnico
al 2 seLíderasigna Técnico NW
y resguarda 3 valida el requerimiento
y prueba 5 desarrolla (pruebas unitarias)
el 4 asigna requerimiento
El requerimiento
Líder Técnico
el requerimiento
Líder Técnico prueba el requerimiento,
6 acuerdo a escenario de pruebas.
7
Líder Técnico autoriza el envío del requerimiento
Todos los pasos van cubiertos por Calidad e Innovación, Planeación y Monitoreo
Sourcesafe ó Team Foundation
envía el requerimiento al cliente a través de
Líder Técnico cierra el requerimiento
Cliente implementa
requerimiento a 8 ella aplicación correspondiente
6
registra el 9 Cliente issue a reportar
FÁBRICA DE SOFTWARE | MAYO 2013
¡Que no lo confundan!, a continuación le mostramos algunos ejemplos de lo que no se hace en una FSW.
FSW vs Proyectos vs Subcontratación Principales Diferencias entre FSW y Proyecto En una FSW no se realizan fases de análisis, ni diseño, los productos de estas fases son la entrada para iniciar con la FSW. En un proyecto cotizado se realiza la administración completa del proceso de liberar un sistema, en FSW solo se especializa en el proceso de construcción de la solución (componentes).
Principales Diferencias entre FSW y Subcontratación de Personal En una FSW no se cuenta con recursos limitados, no es necesario realizar una contratación por meses completos. Normalmente, la limitante se vuelve el levantamiento de requerimientos y la definición de procesos a realizar por parte de los Analistas. En una FSW se demandan las horas-hombre necesarias para realizar un proyecto considerando solo los tiempos de utilización efectiva de los mismos.
7
FÁBRICA DE SOFTWARE | MAYO 2013
Si prefieres recibir ayuda profesional, te invito a que nos contactes. Somos una empresa especialista en desarrollo de aplicaciones, fábrica de software base de datos y aplicaciones para Iphone/Ipad. Desarrollamos software basado en Microsoft .NET, Java, iOS y Android; y para aquellas empresas que sólo requieren la contratación directa de especialistas, proveemos consultores por proyecto, temporales o fijos con experiencia en las tecnologías más avanzadas para apoyar tu estrategia en sistemas de información y desarrollo de software.
Contáctanos: Interior de la República 01 800 288 OPEN ( 6736 )
Ciudad e México (D.F.) (55) 5536 2968
Monterrey, Nuevo León (81) 8262 1111
Desde Estados Unidos (U.S.A.) (512) 853 9472
Síguenos en: facebook.com/northware
twitter.com/northwaremx
Correo electrónico
[email protected]
8
FÁBRICA DE SOFTWARE | MAYO 2013