You are on page 1of 5

Gua de laboratorio

rea de Programacin y Algoritmia


FACULTAD DE INGENIERIA

UNIVERSIDAD DEL QUINDO


FACULTAD DE INGENIERA
PROGRAMA DE INGENIERA DE SISTEMAS Y COMPUTACIN
Informacin general
Nombre de la asignatura:
Fecha (dd-mm-aaaa):
Duracin estimada en
minutos:
Docente:
Gua No.
Nombre de la gua:

Fundamentos de Algoritmia
60 minutos
Jorge Orlando Herrera Morales
1
Fundamentos de PSP

Informacin de la Gua
Objetivos:
Proporcionar a los estudiantes los conceptos generales y definiciones necesarias para comprender que es
el PSP.
Conceptos Bsicos:
Antes de emprender el estudio de la gua, el estudiante debe tener claridad sobre lo que son los siguientes
aspectos:

Programacin de computadores
Proceso de desarrollo de software
Trabajo Individual y en equipo
Concepto de Ingeniera de Software

Precauciones y Recomendaciones:
Se recomienda a los estudiantes leer completamente la gua, analizar y comprender en equipos de trabajo
las definiciones que se dan en ella y responder a las preguntas de la evaluacin.
Artefactos:
Gua de trabajo N 1: Fundamentos de PSP
Evaluacin o Resultado:
Responda las siguientes preguntas:
1. Que es un proceso de software?
2. Por que es importante que usted como programador aprenda sobre procesos de software?
3. Que es PSP?
4. Cuales son los objetivos que pretende alcanzar PSP?
5. Cuales son los principios que rigen PSP?
6. Como puede mejorar su desempeo como programador utilizando PSP?
7. Cuales son los niveles de PSP?

Procedimiento
A continuacin se har una introduccin a lo que es PSP, sus caractersticas y sobre todo los beneficios de
aprender PSP para mejorar el desempeo individual en las actividades de desarrollo de software.

Gua de laboratorio
rea de Programacin y Algoritmia
FACULTAD DE INGENIERIA

INTRODUCCION
Qu es un proceso de software?
Un proceso de software puede definirse como un conjunto estructurado de actividades requeridas para
desarrollar un sistema de software. El objetivo de aplicar un proceso de software es el de mejorar el
desempeo del equipo de trabajo para generar un producto en menor tiempo y de mejor calidad dentro de
los costos propuestos.
Existen estndares en el proceso de software:
CMMI.-Integracin del Modelo de Capacidad de Madurez(Capability Maturity Model Integration)
PSP y TSP.-Proceso de software personal(Personal Software Process) y Proceso de software en
equipo(Team Software Process)
DEFINICION DE PSP
El proceso personal de software es un conjunto de prcticas disciplinadas para la gestin del tiempo y
mejora de la productividad personal de los programadores estudiantes o ingenieros de software, en tareas
de desarrollo y mantenimiento de sistemas software. Es un proceso propietario del Instituto de Ingeniera de
Software(Software Engineering Institute)de la universidad de Carnegie Mellon. Consiste en el registro de
informacin de todo el proceso de desarrollo en formatos. Esta informacin servir para generar estadsticas
que se usarn en futuros desarrollos, para mejorar el desempeo personal del programador. Proporciona un
marco de trabajo para caracterizar y administrar su trabajo personal. Es un proceso definido que ayuda a
mejorar su desempeo personal.
PSP se concentra en las prcticas de trabajo de los ingenieros en una forma individual. El principio detrs
de PSP es se, sirve para producir software de calidad, cada ingeniero debe trabajar en la necesidad de
realizar trabajo de calidad. PSP se dise para ayudar a profesionales del software para que utilicen
constantemente prcticas sanas de ingeniera de software. As mismo, les ensea a los desarrolladores
cmo planear y darle un seguimiento a su trabajo, a utilizar un proceso bien definido y medido, a establecer
metas mensurables, y finalmente a la utilizacin del rastreo constante para alcanzar dichas metas. PSP les
demuestra a los ingenieros cmo manejar la calidad desde el principio del trabajo, cmo analizar los
resultados de cada trabajo, y cmo utilizar los resultados para mejorar el proceso del proyecto siguiente.
PRINCIPIOS DE PSP
El diseo de PSP se basa en los siguientes principios de planeacin y de calidad: [HUMPHREY; 95]
Cada ingeniero es esencialmente diferente; para ser ms precisos, los ingenieros deben planear su trabajo
y basar sus planes en sus propios datos personales.
Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente procesos
bien definidos y medidos.
Para desarrollar productos de calidad, los ingenieros deben sentirse personalmente comprometidos con la
calidad de sus productos.
Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlos en las etapas
subsecuentes.
Es ms eficiente prevenir defectos que encontrarlos y arreglarlos.
La manera correcta de hacer las cosas es siempre la manera ms rpida y ms barata de hacer un
trabajo.
Para hacer un trabajo de ingeniera de software de la manera correcta, los ingenieros deben planear de la
mejor manera su trabajo antes de comenzarlo y deben utilizar un proceso bien definido para realizar de la

Gua de laboratorio
rea de Programacin y Algoritmia
FACULTAD DE INGENIERIA

mejor manera la planeacin del trabajo.


Para que los desarrolladores lleguen a entender su funcionamiento de manera personal, deben medir el
tiempo que pasan en cada proceso, los defectos que inyectan y remueven de cada proyecto y finalmente
medir los diferentes tamaos de los productos que llegan a producir.
Para producir constantemente productos de calidad, los ingenieros deben planear, medir y rastrear
constantemente la calidad del producto y deben centrarse en la calidad desde el principio de un trabajo.
Finalmente, deben analizar los resultados de cada trabajo y utilizar estos resultados para mejorar sus
procesos personales.
Alcance de PSP

PSP le ayuda al Ingeniero de software a hacer mejor el trabajo de desarrollo


Cuando disea los programas
Cuando escribe los requisitos
Cuando escribe la documentacin del programa
Cuando prueba el software recin escrito
Cuando realiza tareas de mantenimiento
Y en general, en todas las actividades de desarrollo de software.

Necesidad de PSP
Son muchas las razones por las cuales se justifica utilizar PSP. Aqui hay algunas de ellas:

Muchos de los productos software que hoy se construyen son aplicaciones crticas y los errores
potenciales se incrementan.
La industria del software ha respondido a este hecho con rigurosos tests de prueba
Pero como la actual estrategia de prueba y correccin es incapaz de producir productos de la
calidad adecuada, la nica solucin posible es mejorar las disciplinas de la ingeniera del software
Las buenas estrategias encapsulan aos de conocimiento y experiencia
PSP es una de estas estrategias

Qu puede hacer PSP por usted como programador?


Puede convertirlo en un programador ms rpido o mas gil, o en uno que comete menos errores. Slo
tiene que aplicarlo y mejorara de manera progresiva. Para poder aplicar PSP tiene que empezar por
conocer bien lo que hace. Es la base de la mejora.
Ejemplo de mejora
Maurice Greene rompe el record mundial de 100 metros planos en atletismo en Atenas en Junio de 1999 1.
Cmo lleg a ser el mejor en 100 metros planos? Aunque haba sido un corredor brillante no terminaba de
ganar las carreras lo que estaba minando su carrera profesional. Fue a ver al entrenador John Smith a los
ngeles. Smith grab a Greene esprintando, y descompuso la carrera de Greene en
dos tramos o fases. Smith analiz cada fase, y enseo a Greene a mejorar cada una de ellas. As es como
llegaron a identificar el proceso definido y medible de carrera personal de Maurice Greene. Despus de
varios meses con este entrenador Greene empez a ganar carreras y durante varios aos fue el hombre
mas rpido del mundo.
Al igual que Greene antes de trabajar con Smith, usted ahora hace lo mejor que puede. Pero realmente no
sabe si est mejorando o incluso qu mejora quiere conseguir. Incluso aunque no quiera ser el mejor del

1 http://www.youtube.com/watch?v=ZSjpMxRZtZI

Gua de laboratorio
rea de Programacin y Algoritmia
FACULTAD DE INGENIERIA

mundo, seguro quiere hacer su trabajo de la mejor manera posible. As que igual que John Smith hizo con
Maurice Green, usted puede mejorar ostensiblemente si trabaja con la filosofa de gestin que propone PSP.

NIVELES O ETAPAS PSP

PSP tiene un marco de proceso de evolucin similar al que tiene CMM. PSP trata parcialmente 12 de las 18
KPAs definidas en el CMM. Las KPAs son las reas de procesos clave o Key Process Areas por su
significado en ingls, estas reas ayudan a guiar a los programadores a que exista un mejoramiento notable
en el proceso de software.
En CMM un nivel de madurez slo se alcanza si se logran cumplir todas las KPAs que exige cada nivel.
Sin embargo PSP slamente cubre de manera parcial estas KPAs debido a que es un complemento de
CMM y no depende uno del otro en ningn sentido por lo que es considerado como material de apoyo.
Como se ha visto anteriormente el Instituto de la Ingeniera del Software (SEI) ha desarrollado el proceso
personal del software para definir y reparar la holgura que existe entre el modelo de la madurez de la
capacidad y el individuo. Por lo tanto es ideal utilizarlo junto con CMM pero no es obligatorio ya que es un
proceso y no un modelo como lo es CMM.
Para desarrollar software de alta calidad, cada componente individual tambin debe de contar con la ms
alta calidad posible. La estrategia total de PSP es cerciorarse de que todos los componentes individuales se
desarrollen con la ms alta calidad. PSP logra esto proporcionando un marco de proceso personal ya
definido que el programador puede utilizar. Este marco es:

Gua de laboratorio
rea de Programacin y Algoritmia
FACULTAD DE INGENIERIA

Desarrollar un plan para cada proyecto y/o componente.


Registrar su tiempo de desarrollo.
Registrar sus defectos
Conservar sus datos en informes del proyecto
Utilizar sus datos para planear los proyectos y/o los componentes futuros.
Analizar sus datos para desarrollar sus procesos con ms calidad para mejorar su funcionamiento.

El proceso personal de software fue diseado para ayudar y guiar a los ingenieros de software a realizar
bien su trabajo y haciendo esto pueden llegar a cubrir las KPAs requeridas. PSP tambin muestra como
aplicar mtodos avanzados de ingeniera a sus proyectos y/o deberes diarios. Asimismo provee mtodos de
estimacin y de planeacin muy bien detallados que son necesarios para dar un seguimiento a su trabajo.
La disciplina del PSP provee un marco estructurado para desarrollar habilidades personales y mtodos que
se necesitarn ms adelante para ir forjando al ingeniero de software. Es importante que la calidad del
software desarrollado abarque hasta el ms mnimo detalle, por muy pequeo que ste sea, ya que si no se
hace as, puede daar el sistema entero.
La figura anterior muestra un diagrama que contiene todos los niveles de PSP. As mismo se muestra que
cada nivel cuenta con sus propios requerimientos o KPAs pertenecientes nicamente a PSP pero que
podran compartir intereses con las KPAs de CMM. Es importante para las personas o empresas que
quieran implementar PSP saber que deben de cumplir con todas las KPAs para que avancen de la mejor
manera posible al siguiente nivel. Cabe recalcar que se puede "personalizar" el proceso agregando o
removiendo tareas conforme a las exigencias de cada persona o empresa. Esto quiere decir que por lo
mismo de que PSP es un proceso y no un modelo, se puede amoldar a las necesidades del programador.