miércoles, 28 de junio de 2017

Administración de requerimientos de software

Durante el desarrollo de un proyecto de software se toman en cuenta unos requerimientos iniciales los cuales son la base de trabajo. El problema sucede al considerar estos requerimientos como cambiantes. Esto sucede muy a menudo en la vida laboral, es muy común que los clientes tengan una opinión cambiante en cuanto a cada requerimiento del programa. Para ello se idearon una serie de herramientas de administración de cambios de requerimiento que se verán a continuación:
¿Qué es el proceso de administración de requerimiento?
Cualquier organización que desee administrar adecuadamente los cambios al software, se debe asegurar de que los cambios que se propongan se evalúen cuidadosamente, que las personas indicadas tomen decisiones sobre esos cambios, que los cambios se comuniquen oportunamente a todos los afectados, y que el proyecto incorpore los cambios de una forma disciplinada. Para conseguir esto es necesario contar con un proceso de solicitud de cambios. La administración de requisitos es efectiva para mejorar los flujos de trabajo a través del ciclo de vida del proyecto, desde el diseño de software hasta la estimación de costo y aun creando documentación del usuario.
El proceso de solicitud de cambios provee procedimientos formales para: registrar solicitudes de cambio; analizar la información del por qué es requerido el cambio, y el impacto que tendrá; y autorizar, rechazar o modificar la solicitud de cambio.
¿Qué es la trazabilidad?
Se refiere a la capacidad de poder seguir un flujo de requerimientos. Dicho en otras palabras, si hay requisitos relacionados, debería ser posible rastrear uno a partir del otro sin mayor problema. Los requisitos deben ser trazables, es decir, “rastreables”. Se podría decir que un requisito es trazable si se pueden identificar todas las partes del producto existente relacionadas con ese requisito. Todos los requisitos deberían ser trazables para mantener consistencia entre los distintos documentos de un proyecto.
¿Cómo manejar el cambio?
Las solicitudes de cambio recibidas deben ser analizadas para determinar el impacto del cambio respecto a los componentes que afecta, presupuesto y calendario. Son categorizados y priorizados, en este caso las emergencias pueden manejarse como situaciones excepcionales para atenderse y posteriormente estabilizar los componentes afectados. Una vez autorizados se debe revisar que los cambios han sido realizados e implementados adecuadamente.
Herramientas famosas:
IBM Rational ClearQuest
Es una herramienta con la que podemos crear, actualizar, administrar y dar seguimiento a solicitudes de cambio de acuerdo a las necesidades de nuestra organización. 
En ClearQuest, toda solicitud de cambio debe tener un ciclo de vida definido, que describe el flujo posible de acciones y estados que puede seguir una solicitud.
Pros
•La versatilidad de ClearQuest permite utilizarla no sólo para administrar cambios, sino para resolver otro tipo de workflows.
•Tanto el cliente como el servidor de ClearQuest, están disponibles en diversos sabores de Windows, Unix y Linux. El repositorio de datos puede montarse en DB2, Oracle, SQL Server, SQL Anywhere, e incluso Access.
•La funcionalidad de auditorias nos permite saber qué campos de la forma se cambiaron, quién los cambió, cuándo y, en qué acción y estado.
•ClearQuest cuenta con funciones avanzadas de seguridad como soporte a firma electrónica para autenticación, y acceso a LDAP a través de SSL.
Contras
•La creación de reportes personalizados puede consumir tiempo, o parecer compleja si no se está familiarizado con SoDA o Crystal Reports.
ClearQuest es una solución muy poderosa y flexible. Sus capacidades pueden satisfacer las necesidades de incuso, las organizaciones más exigentes y complejas.
Microsoft Team Foundation Server (TFS)
Es una plataforma de colaboración, que permite administrar y dar seguimiento al avance y al estado del trabajo de los proyectos de software, en base a una serie de servicios Web y repositorios integrados. Por ello, su funcionalidad no se limita a la administración de cambios, sino que también incluye otras funciones como control de código, portales de proyecto, generación de builds, y guías para metodologías de desarrollo y modelos de mejora de procesos.
Pros
•Team Foundation Server no se limita a la administración de cambios, sino que provee una plataforma completa para administrar el ciclo de vida de software. Esto se traduce en ahorro de dinero y esfuerzo, ya que evitamos la necesidad de integrar varios productos.
•Los elementos de trabajo de TFS también se pueden acceder desde Excel o Project.
Contras
•TFS sólo funciona sobre plataforma Windows.
•En algunas evaluaciones y comparativos que encontramos, se maneja que una de las limitaciones de TFS es su escalabilidad, ya que difícilmente soporta más de 500 usuarios concurrentes. Sin embargo, sabemos que para el grueso de las organizaciones en América Latina, esto no es un factor importante, ya que en dicha región, el grueso de las organizaciones de software tienen menos de 50 desarrolladores.
Bibliografía:

Sanchez, E. (2014). Consultado en https://sg.com.mx/content/view/189

No hay comentarios: