SISTEMAS II
JUAN CARLOS VELÁSQUEZ DUERTO
INSTITUTO UNIVERSITARIO POLITECNICO SANTIAGO MARIÑO
PLANIFICACIÓN DE UN PROYECTO DE SOFTWARE 1
TUTOR:
ING. AMELIA VÁSQUEZ
INTRODUCCIÓN A LA PLANIFICACIÓN DE UN SISTEMA DE SOFTWARE 2
En el desarrollo de esta presentación, hablaremos básicamente de la introducción a la
planificación de un sistema de, 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.
En cuenta lo anteriormente expuesto este trabajo tiene como objetivo principal tener una
noción clara de lo que es la planificación de un sistema de software y como influyen en la optimización y
mejoras de los proyectos de sistematización de las organizaciones o empresas.
La estimación de costos en el desarrollo de software es un factor realmente importante para el
análisis de los proyectos, constituye un tema estratégico contar con métricas para medir el costo de un
proyecto de software garantizando la eficiencia, competitividad, eficacia y excelencia.
2
DEFINICIÓN DE PLANIFICACIÓN DE PROYECTO DE SOFTWARE 3
La planificación de proyectos es la programación y estimación del orden de prioridades de
las actividades necesarias para alcanzar unos objetivos. Y es que, planificar es estimar técnicamente lo que
va a suceder en los próximos días, semanas, meses o años.
Desde nuestros ancestros, la planificación siempre ha estado presente en la evolución del ser
humano. Necesitamos una organización para crear, desarrollarnos y dar pasos hacia delante. De ahí, la
importancia de la planeación estratégica de una empresa. Es necesario establecer una ruta a seguir para
alcanzar un objetivo concreto
El proceso de gestión de un proyecto de software comienza con un conjunto de actividades
que, globalmente, se denominan planificación del proyecto. "No podemos pedir exactitud a la fase de
planificación, es solo una idea de cómo van a transcurrir las cosas. Hay que planificar el trabajo, los recursos
humanos y la tecnología. Planificar es estimar."
ESTIMACIÓN DE RECURSOS, COSTOS Y DE AGENDAS PARA EL DESARROLLO DE SOFTWARE 4
La estimación de recursos, costos y agendas para el esfuerzo de desarrollo de software requiere
experiencia, acceso a una buena información histórica y coraje para confiar en medidas cuantitativas cuando todo lo que
existe son datos cualitativos.
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
Una de las actividades cruciales del proceso de gestión del proyecto del software es la planificación. Cuando se planifica
un proyecto de software se tiene que obtener estimaciones de esfuerzo humano requerido, de la duración cronológica del
proyecto y del costo. Pero en muchos de los casos las estimaciones se hacen valiéndose de la experiencia pasada como
única guía.
OBJETIVO DE LA PLANIFICACIÓN 5
El objetivo principal de la planificación consiste en determinar adecuada y razonablemente
los procedimientos de auditoría que correspondan aplicar, cómo y cuándo se ejecutarán, para que se cumpla
la actividad en forma eficiente y efectiva.
La planificación es un proceso dinámico, que si bien se inicia al comienzo de las labores de auditoría, puede
modificarse durante la ejecución de la misma.
El objetivo de la Planificación del proyecto de Software es proporcionar un marco de trabajo
que permita al gestor hacer estimaciones razonables de recursos costos y planificación temporal. Estas
estimaciones se hacen dentro de un marco de tiempo limitado al comienzo de un proyecto de software, y
deberían actualizarse regularmente medida que progresa el proyecto. Además las estimaciones deberían
definir los escenarios del mejor caso, y peor caso, de modo que los resultados del proyecto pueden limitarse.
El Objetivo de la planificación se logra mediante un proceso de descubrimiento de la información que lleve
a estimaciones razonables.
ALCANCE DEL SOFTWARE (RESTRICCIONES, LIMITES) 6
La palabra software se refiere a las instrucciones que se incorporan a un sistema informático para que
este lleve a cabo una determinada función. ... El software es imprescindible para cualquier sistema informático o
basado en informática, puesto que sin él, este no funcionaría.
Un ordenador sin software sería simplemente un conjunto de chips, cables, periféricos e interruptores
totalmente inerte y sin función alguna. Es el software quien ordena todo ese material, lo reconoce, le asigna una
función según sus características, y permite que funcione todo en su conjunto.
La importancia del alcance del software radica también en que permite una comunicación entre el usuario y la
máquina, e incluso una interacción entre ambos. El software se ha convertido en un elemento ubicuo en el actual
mundo digital. Esto quiere decir que está presente en todos los aspectos de la vida humana su alcance es infinito.
Los programas informáticos se encuentran “embedidos” o “empotrados” en las tarjetas electrónicas de
dispositivos de uso común como fotocopiadoras, taximetros, sistemas de seguridad o la “computadora” de nuestros
vehículos.
7
Desde el punto de vista de la sociedad, el software provee flexibilidad, inteligencia y
seguridad a todos los sistemas complejos y equipos que soportan y controlan las diferentes infraestructuras
claves de nuestra sociedad: transporte, comunicaciones, energía, industria, negocios, gobierno, salud,
entretenimiento, etc.
La limitación más evidente es que un software no tiene inteligencia de por sí, es decir, sólo
tiene funciones predefinidas que abarcan un conjunto de soluciones que para ciertas aplicaciones puede
llegar a ser limitado. Pese a que un software no tiene inteligencia, ésta se puede emular. Es lo que se conoce
como inteligencia artificial. Pero emular inteligencia es costoso en términos computacionales, ya que se
necesita de una gran cantidad de memoria de trabajo. Por ello, muchos dicen que el cerebro humano tiene
"memoria infinita".
Actualmente la inteligencia artificial puede emular redes neuronales y muchas cosas, pero aún así no puede
emular el "pensamiento" humano, ya que el software actúa bajo condiciones que, o son completamente
verdaderas, o completamente falsas.
RECURSOS (HUMANOS, HARDWARE, SOFTWARE Y HERRAMIENTAS). 8
Recursos Humanos.
La Cantidad de personas requeridas para el desarrollo de un proyecto de software solo puede
ser determinado después de hacer una estimación del esfuerzo de desarrollo (por ejemplo personas mes o
personas años), y seleccionar la posición dentro de la organización y la especialidad que desempeñara cada
profesional.
Recursos del Hardware.
Son toda la parte 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 cualquier tipo y elementos físicos involucrados.
El Hardware proporciona una plataforma con las herramientas (Software) requeridas
para producir los productos que son el resultado de la buena practica de la Ingeniería del
Software, un planificador de proyectos debe determinar la ventana temporal requerida para el
Hardware y el Software, y verificar que estos recursos estén disponibles.
9
Muchas veces el desarrollo de las pruebas de validación de un proyecto de software
para la composición automatizada puede necesitar un compositor de fotografías en algún punto
durante el desarrollo. Cada elemento de hardware debe ser especificado por el planificador del
Proyecto de Software.
Recursos de Software.
Un componente o recurso de software es un elemento de un sistema de software
que ofrece un conjunto de servicios, o funcionalidades, a través de interfaces definidas.
Un componente de software debe poseer las siguientes características:
Ser reutilizable.
Ser intercambiable.
Poseer interfaces definidas.
Ser cohesivos.
Cualquier estudio sobre recursos de software estaría incompleto sin estudiar la
reutilización, esto es la creación y la reutilización de bloques de construcción de Software.
Los diagramas de relación son una combinación de representación gráfica y de
texto de un flujo y las relaciones de las tareas a nivel manual y automático, en
un trabajo. Al utilizar estos diagramas, la interacción entre las personas y los
computadores se describe dentro de un flujo de acción/reacción. En este flujo
la lógica de los sistemas se establece paso a paso para permitir que el gerente
y su personal puedan comprenderlo mejor.
Los diagramas de relación se utilizan para comprender en detalle la forma como
en realidad se desarrolla el trabajo y permiten, además, que el cambio se
planee y ejecute de manera precisa.
Este diagrama hace que el diseñador de la nueva operación determine con
exactitud cómo se realizará el trabajo y defina qué apoyo será necesario.
10
Tales bloques se deben establecer en catálogos para una consulta más fácil,
estandarizarse para una fácil aplicación y validarse para la también fácil integración.
La Segunda tarea de la planificación del desarrollo de Software es la estimación de los recursos requeridos
para acometer el esfuerzo de desarrollo de Software, esto simula a una pirámide donde las Herramientas
(hardware y Software), son la base proporciona la infraestructura de soporte al esfuerzo de desarrollo, en
segundo nivel de la pirámide se encuentran los Componentes reutilizables.
Y en la parte mas alta de la pirámide se encuentra el recurso primario, las personas
(el recurso humano).
Herramientas
Una herramienta de software es un programa informático que usa un programador para crear, depurar,
gestionar o mantener un programa. son diversas aplicaciones informáticas o programas informáticos
destinadas a aumentar la productividad en desarrollo de software reduciendo el costo de las mismas en
términos de tiempo y de dinero.
11
Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del
software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de
parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de
errores entre otras.
ESTRUCTURAS DE EQUIPOS ORIENTADAS A PRODUCTO (HUMANO, SOFTWARE, 12
HARDWARE, ESTRUCTURA).
En el caso de la estructura orientada a producto, la organización cuenta con un equipo
dedicado a tiempo completo y un director de proyecto que se sitúa al máximo nivel dentro de la
organización. Habitualmente se estructuran también en unidades departamentales; sin embargo todos ellos
deben reportar directamente al director de proyecto. Como se puede ver, se trata de una estructura
organizativa muy sencilla y con ciertas limitaciones, como la dificultad de transferir conocimientos a traves
de proyectos.
Cuando se adopta, es fundamental contar con algoritmos funcionales que permitan dinamizar
las negociaciones entre los proyectos, toda vez que estos competirán habitualmente por determinados
recursos financieros y de personal no asignado de forma permanente al proyecto. Un algoritmo funcional de
este tipo son las tácticas de priorización de proyectos por escenarios.
ESTRUCTURA GENERAL DEL EQUIPO PARA EL PROYECTO PARTE HUMANA. 13
En las empresas existen tres tipos de estructuras generales para el proyecto.
1. Orientada a proyectos
En las organizaciones orientadas a proyectos, los miembros del equipo suelen estar trabajando en el
mismo lugar físico con directores de proyecto con gran independencia y autoridad. Este tipo de
estructuras se observa en empresas que obtienen sus ingresos principalmente de proyectos. Por
ejemplo, grandes empresas de consultoría suelen adoptar este tipo de estructura.
2. Funcional
Por otro lado, la estructura organizacional más tradicional es la funcional. En este tipo de estructuras
jerárquicas cada empleado tiene un superior y las personas se agrupan por especialidades: ingeniería,
marketing, producción, etc.
3. Matricial
En una organización matricial se mantiene la estructura funcional pero se crea una estructura orientada
a proyectos que utiliza recursos del resto de la organización. Por ejemplo, para el proyecto de lanzar un
nuevo producto al mercado, la Project Management Office (PMO) puede nombrar a un director de
proyecto que formará un equipo de trabajo con personas de los distintos departamentos funcionales.
EQUIPOS DE REPRESENTANTES FUNCIONALES. EQUIPO TÉCNICO 14
DE DESARROLLO, PORTE.
Equipos de representantes funcionales: este tipo de grupos humanos están compuestos por
miembros de la organización de varios niveles verticales diferentes dentro de la jerarquía de la empresa; por
lo tanto, las funciones que realizarán sus integrantes son muy variadas. Un equipo funcional típico tendrá
varios subordinados y un responsable, con autoridad suficiente para administrar tanto las operaciones
internas, como las relaciones del grupo con individuos ajenos a él. Los rasgos que definen a este tipo de
equipo de trabajo son:
Los miembros del equipo generalmente tienen diferentes responsabilidades, pero todo el trabajo se
orienta al cumplimiento de una misma función, en relación con una fase de proyecto o con un entregable.
Cuando es ésta la distribución escogida para el proyecto se cuenta con más de un equipo de trabajo,
ya que cada función se delegaría en un diferente. Los equipos funcionales se pueden dar en proyectos de todo
tipo e independientemente de su tamaño. En informática, un desarrollador1(al que con frecuencia también se
conoce como analista-programador), es un especialista en informática que es capaz de concebir y elaborar
sistemas informáticos (paquetes de software), así como de implementarlos y ponerlos a punto, utilizando uno
o varios lenguajes de programación.
15
El desarrollador puede contribuir a la visión general del proyecto más a nivel de aplicación que a nivel de
componentes, así como en las tareas de programación individuales.
Conforme pasa el tiempo, la separación entre el diseño de sistemas informáticos, el desarrollo de software, y
la programación, se van haciendo más claras y diferenciadas. En el mercado laboral suele encontrarse una
diferenciación entre programadores y desarrolladores, siendo estos últimos los que diseñan la estructura o jerarquía de
clases. Incluso esos desarrolladores se convierten en arquitectos de sistemas informáticos, o sea, aquellos que diseñan
la arquitectura a varios niveles o las interacciones entre componentes de un proyecto de software grande.
El soporte técnico o asistencia técnica es un rango de servicios por medio del cual se proporciona asistencia a
los usuarios al tener algún problema al utilizar un producto o servicio, ya sea este el hardware o software de una
computadora de un servidor de Internet, periféricos, artículos electrónicos, maquinaria, o cualquier otro equipo
ESQUEMA DEL PLAN DEL PROYECTO DE SOFTWARE. 16
Se ha generalizado la expresión "ciclo de un proyecto" para referirse al proceso completo,
diferenciado en etapas, que, por lo general, sigue un proyecto de software.
Las distintas etapas o momentos internos, que suelen señalarse son las siguientes:
1- * Identificación
2- * Diseño y Elaboración
3- * Formulación
4- * Presentación
5- * Aprobación
6- * Ejecución
7- * Seguimiento
8- * Evaluación
17
1.-Identificación: es el momento principal, imprescindible para que nazca con bien un
proyecto.
2.-Diseño y Elaboración: Con los datos anteriores, las Comunidad y sus técnicos, comienzan
a buscar y discutir lo que será el proyecto.
3.-Formulación: Es el tiempo de expresar por escrito en soporte papel o electrónico y
conforme los cuestionarios o normativas de las Agencias hacia donde hay que dirigir el proyecto, todo lo
acordado en la etapa anterior y su lógica o coherencia interna, su racionalidad, su viabilidad y su
factibilidad.
4.-Presentación: Hecha la Formulación se envía al par, agente, contraparte "intermediario" o
a la Agencia de Ayuda que ha de tramitar la solicitud de los recursos externos que se necesitan.
5.-Aprobación: Durante un tiempo se queda a la espera para su estudio y aprobación o
denegación (suelen tenerse en cuenta, al menos, tres dimensiones del proyecto: la técnica, la política y la
financiera; en algunos casos existen, ajustados a ellas también, tres comisiones de estudio.
18
6.-Ejecución: Al comunicarse la concesión de los recursos, el grupo responsable de la organización del
proyecto se pone en marcha para llevarlo a la práctica (lo ideal es que no haya tenido que esperar a la concesión para
desplegar el conjunto de posibilidades con los recursos propios de que disponga la colectividad).
7.-Seguimiento: Es una etapa que se aplica tanto a los responsables de la coordinación del plan de acción como, en
otro tipo de funciones, a los intermediarios o responsables de la concesión del recurso externo
8.-Evaluación: Un buen seguimiento lleva siempre unido una constante evaluación -autoevaluación, hecha por los
sujetos activos de la ejecución; y heteroevaluación, hecha por el agente externo responsable de la concesión.
DISCUSIÓN 19
Una de las actividades cruciales del proceso de gestión del proyecto del software es la
planificación. Cuando se planifica un proyecto de software se tiene que obtener estimaciones de esfuerzo
humano requerido, de la duración cronológica del esfuerzo humano requerido, de la duración cronológica
del proyecto y del costo.
Para concluir puedo decir que el objetivo de la Planificación del proyecto de Software
es proporcionar un marco de trabajo que permita al gestor de planificación hacer estimaciones razonables
de recursos, costos y planificación temporal.