Este documento presenta una introducción a la planificación de proyectos de software. Define la planificación como fundamental para establecer las tareas, recursos y cronogramas requeridos. Explica que la estimación de costos, recursos humanos, hardware, software y herramientas es clave. También describe la estructura general de un equipo de proyecto de software, incluyendo roles como jefe de proyecto, líder de equipo, desarrolladores, diseñador gráfico y líder de calidad.
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
SEDE BARCELONA
INGENIERÍA DE SISTEMAS
SISTEMAS II
Proyecto de Sotfware
Autor: Ramón Rodríguez
C.I: 5.880.348
Barcelona, Febrero 2018
Profesor: Ing. Amelia Vasquez
2. CONTENIDO
Definición de planificación de proyecto de software
• Estimación de recursos, costos y de agendas para el desarrollo de software.
• Objetivo de la planificación.
• Alcance del software (restricciones, limites)
• Recursos (humanos, hardware, software y herramientas)
• Estructuras de equipos orientadas a producto (humano, software, hardware, estructura).
• Estructura general del equipo para el proyecto parte humana.
• Equipos de representantes funcionales. Equipo técnico de desarrollo, soporte.
• Esquema del plan del proyecto de software
3. Definición de Planificación de Proyecto de Software
La planificación es fundamental en el proceso de desarrollo de un producto de
software (y en cualquier otro). En el mismo se establece, entre otras cosas, qué tarea y
cuando se van a realizar y los recurso que utilizarán la mismas. En base el plan de trabajo la
gerencia podrá determinar si el proceso está marchando en tiempo y si está utilizando los
recursos (tiempo, personal y dinero).
4. Objetivo de la planificación
• Gestión de riesgos.
• Productividad y efectividad.
• Control y seguimiento de resultados y trabajo diario.
• Decisiones rápidas y competitividad empresarial.
• Resultados enfocados al cliente o dueño del proyecto.
• Mejora continua de los procesos de producción basados en planificación anteriores
exitosas.
• Bienestar y satisfacción del equipo de trabajo. No olvidemos que realizar una adecuada
planificación de proyectos también mira por el bien del clima laboral y la satisfacción de
que casa persona está realizando un trabajo pertinente en el proyecto.
5. Estimación de recursos, costos y de agendas para el desarrollo de
software
La estimación de costos de una actividad es una evaluación cuantitativa de los
costos probables de los recursos necesarios para completar las actividades del
cronograma del proyecto. Este tipo de estimación puede presentarse en forma de resumen
o en detalle. Los costes se estiman para todos los recursos que se aplican a la estimación
de costes de la actividad. Esto incluye, entre otros, la mano de obra, los materiales, los
equipos, los servicios, las instalaciones, la tecnología de la información, y categorías
especiales como una asignación por inflación o una reserva para contingencias de costo.
6. Alcance del software (restricciones, limites)
Restricciones
En muchos casos los usuarios empiezan a solicitar determinadas restricciones en el
sistema que en la mayoría de los casos no están aplicando en la ejecución de los procesos
que se informatizan y de las cuales, muchas de ellas, no son de aplicación en el contexto
actual de trabajo.
Cuando el usuario defina restricciones es conveniente en primer lugar preguntarle
cómo se gestionan las mismas en el contexto actual de trabajo (hay que tener en cuenta que
en muchos casos la persona o personas que realizan la especificación no son los que
participan en el día a día del proceso o procesos que se informatizan, por lo que lo mismo
tienen una visión muy idealizada de cómo se están haciendo las cosas), cuáles son las
situaciones excepcionales en las que hay que saltarse la restricción y cuál es la probabilidad
de que se produzcan dichas excepciones.
Las restricciones del sistema deben ser las precisas para que el proceso no quede
desvirtuado y para que los usuarios puedan realizar su trabajo de manera fluida. Acertar no es fácil,
no obstante, las aproximaciones iterativas e incrementales al producto final nos facilitan el trabajo,
ya que la incorporación de restricciones se hace iteración a iteración y siempre tenemos la
posibilidad de reaccionar de manera rápida ante restricciones que supongan un obstáculo.
7. Limitaciones de un Software
Transportabilidad: Si se puede instalar por ejemplo en cualquier versión de Windows (si no se
puede en todas, esto es una limitación).
Requerimientos técnicos: Funciona bien por ejemplo con 32 Mb de memoria RAM como
mínimo o necesita más memoria?
Compatibilidad ¿funciona en cualquier sistema sin problemas?
Idioma: ¿Se puede configurar para diferentes idiomas?
Requerimientos del sistema: ¿Requiere de otros software complementarios, fuentes,
configuración de Windows que el sistema no instala o configura automáticamente?, si es así,
esto constituye una limitación.
Facilidad de uso: ¿Se requiere capacitación para su uso? ¿es fácil de usar?
Estándares: ¿Cumple con estándares internacionales? ¿se puede usar de manera intuitiva?, o
por el contrario "no se parece" a otros programas populares, esto implica una limitación.
8. Recursos (humanos, hardware, software y herramientas
Es el conjunto de herramientas que permiten al programador desarrollar
programas informáticos, usando diferentes alternativas y lenguajes de programación,
de una manera práctica. Incluyen básicamente:
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
Recursos Humanos
Son todas las partes tangibles de un sistema informático; sus componentes son:
eléctricos, electrónicos, electromecánicos y mecánicos. Son cables, gabinetes o cajas,
periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el
soporte lógico es intangible y es llamado software.
9. Harware
Es aquel que sirve para realizar funciones específicas (más allá de las básicas), las
cuales no son estrictamente necesarias para el funcionamiento de la computadora. Por ende,
son todos aquellos extras que podemos sumar a la máquina. Se puede prescindir de ellos,
para el funcionamiento del equipo, ya que al quitar estos elementos, la computadora seguirá
con su funcionamiento normal.
Software
Es el conjunto de persona que desarrollan distintas funciones relacionadas con el
uso de las computadoras en una empresa u organización. También al concepto de recurso
humano se denomina usuario quien es la persona que utiliza en última instancia una
computadora y el software de aplicación como herramienta para realizar un trabajo o ayudarse
en su actividad.
10. Estructura general del equipo para el proyecto parte humana.
Queda demostrado que la gestión de Proyectos es una Ciencia, porque se apoya
en procesos probados y repetibles, así como en técnicas que permiten alcanzar el éxito
y es un Arte porque tiene mucho en relación con la administración, y el contacto con las
personas.
De suma importancia es que gran parte de los conocimientos necesarios para
manejar adecuadamente los Proyectos son parte de otras áreas de la Dirección como
la Planificación Estratégica, Gestión de los Recursos Humanos, entre otros aspectos
necesarios que se deben aplicar en el Sistema de la Cultura Física y en las
Organizaciones Deportivas.
Se le concede la atención necesaria a los RRHH, que se consideran como parte
de la estrategia principal, convirtiéndose de hecho en un recurso estratégico para lograr
una ventaja competitiva en el mundo actual.
11. Equipos de representantes funcionales. Equipo técnico de desarrollo, soporte
Equipo técnico de desarrollo
JEFE DE PROYECTO
Es el encargado de realizar el análisis de los requerimientos del cliente. De hacer el
seguimiento diario de las tareas y de resolver cualquier problema de comunicación con otros equipos si
los hubiera. En el caso de que este equipo se convierta en cliente de otro equipo, esta persona es la
que se encarga de realizar la comunicación con ellos. Obligatoriamente tiene que tener un background
de programador, necesita entender a los programadores y la problemática a la que se enfrentan
diariamente para poder asegurar que los requerimientos recogen toda la información necesaria para
poder realizar la tarea. Es el responsable de que la implementación de esos requerimientos se haga
correctamente.
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.
12. DESARROLLADOR
Es un programador, que se encarga de ejecutar el trabajo asignado por el lider del equipo. En
un proyecto de software, normalmente el 20% del codigo 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.
13. INGENIERO EN CALIDAD
Es un programador o alguien con conocimientos de programación, encargado de escribir las
suite de tests para automatizar el testeo del programa.
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.
SOPORTE TÉCNICO DE SOFTWARE
· Reparaciones Técnicas.
· Contratos de mantenimiento.
· Reinstalación de Software.
· Políticas de Seguridad.
· Políticas de Backus.
14. Esquema del plan del proyecto de software
El plan de proyecto del software engloba la información relativa a la gestión del
proyecto. Es un proceso que se lleva a cabo una vez finalizadas las tareas de planificación.
Los objetivos de un buen plan de proyecto deben ser los siguientes
Comunicar el ámbito y recursos al personal de desarrollo y al cliente.
Definir los riesgos y sugerir técnicas de control del riesgo.
Definir los costes y planificación temporal para la revisión de la gestión.
Proporcionar un enfoque general del desarrollo del software para todo el personal
relacionado con el proyecto.
Describir cómo se garantizará la calidad y se gestionarán los cambios.
15. Estatutos del proyecto
Acuerdo formal y de compromiso entre los representantes del equipo del proyecto,
respecto a como se manejará y coordinará el esfuerzo de desarrollo, especificando el
alcance del proyecto, el enfoque para su administración, su organización y su plan de
trabajo.
La Intención de los Estatutos del Proyecto es:
Documentar el acuerdo entre los miembros del equipo del proyecto.
Proveer un entendimiento claro de los objetivos y metas del proyecto.
Definir los roles y responsabilidades del proyecto.
Documentar el enfoque de administración del proyecto y sus procedimientos
Proveer una base para el alcance y manejo de las expectativas.
Definir los procedimientos para controlar los cambios, administrar riesgos y asuntos
pendientes y monitorear calidad y el progreso del proyecto.