You are on page 1of 20
gaPractical Desarrollo de Software: 1 PARTE (Ciclos de vida para proyectos de desarrollo) En la entrega que precede a este material se ofrecié un acercamiento a los aspectos basicos en torno al Desarrollo de Software, por lo que se hizo un recorrido por definiciones que permitieran conocer cudl es la importancia que tiene esta solucién dentro de las organizaciones hoy en dfa sin importar el tamafio de la misma o industria en la que opere. Buscando dar continuacién a todo esto, en esta segunda parte se muestra cémo es el proceso de desarrollo de software de Megapractical con sus respectivos ciclos de vida para desarrollo de proyectos, asi como sus principales fases y principales actividades y entregables. El mismo fue creado, editado y distribuido por el equipo de Megapractical S.A de C.V con fines informativos, educativos y comerciales. Este puede ser utilizado como fuente de cualquier trabajo de caracter académico, peros siempre haciendo referencia ala fuente. Si necesita mAs recursos educativos sobre Arquitectura SOA, Business Intelligence (B)), Desarrollo de Software y Soluciones T! puede obtenerlos de forma gratuita haciendo clic en este botén: Conoce nuestros Ebook Aqui ‘SOFTWARE ‘APPLICATION DOWNLOAD NETWORK TABLA DE CONTENIDOS Q megarractical 1, DESARROLLO DE SOFTWARE BASADO EN LAS MEJORES PRACTICAS CMMI 1 2. _ CICLODEVIDA PROYECTOS DE DESARROLLO DE SOFTWARE TRADICIONAL —— 3 3. CICLODEVIDAPROYECTOSSON/BPM_ 4. CICLO DEVIDA PROYECTOS PERSONALIZACION DE PRODUCTOS _________ 9 5. DE QUE MANERA EL DESARROLLO DE SOFTWARE APORTA VALOR ALAS ORGANIZACIONES 12 6. RELACION CON EL CICLO DE VIDA 13 7. SOBRE MEGAPRACTICAL ENGINEERING SOFTWARE Compartelo fi © ©} DESARROLLO DE SOFTWARE BASAD! EN LAS MEJORES PRACTICAS CMMI En Megapractical, como parte del proceso de mejora hemos basado nuestras soluciones en Capability Maturity Model Integration (CMMI), en espafiol «Integracién de Modelos de Madurez de Capacidades» el cual es uno de los modelos lideres basados en mejores practicas para la calidad del proceso de desarrollo de software de las organizaciones. Para ello se han definido politicas de obligatorio cumplimiento en el interior de la organizacién de modo que podamos garantizar lo dispuesto en los objetivos genéricos y especificos del CMMI Dev. 1.3 Nivel 2. Entre estas politicas se encuentran las siguientes: - Establecer una politica organizacional: al establecer una politica organizacional los proyectos a ejecutarse deben desarrollarse cumpliendo con los ciclos de vida definidos para el proceso de desarrollo, utilizando las fases, productos de trabajo y roles definidos. En caso de algtin proyecto a ejecutarse necesite de alguna adaptacién al proceso definido requeriré la aprobacién de la alta gerencia. - Planear el proceso: en los WBS definidos como parte de las actividades de planificacién de la gestién de proyectos se deberén incluir las actividades que aseguren la ejecucién de las fases definidas para el proceso en dependencia del ciclo de vida del proyecto. - Proveer los recursos: en el WBS del proyecto se deben incluir los recursos planificados para la ejecucién de cada fase del proyecto segtin su ciclo de vida y el tiempo estimado para realizar las actividades. - Asignar responsabilidades: en el Plan proyecto de software se debe especificar por roles sus responsabilidades dentro del proyecto y referenciar al documento de Definicién de roles y responsabilidades (MEGA-004_Definicién de Roles y Responsabilidades). - Capacitar el personal: se debe capacitar al personal de los proyectos en los procesos definidos, los productos de trabajo a generar por las responsabilidades que cumplen en la ejecucién de sus actividades. - Administrar la configuracién: por cada fase de ciclo de vida debe quedar definido en el Plan de configuracién de la organizacién (MEGA-CM-002_Plan de gestién de la configuracién) los elementos de configuracién de los proyectos, definir cuando comireo I O @ se establecerd la linea base, las auditorias a la configuracién, el versionamiento de los productos de trabajo, los procedimientos para solicitudes de infraestructura, liberaciones de lineas bases y el control de cambios, dejando registro de las acciones realizadas y facilitando el acceso a los recursos seguin los permisos autorizados. - Identtficar e involucrar a los agentes relevantes: en el Plan de proyecto de software deben quedar explicitamente definidos los involucrados en cada fase del ciclo de vida del proyecto, las actividades en las cudles intervienen y cual es su nivel de participacién en cada actividad. - Monitorear y controlar el proceso: el proceso de desarrollo sera monitoreado y controlado para la verificacién de su cumplimiento como proceso y la generacién de los productos de trabajo desarrollados, en las revisiones se registran las desviaciones y las acciones correctivas correspondientes. - Evaluar Objetivamente Adherencia a Procesos: el area de aseguramiento de la calidad seré la encargada de evaiuar el porciento de adherencia al proceso y los productos de trabajo generados en correspondencia al ciclo de vida del proyecto, permitird a la alta gerencia contar con informacién oportuna con respecto a la ejecucién del proceso por los proyectos y corregir las desviaciones existentes. - Revisar el Estatus con la Alta Direccién: las revisiones a la adherencia al proceso y los productos de trabajo serdn informado al alta mediante los reportes generados a partir del seguimiento y control de los proyectos. Esta informacién permitira a la direccién de la empresa la toma de decisiones con respecto al seguimiento del proceso de desarrollo definido para los proyectos de la Unidad de Desarrollo, Soporte y Consultoria. Para ello dentro del proceso de desarrollo de software de Megapractical se han identificado tres ciclos de vida para proyectos de desarrollo, los cuales detallamos a continuacién con sus principales fases y principales actividades y entregables. coma LO © CICLO DE VIDA PROYECTOS DE DESARROLLO DE SOFTWARE TRADICIONAL Este es el mas bésico de todos los modelos, y sirve como bloque de construcci6n para los demas modelos de ciclo de vida. Cada fase tiene un conjunto de metas bien definidas, y las actividades dentro de una fase contribuyen a la satisfaccién de metas de esa fase 0 quizés a una subsecuencia de metas de la fase. Caracteristicas generales de este tipo de proyecto: 1. Se basan en un ciclo de vida de desarrollo del software iterativo e incremental, mientras que cada iteracién se realiza un flujo en cascada, ya que organiza los proyectos en etapas que se ejecutan secuencialmente de acuerdo a la Figura No. 1. 2. Se ejecutan varias iteraciones, mientras que cada iteracién ejecuta cada una de las etapas definidas una sola vez y hasta que no finaliza con éxito una etapa no se pasa a la siguiente. Ejemplo: Hasta que no se aprueba el disefio del software no se inicia el desarrollo y construccién de una iteracién. 3. Otra de las caracteristicas importantes dentro de este enfoque se tienen los altos costos al implementar un cambio. 4. El cliente interactéa con el equipo de desarrollo mediante reuniones técnicas formales, Planificadas entre Las Partes. 5. Equipos de trabajo constituidos por varias personas (de 5 a 15 miembros), cumpliendo los roles definidos para el proyecto y posiblemente distribuidos fisicamente. 6.La arquitectura de Software es lo esencial y se expresa mediante modelos prefijados en un contrato con su correspondiente Anexo Técnico. La siguiente figura muestra el ciclo de vida de proyectos para desarrollo tradicional. comireo I O @ MegaPractical O Hitos + Revision técnica @® | 2 hevsinstenice =r datetaan + seven @ | evsontcn En la siguiente tabla de describen por fases del ciclo de vida, su objetivo principal y sus entregables principales: Fases delcicio de | Desoripoién de la Fase Entregables vida principales “Modelo del Negocio | Se comprende cémo funciona el negocio que se | Descripcion de procesos desea automatizar. Se documentan los procesos, | de negocio. actividades y objetos de informacién que estén | Glosarios de términos. dentro del alcance pactado en contrato. Se dentifican los objetivos de la organizacién que deben verse beneficiados con Ia solucién. Se identifican requisitos de alto nivel. Requerimientos ‘Se Identifican las caracteristicas, restricciones y | Especificacion de propiedades que debe tener la solucién para | requisitos. ‘cumplir con el alcance pactado en el contrato. | Diccionarios de Datos. Se describen los requisitos y los actores que interactua fen Ia solucién. Se descrisen los acuerdes de servicio con entes externos que comireo I O @ ‘Analisis y disefio DefiniciGn de la arquitectura (de software y de informacién) que soporte el desarrollo de todos Jos requisitos funcionales y no funcionales. Refinar el detalle de la especificacion de los requisitos y de las entidades de informacién que deberé manejar el sistema. Desarrollo de prototipos y componentes reutilizables. Lograr la compresién de lo que hay que desarrollar y como debe hacerse. Especificacion de requisitos (actualizada). Protatipos (opcional) Descripcién de la arquitectura. Diccionarios de Datos. Diagramas de clases y/o de entidad relacién. Casos de prueba. Implementacion Implementar el sistema en términos de ‘componentes y ficheros de cédige fuente, script, ejecutables, disefio de base de datos, etc. Desarrollar los manuales de usuario, de instalacién y configuracién, ‘software Manuales de usuario, de instalacién, administracién y de cconfiguracién Pruebas Se verifica el resultado de la implementacion. Se ‘obtiene la liberacién del producto para la entrega al usuario final, una ver verificados que los errores encontrados, fueron corregidos. Se ‘emplean las técnicas de pruebas necesarias para validar y verificar el cumplimiento de todos los requisitos (funcionales_y no _funcionales) descritos en el alcance de la soluci6n. Registro de no conformidades. Reporte de las pruebas. Despliegue Durante esta fase se reallzan las tareas necesarias para la instalacién, configuracién, carga inicial de datos; prueba y puesta en marcha del sistema en el ambiente tecnolégico real del cliente. También debe realizarse un periodo de capacitacién y/o transferencia tecnolégica. Taforme ejecutive de cierre de proyecto. Soporte ES un tiempo limitado opcional para algunos proyectos que incluye los servicios de resolucién de conflictos y errores que puedan presentarte a partir de la puesta en produccién del producto. En este periodo pueden hacerse entregas de actualizaciones y parches al producto inicial, Registro de incidenclas. comin MO @ CICLO DE VIDA PROYECTOS SOA/BPM Caracteristicas generales de este tipo de proyecto: 1. Se trata de desarrollar un componente (Servicio, proceso) de aplicaciones verticales agi! ala hora de adaptarse a los cambios de procesos y cambios organizacionales. 2. Se desarrollan conceptos, politicas, lineamientos que constituyen el elemento de integracién para aplicaciones colaborativas, tanto desde el punto de vista de aplicaciones que se construyen como composicién de otras bajo la filosofia de Web Services, como del de la automatizacién de procesos basados en reglas. 3. Puede existir necesidad de integracién a nivel de datos: se enfoca en el movimiento de datos entre aplicaciones con el objetivo de compartirlos. Es una integracién relativamente simple si se comparten formatos y estructuras, de lo contrario se establecen protocolos 0 acuerdos entre las partes para poder realizar la integracién. (Ejemplo: integracién por XML) 4, Puede existir necesidad de integracién a nivel de aplicaciones: se basa fundamentalmente en compartir funcionalidad. Es una integracién basada en APIS que exponen su funcionalidad a través del uso de interfaces que seran tanto més portables dependiendo del lenguaje utlizado para definirse. (Ej: IDL de CORBA 0 WSDL de los Web Services) 5. Equipos de trabajo constituidos por varias personas, sobre todo en dependencia de la cantidad de procesos que se tengan que construir (de 4a 10 miembros), cumpliendo los roles definidos para el proyecto y posiblemente distribuidos fisicamente. commie 1 © © MegaPractical La siguiente figura muestra el ciclo de vida de proyectos para desarrollo de productos con tecnologia SOA/BPM. CICLO DE VIDA FASES: ein tein even clente Crear Lines Base En la siguiente tabla de describen por fases del ciclo de vida, su objetivo principal y sus entregables principales: Teams lca de Despina ae ae pales ‘Anaisis y alse del ho nivel ‘Se comprende como funciona el negocio que eseaautoratizar.e docuentan ls procesos, scieadesy bets de Iformacisn gue estén entican ls objetos de la orgniacén ave eben vere Beneflades con Ie slucén. Se entiican regis de ae nhl. 0 defen esratepas y pirates y polticas para la astomatiacén de los procesos. Se eal a vita de ato nivel ea arguectr. ‘Descripcion de proesae de negoco Cleavage erminos Expecesese téenicaurcona dela rqitectra iagosy temas Dish deta ‘Se describe os acuerdo ce servi con enteh Interos y externas que fermarén parte de te srqutectra Se refnan at reas de negocio y se decaran lat debe tener la soluiin para cumplr con el keane pactadoen el convate. Se actunin la vita dea argutectra Se deseriten los requbkos (nteraces do Service procesos), los actores (ensumidores el servi) y de Ios enidades de informacién ‘ue nteractuarin en a soucién Deraroo de pretties de server y/o ‘ipecicacibn de os Deseripcion da srgaectra Diagramas ae claes y/o de ented rela, Dieclonarios de (epcienat (casos pra, comireo fF O @ MegaPractical procesos (MOCK) y componentes reutilizables. Lograr la compresién de lo que hay que desarrollar y como debe hacerse. Implementacion. Implementar los servicios y/o procesos en | Software. ‘términos de: interfaces, componentes y ficheros | Modelo fisico y Idgico de de cédigo fuente, script, disefio de modelos de | los datos (opcional). datos, etc. Desarrollar los manuales de usuario | Manuales de usuario {opcional), de despliegue y configuracién. {opcional), de des; yconfiguracién, Pruebas Se verifica el resultado de la implementacion. Se | Registro de no obtiene la liberacién del producto para {a | conformidades. entrega al usuario final, una vez verificados que | Reporte de las pruebas. los errores encontrados, fueron corregidos. Se emplean las técnicas de pruebas necesarias para validar y verificar el cumplimiento de todos los Fequisitos (funcionales y no funcionales) descritos en el alcance de la solucién. Despliegue Durante esta fase se realizan las tareas | Informe ejecutivo de ecesarias para _la_instalacién, configuracién, | cierre de proyecto. ustiy Text carga inicial LZ2%, prueba y puesta en marcha del sistema en el ambiente tecnolégico real del cliente. También debe realizarse un periodo de capacitacién y/o transferencia tecnolégica. Soporte Es un tiempo limitado opcional para algunos | Registro de incidencias. Proyectos que incluye los servicios de resolucién de conflictos y errores que puedan presentarte a partir de la puesta en produccién la solucién. En este periodo pueden hacerse entregas de actualizaciones y parches a la solucién inicial. comireo FO @ CICLO DE VIDA PROYECTOS PERSONALIZACION DE PRODUCTOS Este tipo de proyectos se toma como base el ciclo de vida de un desarrollo tradicional solo que se omiten algunas de sus etapas, por lo que se puede considerar una versién dail de este tipo de desarrollo tradicional. Caracteristicas generales de este tipo de proyecto: 1. Se basa en un ciclo de vida de desarrollo del software iterativo e incremental. Se repiten las etapas de cada ciclo, se va afiadiendo funcionalidad al producto y se comprime al maximo el tiempo de las iteraciones, son iteraciones cortas. Se hacen entregas parciales del producto para ir validando con el usuario que el producto cumple los requisitos. 2. Se reutiliza de un 60 a un 80 por ciento de una aplicacién ya desarrollada y desplegada en el ambiente de produccién. 3. Se solapan las etapas, no siempre dentro de cada iteracién tiene que haber etapas en cascada, por ejemplo, la etapa de pruebas se fusiona con la etapa de desarrollo. 4, Se cambia la documentacién por la interaccién cara a cara con el usuario, hay equipos multidisciplinares sin separaci6n de roles (todos pueden disefiar y programar) y se tiende a una gestién de proyecto como equipo auto organizado y colaborativo. 5. Equipo de proyecto conformado como maximo por 3 personas que comparten varios de los roles definidos para los proyectos de Megapractical. 6. La duracién de! proyecto se encuentra aproximadamente entre 3 y 6 semanas de ejecucién. 7. El ciclo de vida del proyecto, se encuentra centrado solo en las etapas de Homologacién, Implementacién, Pruebas, Despliegue y Soporte, las otras fases fueron realizadas como parte del proyecto original. comireo IO @ 10 MegaPractical La siguiente figura muestra el ciclo de vida de proyectos para desarrollo de personalizacién de productos. CICLO DE VIDA FASES O Hitos + Rveon thee Crear Lines Ba + Revere Figura. 3 Ciclo de vida de personalizacion de productos. En la siguiente tabla de describen por fases del ciclo de vid: entregables principales: la, su objetivo principal y sus Fases del cielo de vida | Descipcign de la Fase Entregabies principales Homologacién. Tncluye la capacitacién de los usuarios en utiizacién del sistema y en la configuracion e Instalacién si aplica al tipo de producto. €1 levantamiento y descripcién de los cambios que se necesitan realizar por requisito funcional para que se pueda realizar la personalizacién del producto alas particularidades del cliente, Lograr la compresién de lo que hay que cambiar e identificar el impacto de los cambios de forma tal que se mantenga la integridad del funcionamiento del sistema. Especifcacion de requisitos (personalizacién) Diccionarios de Datos {(personalizacién), Implementacion Implementar las modificaciones al sistema en términos de componentes y ficheros de cédigo fuente, script, ejecutables, diserio de base de datos, etc. Personalizar los manuales de usuario en caso necesario. Software Modelo fisico y Idgico de los datos. ‘Manuales de usuario. comireo IO @ 11 MegaPra Pruebas Se va probando, paralelamente al desarrollo, tanto internamente como con participacién directa del usuario final. Se libera el producto para produccién cuando se comprueben que fueron implementados todos los cambios satisfactoriamente, y existe conformidad del diente. Registro de no conformidades. Despliegue Durante esta fase se realizan las tareas necesarias para la instalacién, configuracién, carga inicial de datos; prueba y puesta en marcha del sistema en el ambiente tecnolégico real produccién. Informe ejecutivo de cierre de proyecto. Soporte Es un tiempo limitado opcional para algunos proyectos que incluye los servicios de resolucién de conflictos y errores que puedan presentarte a partir de la puesta en produccién del producto. En este periodo pueden hacerse entregas de actualizaciones yparches al producto inicial. Registro de incidencias. comireo FO @ DE QUE MANERA EL DESARROLLO DE SOFTWARE APORTA VALOR A LAS ORGANIZACIONES En la organizacién existe un Grupo de Aseguramiento de la Calidad encargado de realizar las revisiones para verificar la adherencia a proceso y productos de trabajo definidos en la organizacién. Ala culminacién de cada fase del ciclo de vida seguin el modelo seleccionado se realizar una revision de adherencia a procesos y productos. El proceso definido para el Aseguramiento de la Calidad en procesos y productos se encuentra definido en el libro de proceso. (MEGA-PPQA-001_Libro de procesos PPQA) Acontinuacién, se muestra el proceso a ejecutar por parte del Grupo de Aseguramiento de Calidad: - Planeacién de PPQA ™ Revision de adherencia a procesos y productos = Seguimiento/Control/Escalamiento de no conformidades = Analisis de resultados PLANEACION DE PPOA. v REVISION DE ADHERENCIA A PROCESOS Y PRODUCTOS + SEGUIMIENTO, CONTROLY ESCALAMIENTO DE NO ‘CONFORMIDADES v ANAUSIS PERIODICO DE RESULTADOS comireo FO @ 12 RELACION CON EL CICLO DE VIDA Los ciclos de vida definidos para la organizacién se encuentran descritos en el documento MEGA-006_Ciclo de vida de proyectos. A continuacién, se detallan los procesos del aseguramiento de la calidad con respecto a los ciclos de vidas seleccionados. En los proyectos con ciclo de vida Personalizacién de productos los procesos de aseguramiento de la calidad de aplicarén a nivel de proyecto y la Planeacién de PPQA y el Andlisis de resultados se aplicard a nivel de organizacién proporcionando Ia informacién necesaria a la alta gerencia para la toma de decisiones con respecto a las tendencias de calidad identificadas. Los procesos de aseguramiento de la calidad aplicados a nivel del proyecto son: Revision de adherencia a procesos y productos y Seguimiento/ControVEscalamiento de No Conformidades, serdn actividades verticales pudiéndose ejecutar en cualquier fase del proyecto. Se recomienda realizar evaluaciones fundamentalmente antes de revisiones con el cliente. = ou | == os sn comireo IO @ 13 MegaPractical En los proyectos con ciclo de vida SOA/BPM igualmente se ejecutara horizontalmente los procesos de aseguramiento de la calidad correspondientes a nivel de proyecto y a nivel de organizacién se realizaré la planeacién de PPQA y Andlisis de resultados. Se recomienda realizar evaluaciones fundamentalmente antes de revisiones con el cliente. oR PROYECTO PARA LA ORGANIZACION O Hits Para los proyectos con ciclo de vida Desarrollo tradicional igualmente los procesos de aseguramiento de la calidad se ejecutardn a nivel de proyecto y nivel organizacional. Se recomienda realizar evaluaciones fundamentalmente antes de revisiones con el cliente. commis 1 O @ 14 FASES: O tites PARA LAORGANACION La definicién de los roles a utilizar en la Unidad de Desarrollo, Soporte y Consultoria se encuentra en el documento MEGA-004 Definicién de Roles y Responsabilidades, en la descripcién de! proceso de Aseguramiento de la calidad de procesos a productos se enuncian los roles involucrados en cada subproceso a actividad. comireo FO @ 15 16 SOBRE MEGAPRACTICAL MegaPractical ‘Somos un grupo de profesionales con amplia experiencia en el desarrollo de soluciones tecnolégicas. Trabajamos como equipo desde hace mas de 10 afios. La empresa fue creada en el afio 2002 bajo el nombre de Total Bussines Solutions S.A de CY, con el firme propésito de ofrecer consultoria en lo que se refiere a la mejora de procesos y soluciones para empresas corporativas. Desde ese momento, y de manera consistente, fuimos evolucionando, no solo junto con la sociedad, sino también junto con las necesidades del mercado en materia de consultoria. De esta forma, durante el primer semestre del 2005, nos encargamos de enriquecer nuestra razén social y las capacidades de la empresa para asi crear MEGAPRACTICAL. Actualmente, y gracias a nuestro continuo crecimiento, contamos con oficinas en: -México: donde estamos autorizados por el SAT para poder llevar a cabo la emision de facturas electronicas. ~Panama: sede de nuestra oficina comercial, y desde la cual nos dedicamos a atender a nuestros clientes en Latinoamérica. -Ecuador: lugar en el que abrimos operaciones en febrero de 2015 con nuestra propia fabrica de Software. ‘Como empresa de soluciones de negocio queremos ayudarlo a llevar su negocio hacia el futuro, asi que si tiene alguna duda o requerimiento sobre alguna en particular lo invitamos a contactar a nuestros especialistas haciendo clic en este botén. aw yy Compartelo [I © @ www.megapractical.com

You might also like