You are on page 1of 5

EL ROL DEL ADMI

ISTRADOR
DE
TRO DEL DESARROLLO DE
SOFTWARE
Edgar I. Morales Ponce
Instituto Tecnológico de Durango
champixdeluxe@hotmail.com

RESUME
un rol en especifico para poder hacer esta actividad..
En este trabajo se hace un análisis de la importancia Debemos tener en cuenta que para llevar a cabo con éxito
del administrador dentro del desarrollo de software. el desarrollo del sistema, cada una de las personas debe
El administrador de proyecto es la persona que conocer perfectamente sus responsabilidades y
administra y controla los recursos asignados a un actividades que le son asignadas. [1]
proyecto, con el propósito de que se cumplan
correctamente los planes definidos.
o es dueño de 2.1 Administrador de Proyectos
nada, es sólo un administrador temporal de los
recursos. El administrador, se encarga, como su nombre lo dice, de
administrar, y controlar los recursos disponibles para el
proyecto (dinero, personas, etc.), no es dueño de nada, así
1. INTRODUCCIÓN que debe dejar los recursos en la misma o mejor
condición. [1]Se menciona un ejemplo claro de su
En los últimos veinte años, los proyectos han tomado un función, debe enfocarse a todo el bosque, sin embargo
papel central en el trabajo de los jóvenes y puede debe cuidar a cada árbol, ya que cada árbol contribuye al
considerarse hoy en día como una herramienta para el bosque, este ejemplo se refiere a que debe ayudar a cada
cambio social, un eje clave para el desarrollo comunitario integrante a cumplir sus objetivos particulares, y al final
y también como herramienta para construir y/o fortalecer cumplir con el objetivo general, para lograr esto debe
a la sociedad civil. Como consecuencia de lo anterior la coordinar todas las actividades y los recursos.
administración de proyectos se ha convertido en una
habilidad necesaria para las organizaciones de jóvenes y 2.2 Analista
un tópico recurrente para el entrenamiento para el trabajo
con jóvenes. La función de un analista, es descomponer un problema
en subproblemas de menor complejidad, para así la suma
La administración de proyectos requiere de una amplia de las soluciones de los subproblemas de una solución al
variedad de habilidades que van desde el análisis político problema. Una causa del fracaso de un sistema, es contar
y social a habilidades comunicativas, de habilidades de con un análisis pobre, porque los desarrolladores crean el
administración de personas y recursos, habilidades para proyecto que no cumple con los requisitos del cliente.
recabar fondos y técnicas de evaluación. Como el cliente es la persona que conoce a profundidad
el problema, el analista tendrá diversas reuniones con el
El administrador, se encarga, como su nombre lo dice, de cliente para determinar los objetivos del cliente, así como
administrar, y controlar los recursos disponibles para el también, en su caso, sugerirle al cliente lo que le
proyecto (dinero, personas, etc.), no es dueño de nada, así conviene; para esto tiene que estar preparado con un
que debe dejar los recursos en la misma o mejor documento con preguntas hacia el cliente; y debido al
condición. Debe ayudar a cada integrante a cumplir sus contacto estrecho con el cliente, debe tener capacidad de
objetivos particulares, y al final cumplir con el objetivo comunicación. El analista transforma los requisitos de
general, para lograr esto debe coordinar todas las usuario en requisitos de software para proporcionarlos a
actividades y los recursos. [1] los demás miembros, dichos requisitos de usuario tendrá
que presentarlos al cliente, para tener su opinión y
modificarlos, y volvérselos a mostrar, hasta que sean del
agrado del cliente. [1]
2. ROLES DE DESARROLLO DE
SOFTWARE 2.3 Diseñador

El desarrollo de software, es una actividad que necesita El diseñador, se encarga de transformar los requisitos de
de diferentes capacidades para poderlo llevar a cabo, software en un modelo de implementación, que tiene
todas las capacidades es difícil encontrarlas en una sola como objetivo crear la estructura en niveles abstractos,
persona, por lo que se necesita un grupo de personas con en los cuales el cambio de un nivel a otro, debe respetar
los requerimientos del cliente. [1]Su manera de lograr su El proceso de validación y verificación, se refiere a que
objetivo, es descomponiendo en subsistemas que deben el sistema debe estar libre de fallas, y que cumple con las
estar relacionados, así como definir las normas que expectativas del usuario. Se encarga de que si existe un
tendrá dicho sistema (como acceso a datos), relacionarse error, en el desarrollo del software, inmediatamente
con el programador, de tal manera que escojan que informar al grupo de desarrollo acerca de éste. Se debe
lenguaje de programación a utilizar. asegurar que se planifiquen todos los testeos requeridos
para el sistema, también verifica y evalúa los demás
2.4 Programador roles, buscando errores o características faltantes. [1]

Los programadores tienen una función muy importante, 2.9 Documentador


que es la de transformar el modelo del sistema, en código
fuente ejecutable. Es necesario que este actualizado de la La documentación, es para conocer la historia del
industria de software, para saber quien le puede dar proyecto, esta no se escribe al final, sino que se va
soporte y como beneficiará al proyecto. Un objetivo es el adquiriendo conforme pasan las etapas. Existen dos tipos
de tener el mínimo de errores en el proceso, para lograr de documentación, una, es la documentación de procesos
esto se deben tener las herramientas necesarias, por eso de elaboración, y otra es la del producto, que contiene el
es importante conocer el ambiente donde se desarrollará desarrollo del producto. El documentador debe contar
el software.[1] En este rol se pueden requerir dos o más con un repositorio. Además debe construir una manual de
programadores. Cada programador tiene su forma de uso del sistema para el usuario final. [1] El documentador
hacer el programa, pero si trabajan en grupo deben sirve como comunicador de los diferentes miembros del
hacerlo bajo el mismo estándar. El diseñador puede equipo. Sobra mencionar que tiene que ser una persona
ayudar a determinar cual lenguaje de programación es el muy ordenada.
apropiado para el proyecto, aunque se relaciona con
todos, excepto con los clientes, ya que los clientes no 2.10 Ingeniero en Manutención
pueden decirle que modificar del programa.
El ingeniero en manutención, se encarga de mantener el
2.5 Téster software, modernizándolo, haciendo modificaciones,
existen actividades de manutención preventiva o
En el desarrollo del proyecto, es posible que se presenten correctiva. Lo que hace el ingeniero es diagnosticar y
errores humanos, es labor del téster detectar y eliminar corregir los errores, luego adaptar al sistema los cambios,
dichos errores. Utilizan dos métodos: caja blanca, hacer para así satisfacer las recomendaciones del sistema. [1]
lo posible por que todo marche bien, y caja negra,
encontrar errores. [1] Debe participar en la revisión de
requisitos del sistema así como estar en contacto con los 3. MODELOS DE CICLOS DE VIDA DE
demás miembros para coordinar que todo esté bien. SOFTWARE
2.6 Asegurador de Calidad 3.1 Ciclo de Vida del Software

Para la creación de software se requiere reducir costo y  El periodo de tiempo que comienza cuando se
tiempo, obteniendo un producto con calidad reducida, es concibe un software y concluye cuando el producto
por eso que la calidad se toma como una meta final. El ya no está disponible para su uso.
asegurador de calidad se encarga de revisar y asegurarse  El ciclo de vida del software típicamente incluye
que el trabajo de los demás roles cumpla con los una fase de requisitos, una fase de diseño, una fase
requisitos. Existen reuniones llamadas RTF que se de pruebas, una fase de instalación y aceptación,
encarga de verificar y modificar el proyecto si es una fase de operación y mantenimiento, y, con
necesario hasta que no tenga errores. [1] ocasiones, una fase de retirada.
 Un modelo de ciclo de vida es una abstracción
2.7 Administración de Configuración particular que representa un ciclo de vida de
software.
La administración de configuración por lo general es  Un modelo de ciclo de vida se denomina con
enfocada al hardware, pero al aplicarla en software frecuencia un ciclo de vida de desarrollo software
determina el buen funcionamiento del sistema. Existe (SDLC, siglas inglesas). [2]
para apoyar el desarrollo del software, así como su ciclo
de vida y su evolución. Su función principal es identificar 3.2 Modelo en Cascada
las características de los elementos del sistema, y
controlar que los cambios que se implementen sean El primer modelo de proceso de desarrollo de software
adecuadamente. que se publicó, se derivó de procesos de ingeniería de
[1] sistemas más generales. Este modelo se muestra en la
figura 1. Debido a la cascada de una frase a otra, dicho
2.8 Ingeniero de Validación y Verificación modelo se conoce como modelo en cascada o como ciclo
de vida del software. Las principales etapas de este
modelo se transforman en actividades fundamentales de tecnologías, cambian los diseños y la implementación.
desarrollo. [3] Esto significa que el proceso del software no es un
proceso único; más bien, las actividades del proceso se
1. Análisis y definición de requerimientos. Los repiten regularmente conforme el sistema se rehace en
servicios, restricciones y metas del sistema se definen respuesta a peticiones de cambios. [4]
a partir de las consultas con los usuarios. Entonces,
se definen en detalle y sirven como una Dos de los procesos que han sido diseñados
especificación del sistema. explícitamente para apoyar la iteración de procesos son:
[3] Entrega incremental y Desarrollo en Espiral. [4]

2. Diseño del sistema y del software. El proceso de


diseño del sistema divide los requerimientos en 3.3.1Entrega Incremental
sistemas hardware o software. Establece una El modelo de desarrollo en cascada requiere que los
arquitectura completa del sistema. El diseño del clientes de un sistema cumplan un conjunto de
software identifica y describe las abstracciones requerimientos antes de que se inicie el diseño y que el
fundamentales del sistema software y sus relaciones. diseñador cumpla estrategias particulares de diseño
[3] antes de la implementación. Los cambios de
requerimientos implican rehacer el trabajo de captura de
3. Implementación y prueba de unidades. Durante esta éstos, de diseño e implementación. Sin embargo, la
etapa, el diseño del software se lleva a cabo como un separación en el diseño y la implementación deben dar
conjunto o unidades de programas. La prueba de lugar a sistemas bien documentados susceptibles de
unidades implica verificar que cada una cumpla su cambios. En contraste, un enfoque de desarrollo
especificación. [3] evolutivo permite que los requerimientos y las
decisiones de diseño se retrasen, pero también origina
un software que puede estar débilmente estructurado y
4. Integración y prueba del sistema. Los programas o
difícil de comprender y mantener. [3]
las unidades individuales de programas se integran y
prueban como un sistema completo para asegurar que
La entrega incremental (ver figura 2) es un enfoque
se cumplan los requerimientos del software. Después
intermedio que combina las ventajas de estos modelos.
de las pruebas, el sistema software se entrega al
En un proceso de desarrollo incremental, los clientes
cliente. [3]
identifican, a grandes rasgos, los servicios que
proporcionará el sistema. Identifican qué servicios son
5. Funcionamiento y mantenimiento. Por lo general más importantes y cuáles menos. [2]
(aunque no necesariamente), ésta es la fase más larga
del ciclo de vida. El sistema se instala y se pone en
funcionamiento práctico. El mantenimiento implica
corregir errores no descubiertos en las etapas
anteriores del ciclo de vida, mejorar la
implementación de las unidades del sistema y resaltar
los servicios del sistema una vez que se descubren
nuevos requerimientos. [3]
Figura 2. Modelo Incremental

Entonces, se derivan varios incrementos en donde cada


uno proporciona un subconjunto de la funcionalidad del
sistema. La asignación de servicios a los incrementos
depende de la prioridad del servicio con los servicios de
prioridad más alta entregados primero. [3]

Una vez que un incremento se completa y entrega, los


clientes pueden ponerlo en servicio. [3]

3.3.2 Desarrollo en Espiral

Figura 1. Modelo en Cascada El modelo en espiral del proceso del software (Figura 3)
fue originalmente propuesto por Boehm (Boehm, 1988).
3.3 Iteración de Procesos Más que representar el proceso del software como una
secuencia de actividades con retrospectiva de una
Los cambios son inevitables en todos los proyectos de actividad a otra, se representa como una espiral. Cada
software grandes. Los requerimientos del sistema ciclo en la espiral representa una fase del proceso del
cambian cuando el negocio que procura el sistema software. Así, el ciclo más interno podría referirse a la
responde a las presiones externas. Las prioridades de viabilidad del sistema. el siguiente ciclo a la definición
gestión también cambian. Cuando se dispone de nuevas
de requerimientos, el siguiente ciclo al diseño del versiones sucesivas de un producto. Sin embargo,
sistema, y así sucesivamente. [3] mientras que la aproximación incremental presupone que
el conjunto completo de requerimientos es conocido al
Cada ciclo de la espiral se divide en cuatro sectores: comenzar, el modelo evolutivo asume que los
requerimientos no son completamente conocidos al inicio
1. Definición de objetivos. Para esta fase del proyecto del proyecto. [3]
se definen los objetivos específicos. Se identifican las
restricciones del proceso y el producto, y se traza un El desarrollo evolutivo es 100% compatible con el
plan detallado de gestión. Se identifican los riesgos modelo cascada. El desarrollo evolutivo no demanda una
del proyecto. Dependiendo de estos riesgos, se forma específica de observar el desarrollo de algún
planean estrategias alternativas. [3] incremento. Así, el modelo cascada puede ser usado para
administrar cada esfuerzo de desarrollo. Obviamente, el
2. Evaluación y reducción de riesgos. Se lleva a cabo un desarrollo incremental y evolutivo puede ser combinado
análisis detallado para cada uno de los riesgos del también. [3]
proyecto identificados. Se definen los pasos para
reducir dichos riesgo. Por ejemplo, si existe el riesgo
de tener requerimientos inapropiados. se puede
desarrollar un prototipo del sistema. [3]

3. Desarrollo y validación. Después de la evaluación de


riesgos. se elige un modelo para el desarrollo del
sistema. Por ejemplo. si los riesgos en la interfaz de
usuario son dominantes. un modelo de desarrollo
apropiado podría ser la construcción de prototipos
evolutivos. Si los riesgos de seguridad son la
principal consideración, un desarrollo basado en
transformaciones formales podría ser el más
apropiado, y así sucesivamente. El modelo en Figura 4. Modelo de Desarrollo Evolutivo
cascada puede ser el más apropiado para el desarrollo

4. GESTIÓN DEL PROYECTO

4.1 Gestión

Gestión son todas las actividades y tareas ejecutadas por


una o más personas con el propósito de planificar y
controlar las actividades de otros para alcanzar un
objetivo o completar una actividad que no puede ser
realizada por otros actuando independientemente.[5]

4.2 Actividades de Gestión

Es imposible redactar una descripción estándar del


trabajo de un administrador de software. El trabajo
difiere enormemente dependiendo de la organización y
del producto de software a desarrollar. Sin embargo, en
si el mayor riesgo identificado es la integración de
algún momento, muchos administradores son
los subsistemas. [3]
responsables de algunas o todas de las siguientes
actividades:
4. Planificación. El proyecto se revisa y se toma la
decisión de si se debe continuar con un ciclo
posterior de la espiral. Si se decide continuar. se
 Redacción de la propuesta.
desarrollan los planes para la siguiente fase del
 Planeación y calendarización del proyecto.
proyecto. [3]
 Costeo del proyecto.
Figura 3. Modelo en Espiral de Boehm para el proceso del  Supervisión y revisión del proyecto.
Software (IEEE, 1988)  Selección y evaluación de personal.
 Redacción y presentación de informes. [3]
3.3.3 Modelo de Desarrollo Evolutivo

Como el modelo de desarrollo incremental, el modelo de


desarrollo evolutivo (algunas veces denominado como
prototipado evolutivo) construye una serie de grandes
4.3 Planificación del Proyecto de Software
REFERENCIAS
La gestión de un proyecto de software comienza con un
conjunto de actividades que globalmente se denominan [1] D. Fuller, Apuntes de Taller de Ingenieria de Software,
planificación del proyecto. Antes de que el proyecto 2003.
comience, el gestor y el equipo de software deben [2] “15-el-desarrollo-del-software.pdf.”
realizar una estimación del trabajo a realizar, de recursos [3] Somerville Ian, Ingeniería del Software, Madrid: Pearson
necesarios y del tiempo que transcurrirá desde el Educación, 2005.
comienzo hasta el final de su realización.[6] [4] Rodríguez Corrales, Jiménez López, Longorio Vélez,
Orduña Cabrera, Reyes Avila, López Morales, Ochoa
Estrella, y Sánchez Islava, “Aplicación del método
4.4 Análisis y Gestión de Riesgos evolutivo incremental en el desarrollo de un simulador
didáctico de trayectorias planas,” 2009.
Cuando se pone mucho en juego en un proyecto de [5] C.M. Varas, “Gestión de Proyectos de Desarrollo de
software el sentido común nos aconseja realizar un Software,” 2000.
análisis de riesgo. Y sin embargo, la mayoría de los jefes [6] R.S. Pressman, Ingeniería del Software: Un Enfoque
de proyecto lo hacen informal y superficialmente, si es Práctico, España: McGraw Hill, 2002.
que lo hacen. El tiempo invertido identificando,
analizando y gestionando el riesgo merece la pena por
muchas razones: menos trastornos durante el proyecto,
una mayor habilidad de seguir y controlar el proyecto y
la confianza que da planificar los problemas antes de que
ocurran. El análisis de riesgos puede absorber una
cantidad significativa del esfuerzo de planificación del
proyecto.[6]

5. RESULTADOS

 La administración procura siempre el máximo


aprovechamiento de los recursos, mediante su
utilización eficiente.

 Administrar el grupo de trabajo, implica


organizar y tratar los individuos en el trabajo.

 La causa principal de los problemas que se


presentan al momento de realizar un proyecto
de programación es la falta de planeación.

6. CONCLUSIONES

La administración de proyectos implica una gran


importancia, por lo que es usada en una gran diversidad
de campos; desde proyectos espaciales, en bancos, en
organizaciones, pero no solo es aplicado a estos campos,
también es usado en el desarrollo de software.

El administrador es el responsable de llevar al éxito el


proyecto, es decir, que el sistema cumpla con los
requerimientos especificados y las necesidades o
expectativas del cliente o usuario. Para lograr esto tiene
que estar involucrado en todas las etapas (diseño,
programación, pruebas, etc.) del modelo de ciclo de vida
que elija, debe verificar que cada etapa se cumpla
correctamente para poder pasar a la siguiente, y no tener
que empezar desde el principio (requisitos del cliente), de
esta manera el administrador puede asegurar al cliente
que el sistema tiene calidad.

You might also like