Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Admin Proyecto de SW
Admin Proyecto de SW
Admin Proyecto de SW
Proyectos de
Software
1.Introduccin y
conceptos bsicos
Conceptos bsicos:
proyecto y su
administracin
Qu es un proyecto?
Es diferente un proyecto de software?
Necesita administrarse un proyecto?
Qu se hace para administrar un
proyecto?
Proyectos de
software
Caractersticas clave de un
proyecto (1/2)
1. Involucra tareas no rutinarias
2. Requieren planeacin
3. Se deben lograr objetivos o crear
productos especficos
4. Tiene un lapso de tiempo especfico
predefinido
Caractersticas clave de un
proyecto (2/2)
5. El trabajo se lleva a cabo por otras
personas
6. Involucra varias especializaciones
7. Los trabajos se llevan a cabo en varias
fases
8. Los recursos son limitados
9. Los proyectos son largos o complejos
Ejercicio 1
Cul de los siguientes puede considerarse
proyecto?
Producir la edicin de un peridico
Hacer un tnel bajo el mar
Realizar un matrimonio
Complejidad
Los proyectos de software contienen mayor complejidad
que otros tipos de proyectos respecto al dinero gastado
Flexibilidad
El software puede cambiarse ms fcilmente que otros
productos
Proyecto
No todos los proyectos son iguales
Un proyecto es como viajar en carretera.
Algunos
proyectos
son
simples
y
rutinarios, como conducir hacia la tienda a
plena luz del da. Pero la mayora de los
proyectos que valen la pena realizar son
ms parecidos a conducir un camin, en la
montaa, de noche en Nepal
(Cem Kamer, James Bach y Bret
Pettichord)
Pressman, R., Ingeniera de Software, 6 ed.,
McGraw-Hill, Seccin 21.1
Administracin de
proyectos
Administracin
1.
2.
3.
4.
5.
6.
Administracin
vista de administradores
Informacin y control
Decisiones:
control
informacin
fluye
fluye
estratgicas (objetivos),
tcticas (alcanzar metas)
operativas (da con da)
Informacin:
medidas de actuacin
medidas predictivas
EMPRESA
Ejercicio 2
Explique por qu la intangibilidad de los
sistemas de software plantea problemas
para la administracin de proyectos de
software.
Actividades de la Administracin
de Proyectos de Software
Redaccin de la propuesta
Planeacin y calendarizacin del proyecto
Costeo del proyecto
Supervisin y revisin del proyecto
Seleccin y evaluacin del personal
Redaccin y presentacin de informacin
1. Redaccin de la propuesta
La redaccin
incluir:
de
la
propuesta
deber
6. Redaccin y presentacin de
informacin
El administrador debe dar informes al
cliente y a su organizacin
Los reportes de avance deben ser concisos
y coherentes.
Debe saber comunicarse con el cliente
Un administrador de proyectos de
software debe tener la habilidad
de comunicarse efectivamente de
forma oral y escrita
Las cuatro P
Personal:
Producto:
Proceso:
Proyecto:
Quines?
Qu?
Cmo?
Para qu?
Personal
-1 El software lo hacen seres humanos
Para seres humanos
Y a veces afecta a otros seres humanos
As lo ms importante en el software son
los seres humanos (personas)
Producto
-2 Lo que desea
proyecto
obtenerse
al
final
del
Proceso
-3 Un proceso de software proporciona un
marco de trabajo para establecer el plan
detallado para el desarrollo del software
Puede ser simplemente un mtodo o una
metodologa
Proyecto
-4 Lo que se desea emprender,
personas, empleando un
personas especfico, para
producto deseado y usando
adecuado.
para ciertas
equipo de
obtener un
un proceso
Personal
-1-
Personal
La componente ms importante para el xito de
un proyecto es el factor humano
Estudio realizado por IEEE en 1988
Participantes
Lderes de equipo
Estructura organizacional del equipo de software
Conflictos de coordinacin y comunicacin
Pressman, R., Ingeniera de Software, 6 ed.,
McGraw-Hill, Seccin 21.1
Participantes (1/2)
Gestores ejecutivos
Definen aspectos del negocio que influenciar
al proyecto
Gestores tcnicos
Planifican, motivan, organizan y controlan a los
profesionales
Participantes (2/2)
Profesionales
Proporcionan las habilidades tcnicas para la
ingeniera de un producto
Clientes
Especifican los requerimientos para la IS
Usuarios finales
Interactan con el software una vez que se
libera
Lderes de equipo
Los
profesionales
de
computacin,
generalmente, no tiene las competencias
para ser lderes, las adquieren por
necesidad.
Lderes de equipo
Jerry Weinberg, 1986:
Sugiere que los lderes de proyecto exitosos
aplican un estilo de gestin de resolucin de
problemas.
Entender el problema, gestionar el flujo de ideas y, al
mismo tiempo, hacer que el equipo se comprometa
con la calidad.
Organizacin.
Habilidad para adecuar procesos existentes o
inventar nuevos.
Ideas e innovacin.
Habilidad para alentar a la gente a ser creativo
y trabajar dentro de los lmites establecidos
para la aplicacin.
Pressman, R., Ingeniera de Software, 6 ed.,
McGraw-Hill, Seccin 21.1
Factores
de
Mantei
Equipos giles
Los mtodos giles subrayan la competencia
individual en conjuncin con la colaboracin del
grupo
Para aprovechar la competencia de cada miembro
del equipo y fomentar la colaboracin eficaz a lo
largo del proyecto, los equipos giles son auto
organizados
La planificacin se mantiene al mnimo
Se realizan reuniones peridicas de equipos para
coordinar el trabajo que se debe hacer
Pressman, R., Ingeniera de Software, 6 ed.,
McGraw-Hill, Seccin 21.1
Toxicidad de equipo
No todos los equipos funcionan bien (no cuajan)
Jackman en 1998, propone cinco factores que
fomentan un ambiente de equipo txico:
Atmsfera de trabajo frentica.
Alta frustracin que provoca fricciones
Proceso de software fragmentado o pobremente
coordinado
Poca definicin de los papeles dentro del equipo
Continuas y repetidas exposiciones al fracaso
Prevencin
1.
Atmsfera
frentica.
2.
3.
4.
5.
de
trabajo
Conflictos de coordinacin y
comunicacin
La escala de muchos esfuerzos de desarrollo es
muy grande
La incertidumbre es comn
La interoperabilidad con otros sistemas
Para minimizar los conflictos
Se deben establecer mecanismos para la comunicacin
formal e informal entre los miembros del equipo y entre
mltiples equipos.
Ejercicio 3
Proponga 10 lineamientos para que el
ingeniero de Software ejerza su potencial
completo en su trabajo.
Los 10 mandamientos del Ingeniero de
Software
Manejo de personal
(I. Sommerville)
Notas por Juan Manuel
Fern
Fernndez Pe
Pea
2011
Factores crticos
Objetividad
Trato equitativo, transparente
Respeto
Aceptar habilidades diferentes, mientras haya
aporte
Incorporacin
Escuchar y tomar en cuenta propuestas
Honestidad
Sobre lo que va bien y lo que va mal; sus
conocimientos
Seleccin de personal
Fuentes de informacin
Los interesados
Entrevistas:
tiles
en
aspectos
de
comunicacin y habilidades sociales; fallan en
aspectos tcnicos
Recomendaciones de personas conocidas que
han trabajado con los interesados
Seleccin de personal
Algunos factores que influyen:
Experiencia en dominio de aplicacin (algunos)
Experiencia en plataforma (si hay programacin de bajo
nivel)
Experiencia en lenguaje (en proyectos cortos)
Habilidad para resolver problemas (difcil; por trabajos)
Soporte educativo (poco relevante)
Habilidad de comunicacin (oral, escrita, idiomas)
Adaptabilidad (segn trabajos realizados)
Actitud (positiva respecto al trabajo; deseo de aprender)
Personalidad (compatibilidad)
Seleccin de personal
Pasos para seleccionar
Aptitudes
Personalidad
Muestras de trabajo
Entrevista personal
Motivacin
Enfocarse en stas
Motivacin
Sociales:
Dar tiempo a conocerse, lugar de intercambio,
mecanismos informales
Estima:
Mostrar que tienen valor, reconocer logros
Autorrealizacin:
Asignar
tareas
demandantes,
pero
imposibles, programas de capacitacin
no
Motivacin
Orientacin de personas:
A tareas: se motivan por su trabajo, reto
intelectual, tcnico (el software como reto)
A s mismos: su xito y reconocimiento
(software como medio)
A interaccin: presencia y acciones de
compaeros;
importantes
en
enfoque
orientado a usuarios
Gestin de grupos
Factores para equipos
Composicin:
balance
de
habilidades,
experiencia y personalidades
Cohesin: verdadero equipo, no coleccin de
individuos
Comunicacin: que exista y sea efectiva
Organizacin: todos se sienten valorados y
satisfechos de su papel
Gestin de equipos
En cuanto a balance de personalidades:
Los orientados a tareas son buenos para los
aspectos
tcnicos;
deben
comprender
conjunto, no aislarse. Unos ayudan a
comunicar y los orientados a s mismos son
persistentes, seguirn hasta el final
Gestin de equipos
Sobre cohesin
Grupo ms importante que individuos, metas
de grupo, lealtad, proteccin
Se forman estndares de calidad del grupo
Depende de la cultura organizacional
Problemas: resistencia irracional a cambio de
liderazgo; pensamiento de grupo (no se piensa
crticamente)
Gestin de equipos
Comunicacin:
Influye tamao de grupo; al crecer crecen
demasiado los canales de comunicacin,
distraccin
La estructura afecta: los grupos menos
formales se comunican mejor
La composicin: personas parecidas chocan;
balance de sexos
El entorno afecta (rea de trabajo, cierta
privacidad)
Personal
El factor humano es tan importante que el SEI
desarrollo el Modelo de Madurez de Gestin
Capacidad Personal (MMCGP).
Existen varias reas clave prcticas para el
personal de software:
Reclutamiento
Seleccin
Gestin del
desempeo
Entrenamiento
Retribucin
Desarrollo de
carrera
Diseo de
organizacin y
trabajo
Desarrollo de
cultura de equipo
Modelo de madurez de
capacidades del personal PCMM
A partir del modelo CMM se han
desarrollado modelos especficos.
Para el personal, siendo muy importante,
se cre el PCMM
Ahora se ha integrado en CMMI
People Capacity
Maturity Model
Modelo de madurez de
capacidad del personal
Antecedentes
Las compaas globales
tecnologa requieren
de
alta
Antecedentes
Principios para atraer, desarrollar y
personal valioso (J. Pfeffer, Stanford):
retener
Seguridad en el empleo
Contratacin selectiva
Equipos autoadministrados y descentralizacin de toma
de decisiones
Compensacin alta segn rendimiento de la organizacin
Entrenamiento
Reducir barreras y distinciones de estatus
Compartir informacin financiera y de rendimiento
Prcticas repetibles
Nivel 2: Gestionado (Gestin del personal)
Prcticas basadas
en competencias
Prcticas medibles
Nivel 4: Predecible(Gestin de capacidades)
Mejora continua
de practicas
Nivel 5: Optimizado (Gestin del cambio)
Nivel 1 Inicial
Se hace ad-hoc, se reinventa cada vez
No hay manera confiable de estimar
esfuerzo
El resultado depende del personal
Se dice que el personal es valioso
Pero no se hace nada por mejorar su valor
Nivel 2 Gestionado
Nivel 3 Definido
Nivel 4 Predecible
Se administra a partir de datos que
describen el rendimiento de la empresa;
no solo hitos
Se caracterizan estadsticamente los
procesos crticos
Al volverse predecibles y cuantitativos, se
adquiere
conocimiento
que
permite
mejorar las prcticas
Nivel 5 Optimizado
Del conocimiento que se tiene se van
proponiendo acciones de mejoramiento:
Ajustar procesos
Usar nuevas tecnologas
Se administra el cambio
Se identifican defectos persistentes
Resumen
Se crea un ambiente donde
Las prcticas son repetibles
Las mejores prcticas se transfieren entre
grupos
Se reducen las variaciones en rendimiento
Las prcticas se mejoran de continuo
Problemas en organizaciones
inmaduras
Sobrecarga de trabajo
Ambiente de distraccin
Metas de rendimiento y retroalimentacin
poco claras
Carencia de conocimiento relevante y
habilidad
Mala comunicacin
Baja moral
reas de proceso
Arquitectura
PROCESO
- 2-
Proceso
Un proceso dice quin est haciendo qu y
cundo y cmo lograr la meta
Proceso
Un proceso de software proporciona el
marco de trabajo para establecer el plan
detallado para el desarrollo del software
Dos tipos de actividades son generales en
cualquier proceso:
Establecer: tareas, hitos, productos de trabajo
y puntos de control de calidad
Controlar la calidad, gestionar la configuracin
de software y medir resultados.
Actividades
Un proceso tiene actividades genricas
para cualquier proyecto
Se detallan
proyecto
segn
necesidades
de
cada
Actividades genricas
Comunicacin (requerimientos)
Planeacin
Modelado (anlisis, diseo)
Construccin (codificacin y prueba)
Despliegue
Actividades sombrilla
Procesos
Personal Software Process
proyectos pequeos de una persona
Mtodos giles
Scrum, Crystal Clear, XP
Proyectos segn
Proceso Unificado
86
Seleccin de proceso
En cada proyecto se selecciona un
proceso, entre los anteriores u otros o se
forma especfico para un proyecto
Producto
- 3-
Producto
Antes de crear un proyecto se deben
establecer:
Objetivos y mbito del producto
Soluciones alternativas
Identificacin de restricciones tcnicas y de
gestin
El desarrollador de software y cliente deben
reunirse para definir objetivos y mbito del
producto
En ese momento empieza la Ingeniera de
procesos del negocio y continua con Ingeniera
de Requerimientos.
Pressman, R., Ingeniera de Software, 6 ed.,
McGraw-Hill, Seccin 21.1
Producto
Para empezar un proyecto se necesitan
estimaciones cuantitativas y un plan organizado.
Para obtener lo anterior se necesita informacin
slida del producto a construir.
Un anlisis de requerimientos sera lo deseable,
pero:
ste se lleva semanas y hasta meses
Aunque se agilice, los requerimientos siempre cambian
durante el proyecto.
Funcin y desempeo
Qu funciones realizar el software para transformar
los datos de entrada?
Habr
caractersticas de desempeo especial a
considerar?
irn
Seleccin de Proceso
Caractersticas importantes que hay que
considerar para escoger el proceso
Los clientes solicitaron el producto y el
personal
Las caractersticas del producto
El ambiente de trabajo en que trabaja el
equipo de software
Combinacin de producto y
proceso
Una vez definido el marco de trabajo se
deber aplicar a cada una de las funciones
establecidas para el producto (figura).
Adems deben incluirse las actividades de
ingeniera para cada actividad del marco de
trabajo
Funcin
principal
del
producto
in
sp
li e
gu
Actividades
del marco
de trabajo
De
t ru
ns
Co
e la
od
M
cc
do
i
n
ac
ni
f ic
Pla
un
m
Co
ica
ci
Combinacin de producto y
proceso
celda
Pressman, R., Ingeniera de Software, 6 ed.,
McGraw-Hill
Proyecto
- 4-
Elementos importantes de un
proyecto
Hay tres procesos sucesivos que dan
inicio a un proyecto:
1. Estudio de Factibilidad.
Investigacin que se realiza para decidir las
perspectivas de un proyecto y si conviene
empezarlo.
2. Planeacin.
Debe escribirse un plan que abarque todos las
etapas en general y detalle la primera etapa,
dejando las ltimas etapas pendientes para cuando
se tenga ms informacin
En
un
proyecto
de
(What)Qu se har?
La respuesta a esta pregunta establece el conjunto de
tareas que se requerir para el proyecto.
(When)Cundo se har?
La respuesta a esta pregunta ayuda al equipo a
establecer una planificacin del proyecto al identificar
cundo se realizarn las tareas del proyecto y cundo se
alcanzarn los objetivos.
Prcticas Crticas
El Airlie Council en 1999 ha elaborado una lista
de "prcticas crticas de software para la gestin
basada en el desempeo".
empleadas consistentemente por, y consideradas
crticas por, proyectos de software muy exitosos y por
organizaciones cuya 'lnea base' de desempeo es
mucho mejor que los promedios de la industria".
Ejercicio 4
Usted ha sido nombrado administrador de proyecto de
software para una compaa que atiende el mundo de la
ingeniera gentica. Su labor es gestionar el desarrollo de
un nuevo producto de software que acelera el ritmo de la
clasificacin de genes. El trabajo est orientado a
Investigacin y Desarrollo, pero la meta es elaborar un
producto dentro del siguiente ao.
qu estructura de equipo elegira y por qu?
qu modelos de procesos de software elegira y por
qu?
Glosario
Hitos: puntos finales de una actividad del proceso
de software. Son puntos finales de una etapa
lgica del proceso de desarrollo.
Producto a entregar (entregable). Resultado del
proyecto que se entrega al cliente, generalmente
al finalizar el proyecto.
Los productos a entregar son hitos, pero stos no
necesariamente son entregables.