Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Problemas en La Planificacion de Un Proyecto de Software
Problemas en La Planificacion de Un Proyecto de Software
En el principio el costo del software constituía un pequeño porcentaje del costo total de
los sistemas basados en computadoras. Hoy en día el software es el elemento más caro
de la mayoría de los sistemas informáticos. Es una pequeña planeación sobre qué es lo
que va a ser mi proyecto. Una de las actividades cruciales del proceso de gestión del
proyecto del software es la planificación.
Errores
Errores clásicos en un proyecto de software
Mal análisis en los requerimientos.
Una mala planeación.
No tener una negociación (documento, contrato) con el cliente.
No hacer un análisis costo beneficio.
Desconocer el ambiente de trabajo de los usuarios.
Desconocer los usuarios que trabajan con el sistema.
Mala elección de recursos (hardware, software, humanos).
Herramientas para la planificación y Gestión de productos Software.
Para poder completar con éxito un proyecto de software, se necesita tener un control
riguroso sobre el tiempo, las personas o los imprevistos que puedan surgir, como por
ejemplo cambios en el software. Para ayudarnos en la planificación y gestión de
proyectos, Microsoft nos proporciona dos herramientas básicas: Microsoft Project y
Microsoft Solutions Framework.
(@LasTenga, 2010)
Es por ello que los roles dentro de un equipo de programación deben ser lo más dedicados
posible. Obviamente, dependiendo del tamaño de la aplicación, del tiempo y de los recursos
disponibles, el equipo podrá ser de un tamaño u otro. Pero hay una serie de puestos que son
imprescindibles para que todo funcione adecuadamente.
Estos puestos tienen unas responsabilidades bien definidas. Los puestos que mínimamente se
deben cumplir son los siguientes:
JEFE DE PROYECTO
LÍDER DE EQUIPO
Es el programador líder, debe ser alguien senior, con capacidad organizativa. Se encarga de
redactar y mantener actualizados los requerimientos. También se encarga de escribir
las especificaciones técnicas y crear las tareas, asignándolas a los desarrolladores de su equipo.
Sus tareas de programación deben limitarse única y exclusivamente a la arquitectura, marcando
la línea a seguir por el resto de programadores. Aparte de esto, tiene que revisar el trabajo de
los programadores a su cargo para asegurar la calidad del código escrito.
DESARROLLADOR
Es un programador, que se encarga de ejecutar el trabajo asignado por el líder del equipo. En
un proyecto de software, normalmente el 20% del código constituye arquitectura y el 80%
restante consiste en utilizar esa arquitectura para completar los requerimientos. Los
desarrolladores son los encargados de completar ese 80%.
DISEÑADOR GRÁFICO Y UX
Este rol consiste en, a nivel de UX, realizar los flujos de trabajo dentro de una aplicación a nivel
de mockups, para determinar posteriormente, los diseños que habrá que realizar y como se va
a comportar la aplicación. Posteriormente, es el encargado de realizar el diseño gráfico de las
pantallas que compone la aplicación, atendiendo a las reglas de UX que determinen la posición
de los elementos, los esquemas de colores, tipografías, etc.
LÍDER DE CALIDAD
Debe ser alguien con conocimientos de programación y análisis, que sea capaz, utilizando los
requerimientos, de desarrollar una suite de tests que verifiquen que el software cumple con los
requerimientos. El líder de calidad es el último responsable de que las características funcionan
tal y como se han especificado en los requerimientos.
INGENIERO EN CALIDAD
LÍDER DE DOCUMENTACIÓN
Alguien con conocimientos técnicos, capaz de entender los requerimientos y, a partir de ellos,
generar la documentación necesaria, se encarga de organizar el contenido a escribir y marcar la
línea a seguir en cuanto a documentación.
DOCUMENTADOR TÉCNICO
También debe tener un trasfondo técnico, para poder escribir contenido que tenga significado
y se utilice el vocabulario adecuado. Su objetivo es completar la documentación sobre todas las
características del producto.
(León, 2017)
Las nuevas versiones de los sistemas operativos salen cada pocos años, por ejemplo, hace unos
veinte años estábamos trabajando con MS-DOS, y ahora prácticamente nadie lo recuerda.
Hoy en día, cualquier software nuevo, es casi seguro que será construido con una estructura de
aplicaciones empresariales o frameworks como Java de Sun Microsystems 2 Enterprise Edition
(J2EE) o Microsoft NET. Estos frameworks en los que se basan gran número de aplicaciones, van
evolucionando, proporcionando nuevas características o modificando las existentes.
Resumiendo, las tecnologías de desarrollo de software cambian más rápido que otras
tecnologías, como pueden ser las de la construcción.
Cómo factor agravante, cada año aparecen nuevas tecnologías en el mercado, que, aunque
pueden tener funcionalidades interesantes, requieren aprendizaje.
Esto implica que parte de los conocimientos y la experiencia adquirida con una tecnología
particular pierda valor, y que los desarrolladores estén aprendiendo nuevas tecnologías a la vez
que está desarrollando con ellas.
(Herrera, 2010)