Professional Documents
Culture Documents
DESARROLLO
Top Group
Technology & Solutions
Pag.1
El desarrollo de software es un proceso de negocios estratégico que En TopGroup trabajamos bajo los estándares definidos por una
integra y automatiza otros procesos de negocio siendo, en la plataforma metodológica que toma como base las definiciones y
actualidad, una fuente de ventajas competitivas para las herramientas para administración de proyectos del Project
compañías. Management Institute (USA), las mejores prácticas para el
desarrollo de software definidas por Rational Unified Process,
Siendo una actividad de equipo, involucra la participación de los soportadas por una solución tecnológica que aplica los conceptos
"stakeholders" del negocio, las organizaciones de IT y las áreas de Professional Service Automation.
operativas trabajando en pos de un objetivo común. Pero las
estadísticas indican que más del 60% de los proyectos de
desarrollo fallan (fuente: Standish Group - 2003 Chaos Chronicles,
2003) producto de ineficiencias que causan retrasos, frustración y
plataforma metodológica
en definitiva la pérdida de flexibilidad del negocio.
Proyectos
de desarrollo
Web Portal
Professional Service Automation
La plataforma metodológica que aplicamos en TopGroup apunta a Esta "plataforma" metodológica, que combina un conjunto de
ofrecer una experiencia común que va del diseño a la implementación herramientas y mejores prácticas comprobadas dan soporte a la
y que involucra a los diferentes "stakeholders": creación, integración, extensión, modernización e implementación
de software en aplicaciones nuevas y existentes, sistemas legacy y
La línea de negocios de la compañía que conduce las estrategias productos de software. Ofrece un enfoque rápido, flexible e
del negocio incremental que captura y automatiza procesos de negocio
El equipo de desarrollo que hace factibles dichas estrategias existentes y nuevos modelos de negocio.
El equipo de IT operativo requerido para las operaciones del día a día
Pag.2
Modernización
aplicaciones
existentes
ión
int
c
ra
eg
eg
ra
int
ció
Implementación
n
Creación Extensión
aplicaciones sistemas El proceso de desarrollo orientado al negocio se basa en un modelo
nuevas integración legacy iterativo que incluye los siguientes pasos:
Modelar el Proceso
de Negocio
Monitorear Analizar
Requerimientos
Testear e
implementar Analizar y Diseñar
El objetivo de esta actividad es describir qué debería hacer el El propósito de la implementación es:
sistema y permitir que los desarrolladores y el cliente se pongan de
acuerdo en esa descripción. Para lograrlo obtenemos, organizamos Definir la organización del código, en términos de subsistemas
y documentamos la funcionalidad requerida y sus restricciones, se organizados en capas
rastrean y se documentan decisiones. Implementar clases y objetos en términos de componentes
(archivos fuente, binarios, ejecutables y otros)
Se crea el documento con la Visión y se obtienen las necesidades Probar los componentes desarrollados como unidades
de los "stakeholders". Se identifican a los Actores, representando a Integrar los resultados producidos por los desarrolladores
los usuarios y cualquier otro sistema que pueda interactuar con el individuales en un sistema ejecutable
sistema que está siendo desarrollado. Se identifican los casos de
uso a través del lenguaje de modelado UML, representando el El sistema se desarrolla a través de la implementación de
comportamiento del sistema. Dado que los casos de uso son componentes. RUP describe cómo reutilizar los componentes
desarrollados en base a las necesidades de los actores , el sistema existentes o implementar nuevos componentes con responsabilidades
tenderá a ser más relevante para los usuarios. Cada caso de uso se bien definidas, alcanzando un sistema fácil de mantener e
describe en detalle y esta descripción muestra cómo interactúa el incrementando las posibilidades de reutilización.
sistema, paso a paso, con los actores y qué hace el sistema. Los
requerimientos no funcionales se describen en las Especificaciones
Adicionales.
TESTEAR
INSTALAR
El propósito del proceso de despliegue es producir versiones de Si bien las actividades de instalación se centran fundamentalmente
producto exitosas y entregar el software a sus usuarios finales. en la fase de Transición (ver Fases e Iteraciones), muchas de sus
Incluye las siguientes actividades: actividades necesitan ser incluídas en fases precedentes para
preparar el despliegue al final de la fase de Construcción (ver Fases
Producir versiones externas del software e Iteraciones).
Empaquetar el software
Distribuir el software
Instalar el software MONITOREAR
Ofrecer ayuda y asistencia a los usuarios
En muchos casos también incluye actividades como:
Planificación y conducción de beta tests Las organizaciones exitosas no sólo automatizan sus procesos de
Migración de software o datos existentes negocio, sino que también controlan su ejecución y la ajustan
Aceptación formal dinámicamente en respuesta a los resultados en tiempo real.
En TopGroup trabajamos bajo los procesos de ingeniería de software DESARROLLE SOFTWARE ITERATIVAMENTE
definidos por RUP - Rational Unified Process - a fin de asegurar, a
través de sus mejores prácticas, software de alta calidad ajustados
en tiempo y presupuesto. RUP, que incluye una serie de Dada la complejidad de los sistemas de software actuales, no es
herramientas y la definición de mejores prácticas para el desarrollo posible trabajar de manera secuencial, primero definiendo el
de software, fue adquirida por IBM y avalada como un estándar en problema completo, diseñando la solución completa, luego
el ámbito internacional. construyendo el software y por último testeando el producto, al
final del proceso. Se requiere un enfoque iterativo que permita un
RUP es un Proceso de Ingeniería de Software que ofrece una entendimiento creciente del problema a través de refinamientos
metodología disciplinada para la asignación de tareas y sucesivos haciendo crecer en forma incremental una solución
responsabilidades en una organización de desarrollo de software. efectiva a través de múltiples iteraciones.
Su objetivo es asegurar la producción de software de alta calidad
que logre responder a las necesidades de sus usuarios finales en un RUP sugiere el desarrollo iterativo que aborda los riesgos más altos
cronograma y presupuesto predecibles. en cada paso del ciclo de vida, reduciendo en forma significativa
los riesgos del proyecto. Este enfoque iterativo permite atacar
RUP describe la manera de implementar efectivamente "mejores riesgos a través del progreso frecuente y demostrable, versiones
prácticas" comercialmente probadas para el desarrollo de software. ejecutables que permiten el involucramiento continuo de los
RUP ofrece a cada miembro del equipo las guías, plantillas y usuarios finales. Dado que cada iteración finaliza con una versión
herramientas necesarias para aprovechar al máximo las siguientes ejecutable, el equipo de desarrollo se mantiene enfocado en
mejores prácticas: producir resultados y los controles de estado frecuentes ayudan a
asegurar que el proyecto se mantenga en cronograma.
1. Desarrolle software iterativamente
2. Administre requerimientos
3. Utilice arquitecturas basadas en componentes
4. Modele el software visualmente
5. Verifique la calidad del software
6. Controle los cambios al software
Pag.5
ADMINISTRE REQUERIMIENTOS
DOS DIMENSIONES
Fases
Conceptua Elaboración Construcción Transición
lización
Disciplinas de Proceso
Modelamiento del Negocio
Requerimientos
Análisis y Diseño
Implementación
Test
Instalación
Disciplinas de Soporte
Adm. Configuración y Cambios
Administración del Proyecto
Ambiente modelo iterativo
Iteraciones Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Preliminares #1 #2 #n #n+1 #n+2 #m #m+1
Iteraciones
1. Concepción 2. Elaboración
Identificar los requerimientos Diseñar la arquitectura del sistema
Identificar necesidades del cliente Definir los requerimientos
Identificar casos de uso críticos en los casos de uso
Planificar la comunicación
Documentar los casos de uso
RUP
4. Transición
3. Construcción
Migración al entorno de producción
Desarrollo de componentes del sistema
Capacitación a los usuarios basado en la arquitectura definida
Creación de los manuales y los casos de uso
Tareas de configuración necesaria Testing correspondiente
FASE CONCEPCIÓN
Durante esta fase se establece el caso de negocios del sistema y se Plan de proyecto, mostrando fases e iteraciones
delimita el alcance del proyecto. Para ello se identifican todas las Modelo de negocios, de ser necesario
entidades externas con las cuales interactúa el sistema (actores) y Uno o más prototipos
se define la naturaleza de esta interacción a alto nivel. Esto
involucra la identificación de todos los casos de uso y la Hitos:
descripción de los más significativos. El caso de negocios incluye
el criterio de aceptación, la evaluación de riesgos, una estimación Al final de la fase Concepción se llega al primer hito: Los Objetivos
de los recursos necesarios y un plan de fases mostrando fechas de del Proyecto definidos.
los principales hitos del proyecto. El criterio de evaluación para la fase Concepción incluye:
Como resultado de esta fase se obtiene: El acuerdo de los diferentes "stakeholders" en la definición de
alcance y las estimaciones de costo/cronogramas
Documento de Visión: visión general de los requerimientos Entendimiento de los requerimientos como evidencia de la
principales del proyecto, características clave y principales fidelidad de los casos de uso primarios
restricciones. Credibilidad de las estimaciones de costos/cronogramas,
Modelo de casos de uso inicial: (completo al 10% - 20%) prioridades, riesgos y proceso de desarrollo
Glosario inicial del proyecto El alcance de todo tipo de prototipo de arquitectura que se haya
Caso de negocios inicial, que incluye el contexto de negocios, desarrollado
criterio de aceptación (pronóstico de ganancias, reconocimiento Gastos actuales vs. Gastos planificados
del mercado, entre otros) y pronóstico de ventas
Evaluación de riesgos inicial
Pag.8
FASE ELABORACIÓN
El propósito de esta fase es analizar el ámbito del problema, ¿Es estable la visión del producto?
establecer la base de la arquitectura, desarrollar el plan de ¿Es estable la arquitectura?
proyecto y eliminar los elementos de mayor riesgo del proyecto. ¿El prototipo ejecutable llega a demostrar que los elementos de
Para lograr estos objetivos se debe tener una visión completa del mayor riesgo han sido considerados y efectivamente resueltos?
sistema. Las decisiones de arquitectura deben ser tomadas con un ¿El plan para la fase Construcción es lo suficientemente detallado
entendimiento completo del sistema: su alcance, funcionalidades y preciso? ¿Se sustenta en bases de estimación creíbles?
principales y requerimientos no funcionales como ser ¿Existe acuerdo entre todos los "stakeholders" de que la visión
requerimientos de performance. definida puede ser alcanzada si se ejecuta el plan delineado en el
contexto de la arquitectura actual?
Al finalizar esta fase en forma exitosa, se asegura que la ¿Son aceptables los gastos en recursos reales versus los gastos
arquitectura, requerimientos y planes son lo suficientemente planificados?
estables y que los riesgos han sido mitigados a fin de que sea
posible predecir el costo y cronograma del desarrollo completo. El proyecto puede ser cancelado o re planteado en forma
considerable si no logra pasar este hito.
Durante esta fase se construye un prototipo de la arquitectura
ejecutable en una o más iteraciones dependiendo del alcance,
tamaño, riesgo y lo novedoso del proyecto. Este esfuerzo debería
dar respuesta a los casos de uso crítico planteando en la fase FASE CONSTRUCCIÓN
Concepción que exponen los mayores riesgos técnicos del proyecto.
Como resultado de esta fase se obtiene: Durante esta fase se construyen todos los componentes y
funcionalidades de la aplicación restantes y son integrados al
Modelo de casos de uso: (completo al 80%) - se han identificado producto. Asimismo toda la funcionalidad es probada. La fase
todos los casos de uso y actores y se han desarrollado la mayoría construcción es, fundamentalmente, un proceso de manufactura
de las descripciones de los casos de uso donde el énfasis está puesto en administrar recursos y controlar las
Requerimientos adicionales asociados a especificaciones no operaciones para optimizar costos, cronogramas y calidad. Se vive
funcionales una transición conceptual que va del desarrollo de propiedad
Descripción de la arquitectura de software intelectual durante las dos primeras fases, al desarrollo de
Un prototipo de la arquitectura ejecutable productos implementables durante las dos últimas fases.
La lista de riesgos revisada y el caso de negocios revisado
El plan de desarrollo para el proyecto completo, incluyendo el
project plan que las iteraciones y criterios de evaluación para Como resultado de esta fase se obtiene un producto listo para
cada una de ellas poner en manos de los usuarios finales. Como mínimo consiste de:
Un caso de desarrollo actualizado especificando los procesos a
ser usados El producto de software integrado a las plataformas adecuadas
Un manual del usuario preliminar (opcional) Los manuales de usuario
La descripción de la versión actual
Hitos:
Hitos:
Al final de la fase Elaboración se llega al segundo hito: La
Arquitectura del Proyecto definida. En este punto se examina los Al final de la fase Construcción se llega al tercer hito: El Producto
objetivos y el alcance detallado del proyecto, la elección de con Capacidad Operativa. En este punto se decide si el software,
arquitectura y la solución a los principales riesgos. los sitios y los usuarios están listos para estar operativo sin exponer
al proyecto a un alto riesgo. Esta versión se denomina
El criterio de evaluación para la fase Elaboración incluye la habitualmente "beta".
respuesta a estas preguntas:
Pag.9
El criterio de evaluación para la fase Elaboración incluye la Los objetivos primarios de esta fase incluyen:
respuesta a estas preguntas:
Lograr el "auto-soporte" por parte del usuario
¿Es estable esta versión del software y está lo suficientemente Alcanzar el acuerdo con los "stakeholders" de que la
madura para ser implementada en la comunidad de usuarios? implementación está completa y es consistente con el criterio de
¿Están listos los "stakeholders" para la transición en la comunidad evaluación de la visión
de usuarios? Lograr un producto final tan rápido y efectivo en costo como sea
¿Siguen siendo aceptables los gastos en recursos reales versus los posible.
planificados?
Esta fase puede llegar a ser muy simple o muy compleja,
La transición puede llegar a ser pospuesta a la siguiente versión si dependiendo del tipo de producto.
el proyecto no logra alcanzar este hito.
Hitos:
Se ingresa a esta fase cuando el producto está lo suficientemente ¿Está satisfecho el usuario?
maduro para ser implementado en el entorno del usuario final. ¿Sigue siendo aceptable los gastos en recursos reales versus los
Típicamente requiere que un subconjunto utilizable del sistema planificados?
haya sido completo a un nivel de calidad aceptable y que la
documentación de usuario esté disponible a fin de que la
transición al usuario final de resultados positivos.
ITERACIONES
Esto incluye:
"beta testing" para validar el nuevo sistema versus las Cada fase puede ser dividida, a su vez, en iteraciones. Cada
expectativas de los usuarios iteración es un ciclo completo de desarrollo que da como resultado
Operación en paralelo con el sistema anterior que está una versión (interna o externa) de un producto ejecutable, un
reemplazando subconjunto del producto final bajo desarrollo, que crece
Conversión de las bases de datos operativas incrementalmente de iteración a iteración para convertirse en el
Entrenamiento de usuarios y personal de mantenimiento sistema final.
Derivar el producto a los equipos de marketing, distribución y
ventas Beneficios del enfoque iterativo:
La fase de transición se focaliza en las actividades requeridas para Comparado con el proceso en cascada, el proceso iterativo tiene las
poner el software en manos de los usuarios finales. Típicamente, siguientes ventajas:
esta fase requiere de múltiples iteraciones, versiones beta,
versiones de disponibilidad general y versiones con corrección de Se mitigan los riesgos más temprano
bugs y mejoras funcionales. Se ocupa gran parte del tiempo en El cambio es más administrable
desarrollar la documentación orientada al usuario, educadores y Alto nivel de reutilización
usuarios de soporte en el uso inicial del producto y en reaccionar a El equipo del proyecto puede aprender a lo largo del mismo
sus comentarios y sugerencias. En este punto del ciclo de vida, la Mejor calidad general
respuesta del usuario debería estar confinada a los ajustes del
producto, configuración, instalación y temas de usabilidad.
Pag.10
Calidad Detallistas
Se comprometen fuertemente con los proyectos
Alcance Customer Son capaces de convivir con la ambigüedad, retrocesos y
Satisfaction desilusiones
Reconocen los objetivos de la organización
Actúan orientados a los resultados
Son concientes de los costos
Políticamente inteligentes -saben cómo influir en otros
Poseen buenas habilidades de negociación
Son competentes
Pag.11
Tiempo RRHH
Alcance Comunicaciones
Integración
Costos Riesgos
Calidad Adquisiciones
PM es integración
Iniciación Planeamiento
Contro Ejecución
Proceso de iniciación Tomando las tareas del WBS y teniendo en cuenta dependencias,
recursos y restricciones surge el cronograma, de él la duración total
La metodología comienza con una etapa conceptual donde se del proyecto medida en su camino crítico. Para realizar el
analiza la factibilidad del proyecto a encarar. Se realizan estudios presupuesto del proyecto se suman todos los costos de las tareas
económicos, de riesgos, de oportunidades y estratégicos. Sus del WBS obteniendo un presupuesto denominado por el PMI como
resultados sirven como elementos importantes para decidir definitivo (por su grado de detalle). La conjunción de los costos por
proseguir o no con el proyecto. tarea y el momento de efectivizarse la erogación (obtenido del
cronograma), permite conocer el flujo de caja necesario para el
Una decisión positiva en el proceso de selección implica proyecto.
comprometer recursos humanos y materiales para el planeamiento
del proyecto. La autorización para construir el plan da lugar al Una vez logrado el conocimiento del alcance, del tiempo y del
Project Charter que define: costo del proyecto, estamos en condiciones de realizar el proceso
de gerenciamiento de riesgos, el cual comienza con la
La necesidad de negocio que dio origen al proyecto identificación, sigue con la cuantificación y priorización y culmina
La descripción del producto en esta etapa del proyecto con el planeamiento de las posibles
El responsable del proyecto respuestas a dichos riesgos.
Su autoridad y responsabilidad para el uso de los recursos
organizaciones en el proyecto, etc. Es excluyente la firma de un documento de aceptación del plan
para continuar con el proyecto.
La emisión del mismo es normalmente realizada por una persona
externa al proyecto con autoridad organizacional reconocida. La metodología propone una serie de documentos que
complementan los ya enunciados y que conforman el plan total del
Asimismo se confecciona el "enunciado del alcance" también proyecto:
conocido como Documento de Requerimientos del Proyecto (DRP)
que presenta información tal como nivel de riesgo, criterio de éxito Plan de calidad: define cómo se efectuará el control y la mejora
y/o aceptación, medidas de costo, tiempo, alcance y calidad, continua tanto del proyecto como del producto o servicio creado
niveles de comunicación, etc. por el mismo. Se definen una serie de auditorías y revisiones
pautadas a lo largo del ciclo de vida del proyecto.
Esta información que sirve de base para comenzar a planear el
proyecto no permanece inalterable sino que es enriquecida y Plan de comunicaciones: fundamentalmente establece Qué
refinada a medida que se avanza en dicho planeamiento. comunicar, a quién, cómo y cuándo.
Plan - Estándar
Análisis
Plan - Real = Variación control de avance
El segundo es el de control de avance mediante la aplicación de un Se lleva a cabo el gerenciamiento de riesgos implementando las
proceso que dado los estandares establecidos y los resultados estrategias establecidas para hacer frente a los riesgos que se
obtenidos en la ejecución del proyecto (performance), analiza los materializan, identificando nuevos riesgos y revaluando
desvíos y toma las medidas correctivas necesarias. continuamente los riesgos vigentes.
Proceso de ejecución
La que atiende a la aceptación del producto o servicio por parte
En esta etapa se comienza con el "kickoff" o primera reunión del cliente (y su grado de satisfacción con lo realizado) que
conjunta del equipo que ejecutará el proyecto. Aquí se terminan de posibilita la facturación del trabajo y el cierre administrativo del
definir los roles y responsabilidades de sus miembros con el nivel proyecto.
de información necesario para la ejecución del proyecto. La que atiende a la organización ejecutora del proyecto en lo que
También se comienza a realizar, dentro del Plan de Recursos hace a la evaluación del proyecto realizado, a los beneficios que
Humanos, el desarrollo del equipo. En definitiva todos los le dejó la ejecución del mismo:
componentes del plan de gerenciamiento del proyecto son llevados a
Equipo experimentado
cabo en forma simultánea (Calidad, Comunicaciones, Riesgos, etc.)
Gente con nuevas aptitudes adquiridas durante la ejecución del
mismo
Lecciones aprendidas basadas en el análisis de la
Proceso de control documentación actualizada del proyecto
Se trata de una solución integrada diseñada para organizaciones Administración de Compras: herramientas que soportan el
basadas en servicios que permiten a su personal ser más proceso de compra de recursos externos y bienes relacionados
productivo y rentable incrementando su eficiencia a través de una con el proyecto
mayor utilización de su tiempo, la mejora en la planificación y la
gestión del conocimiento integrados. Administración de las Comunicaciones: facilita la distribución de
información (discusiones, e-mail y chat) y permite a los
Gartner Dataquest se refiere a este tipo de soluciones con el empleados y asociados de negocio colaborar, administrar,
nombre de Project Portfolio Management - PPM - a fin de mantener y compartir conocimiento obtenido en proyectos
diferenciar el software de organización de proyectos (generalmente anteriores y el actual.
orientados a administrar pocos proyectos) de las aplicaciones
orientadas a organizaciones que literalmente administran un Reportes y pronósticos (forecasting): almacenar, consultar y
portfolio de múltiples proyectos, los cuales pueden abarcar pronosticar el progreso del proyecto, crear programas de trabajo
diferentes geografías y clientes. Aberdeen Group, por su parte, lo actualizados y predecir el ingreso potencial.
denomina soluciones de Professional Service Automation -PSA-.
Como parte de su alcance se destaca: Administración de Riesgos: monitorea y analiza vistas macro de
múltiples proyectos dentro de la organización para identificar y
Administración de Múltiples Empresas: Este módulo provee la cuantificar riesgos y valorizar costos para seleccionar la
posibilidad de administrar en forma centralizada información de combinación más adecuada de proyectos.
múltiples empresas. En caso de ser aplicado a una única
empresa esta división puede adaptarse a áreas, departamentos o Administración de la Integración: integración de información
sucursales de dicha compañía. acerca de la planificación del proyecto, ejecución y cambios a los
entregables a través de metodología de planificación de proyectos
Administración del "Pipeline": para oportunidades externas o y un sistema de autorización de cambios.
prospectos internos. Administración integral de contactos,
calificación y seguimiento de oportunidades, del ciclo de ventas y Gestión de Incidentes y Requerimientos: Constituye una flexible
del forecast. solución para la administración de consultas, reclamos, quejas
incidentes y requerimientos a través de un modelo de workflow
Administración de Alcance: definiciones del proyecto, tiempos, configurable. Cuenta con servicios de atención online via
tamaño y entregables. Puede incluir el seguimiento de propuestas herramientas de comunicación e integración (discusiones, e-mail,
para monitorear los porcentajes de éxito y seguir las diferencias chat)
entre ofertas anteriores y los costos actuales del proyecto.
Administrador de Roles y Perfiles: Cada usuario posee un perfil
Administración de tiempos: tiempos de los entregables, fechas de seguridad que restringe su actividad dentro del portal. Los
límite del proyecto, tareas, asignaciones, alcance y objetivos. perfiles de usuarios tendrán restricciones a nivel de empresa y
proyecto, y en cada caso permisos de lectura o modificación
Administración de recursos: asignación de recursos disponibles,
carga y categorización de los recursos (directa o vía integración
con terceras- partes)
Pag.15
BENEFICIOS
Fuentes