Vous êtes sur la page 1sur 50

Introduccin al Personal

Software Process
SWENET PRO2 Module

Developed with support from the National Science Foundation


PRO2 - 1

Descripcin General

Procesos Principales o fundamentales


PSP Conceptos y estructura
PSP Planeacin y Medicin
PSP Gestin de la Calidad
PSP Resultados
Referencias

SWENET

PRO2 - 2

Software Processes 1
En las ltimas dcadas se ha producido una cantidad
muy grande de recursos dedicados a la definicin,
implementacin y mejora de los procesos para el
desarrollo de software.
Una lista de referencias al final de esta presentacin
se refiere a documentos que proporcionan
antecedentes y discusin para su posterior estudio
de las caractersticas del proceso de software y sus
problemas.

SWENET

PRO2 - 3

Software Processes 1
Un proceso es una serie de elementos de entrada
que incluyen, etapas, actividades restricciones y
recursos y que producen una salidad prevista de
algun tipo.
Un proceso de software (o un proceso de ingeniera
de software) gua y apoya el diseo y desarrollo de
un producto de elaboracin de software.

SWENET

PRO2 - 4

Software Processes 2
Un proceso de software "definido" tendra una
descripcin documentada de sus caractersticas
que normalmente abarcaran las siguientes:
Un diagrama grafico que mostrara la secuencia del
proceso, (Scrips) conceptos y descripcin que definen
los pasos del proceso
Mtricas que lo miden y cuantifican

SWENET

PRO2 - 5

Software Processes 2
Formularios y plantillas para recabar datos del
proceso y documentacin de los resultados del
proceso.
Normas y procedimientos documentados para llevar
a cabo cada uno de nuestros pasos del proceso.

SWENET

PRO2 - 6

Un Marco de Proceso
A finales de 1980 Watts Humphrey en el Instituto
de Ingeniera de Software (SEI), Carnegie Mellon
University de Pittsburgh, desarroll el SW-CMM
(Capability Maturity Model Software) para ayudar a
las organizaciones a construir procesos de
ingeniera de software eficaces [Paulk 1993]. Ha
sido ampliamente adoptado en la industria, sobre
todo por las organizaciones de desarrollo de
software de gran riesgo y tamao.

SWENET

PRO2 - 7

Un Marco de Proceso
La siguiente diapositiva describe el modelo de
cinco niveles que abarca buenas prcticas de
ingeniera y de gestin.

SWENET

PRO2 - 8

Un Marco de Proceso
El modelo se basa en prcticas efectivas de
ingeniera de software denominadas reas Clave
de Proceso (KPA).
Muchas organizaciones de desarrollo de software
se han evaluado utilizando el marco SW-CMM. Los
resultados de estas evaluaciones se muestran en
una diapositiva despus.

SWENET

PRO2 - 9

SW-CMM Levels

SWENET

PRO2 - 10

SW-CMM Assessment

251 organizations [SEMA 2015]

SWENET

PRO2 - 11

PSP Concepts
El Personal Software Process SM (PSPSM) es el
proceso para desarrollo de software en el SEI para
abordar algunas de las prcticas SW-CMM a nivel
del programador individual [Humphrey 1995].
El PSP ofrece un enfoque gradual que ayuda a los
ingenieros a desarrollar un "nivel 5" proceso
individual.

SWENET

SM

Personal Software Process and PSP are service marks of Carnegie MellonPRO2
University.
- 12

PSP Concepts
Para el entrenamiento de PSP, el personal utiliza de
acuerdo a esta metodologa el proceso PSP
establecido y deben:
Realizar 10 ejercicios de desarrollo de software
midiendo y registrando los KPIs definidos.
Analizar de manera continua los datos sobre su trabajo
Debern innovar y mejorar su rendimiento.

SWENET

SM

Personal Software Process and PSP are service marks of Carnegie MellonPRO2
University.
- 13

PSP Concepts
PSP induce una filosofa de "auto-evaluacin, es
decir, los ingenieros pueden utilizar su propia
informacin y datos para determinar el valor de la
PSP. (Determinando los Kpis apropiados)
La formacin PSP est organizada en un modelo
jerrquico, incremental que evoluciona de acuerdo a
su madurez.

SWENET

SM

Personal Software Process and PSP are service marks of Carnegie MellonPRO2
University.
- 14

Software Engineering and the PSP


El PSP ofrece la oportunidad y el modelo para
incorporar las mejores prcticas de ingeniera
de software dentro de un marco individual en
el proceso de fabricacin de software.
The PSP addresss 12 of the SW-CMM 18
KPAs.(Key Process Areas)
For this reason, PSP sometimes referred to as a
Level 5 process.

SWENET

PRO2 - 15

Software Engineering and the PSP


La informacin acerca del entrenamiento de
PSP deben mostrar que el personal e
ingenieros mejoran su planeacin y su
capacidad para producir productos de mayor
calidad sin incrementar los costos.

SWENET

PRO2 - 16

PSP Key Process Areas

SWENET

PRO2 - 17

PSP Courses

Los cursos de curso PSPA


No instruye completamente en la temtica de PSP
A menudo se ofrece como parte de Gestin de
Proyectos.
El curso completo de PSP es un curso de tres
semanas y cuarenta horas por semana con un total
de 120 horas impartido por la Univessidad de
Carnigie Mellon.
Uses Introduction to the Personal Software Process
[Humphrey 1997]
Uses Discipline for Software Engineering [Humphrey
1995]

SWENET

PRO2 - 18

PSP Structure 1
Team Software
Process

PSP3

Gestin de los
Requerimientos y
Configuracin

Desarrollo cclico

PSP2.1

PSP2

Revisin de cdigos
Revisin de diseo

PSP1

Plantillas de diseo

PSP1.1

Medicin de estimacin
Reportes de revisiones

Planificacin de tareas
Programas calendarizados

PSP0.1
PSP0

Proceso Actual
Mediciones bsicas

SWENET

Codificacin estndar
Propuestas de mejora
Medicin del tamao

PSP components

process scripts
(metrics) benchmarks
forms, logs and templates
standards

PRO2 - 19

PSP Structure 2
PSP0: Establece una linea base de medida inicial
de rendimiento sobre el desarrollo de software
PSP1: controla estimaciones de tamao, recursos,
tiempos y horarios
PSP2: Aprendizaje sobre errores, defectos y record
y control de rendimiento.

SWENET

PRO2 - 20

PSP Structure 2
PSP3: Escala los mtodos de PSP para grandes
proyectos.
El PSP se puede extender o ampliar para equipos
de trabajo dentro del desarrollo de grandes
desarrollo s de programacin y sistemas
El PSP es un prerequisito para gestionar Team
Software Process TSP

SWENET

PRO2 - 21

The PSP0 Process Flow


Requirements
PSP0 Process
Planning
Development
Process
scripts

Design
Code
Compile
Test
Postmortem

SWENET

Finished product

Time
and
defect
logs
Plan
summary

PRO2 - 22

PSP0 Process Script

SWENET

PRO2 - 23

PSP Planning
El PSP dirige y enmarca a los desarrolladores como pueden
estimar y planear el trabajo.
Las claves de entradas para realizar la mejor estimacin y
planificacin son:
Informacin histrica relevante
Mtodos estadsticos slidos
Un proceso bien definido de planificacin y estimacin

A medida de que los desarrolladores ganan experiencia


aprenden a realizar mejores estimaciones y planes .

SWENET

PRO2 - 24

Measurement in a Defined Process


Informacin histrica es necesaria para una efectiva
planificacin.
La medicin nos indica donde cuando y como las tareas
son desarrolladas y cumplidas
La informacin proporcionada por las mediciones es
usada para evaluar y mejorar el proceso.
El proceso de PSP utiliza tres tipos de medicin:
Esfuerzo (rendimiento)
Tamao
Defectos

SWENET

PRO2 - 25

Medicin del Rendimiento


El PSP mide el rendimiento como el trabajo realizado
en minutos.
Apropiado tabto para pequeos o grandes proyectos
Fcil de medir y con precisin

Se deben mantener registros precisos de tiempo


dedicados a cada tarea de programacin.
Registros automticos de tiempo son usados para lograr
este propsito.

Tiempos de interrupcin son considerados y


descontados del tiempo efectivo de desarrollo de
tareas.
Se debe computar el tiempo efectivo dedicado al
desarrollo del software.
SWENET

PRO2 - 26

Tiempos efectivos de desarrollo1

SWENET

PRO2 - 27

Time Recording Log 2


Fase

Anote siempre la fase de desarrollo en la cual esta trabajando. Ejem.


Diseo

Fecha
Registre siempre la fecha de desarrollo de la tarea. Ejem. 12-04-2015

Comienzo
Registre siempre la hora y compute en minutos a la hora que comienza a
desarrollar la tarea de la fase correspondiente. Ejem. 11:25

SWENET

PRO2 - 28

Registros de tiempos 2
Tiempos de Interrupcin.Interruption
Registre siempre los tiempos de las interrupciones por eventos
fuera del desarrollo de tareas. Ejem. 15 minutos de Cofee Brake
Alto: Introduzca el tiempo en minutos cuando deje de trabajar en
una fase del proyecto, aunque no haya terminado con esa fase.

Comentarios: describa
El motivo de la interrupcin
La tarea que estaba haciendo
Cualquier otra cosa que afecta significativamente el tiempo en su
trabajo

SWENET

PRO2 - 29

Medicin del tamao1


Datos del tamao se usan para estimar el tiempo de
desarrollo y el nmero de defectos esperados.
Existen un nmero importante de criterios para para lograr
una buena medicin del tamao. estas mediciones.

Mantiene una buena correlacin con el rendimiento


Tiene una definicin precisa
Puede ser calculada automticamente (Process Dashboard Softwar)
Este dato es importante para la planificacin
Es significativa para el lenguaje, diseo y mtodo de desarrollo

La estimacin del tamao en lneas de cdigo (LOC)


satisfacen plenamente este criterio de medicin del
tamao.

SWENET

PRO2 - 30

Medicin del Tamao 2


El PSP utiliza lineas de codigo para la medicin del
tamao.
Existen varias maneras de interpretar o definir el
significado de las lineas de cdigo:
Un conteo fisico de LOC es el nmero de lineas en el que no son
consideradas las lineas en blanco ni las lineas de comentarios del codigo
fuente.
Un conteo lgico LOC se relaciona con el contenido lgico de un
programa pero depende del de la definicin que los programadores
definan como lineas logicas de Codigo
Por simplicidad, el PSP utiliza un estndar de codificacin que requiere
que cada LOC lgico equivale a una lnea fsica.

SWENET

PRO2 - 31

Medicin de defectos 1
Un defecto en PSP puede ser:

Algo que deba ser cambiado o corregido por un error cometido en el


diseo o desarrollo del cdigo etc. durante la fabricacin del software
Clasificacin de acuerdo al tipo estandarizado de defecto.

Para cada defecto, los estudiantes registran el tipo


de defecto, una descripcin del defecto, y el
tiempo de solucin.
Todos los cambios relacionados a un solo errowr se cuentan como un
defecto.All changes related to a single error are counted as one defect.
El tiempo computado a la solucin del defecto se registra en la fase en
la cual el defecto apareci y es corregido. Ejem. Compilacin, prueba.
Un registro de tiempo preciso se utiliza para este propsito.

SWENET

PRO2 - 32

Defect Recording Log 1


Student
Instructor
Program
Date Def.
Num.

SWENET

Date
Class
Type

Phase
Injected

type
doc
syn
bld
asg
int

code
name
10 Documentation
20 Syntax
30 Build, Package
40 Assignment
50 Interface

chk
dat
fun
sys
env

60 Checking
70 Data
80 Function
90 System
100 Environment

Phase
Removed

Fix
Time

Description

description
comments, messages
spelling, punctuation, typos, instruction formats, etc.
change management, library, version control
declaration, identifier names, scope, limits
procedure calls, context clauses, and references, I/O, user prompts,
output labeling
error messages, inadequate checks and exception handling
structure, content
logic, pointers, loops, recursion, computation, function defects
system configuration, timing, memory
tool support and operating system problems

PRO2 - 33

Defect Recording Log 2


Encabezado.- Anote el nombre del desarrollador, la fecha el lider de
proyecto y el nombre o nmero de programa.
Fecha.- Registre la fecha en la que brinco o se detecto el defecto y
fu solucionado.
Nmero.- Entre con un nmero consecutivo para este defecto,
empiece con el nmero 1.
Tipo.- anote el tipo de defecto de acuerdo al estandar de defectos
establecido.
Inyectado.- Registre la fase en la que considere que se cometio el
defecto.
Eliminado.- Anote la fase en la que fue encontrado y removido el
defecto.
Tiempo computado.- Registre el tiempo que llev remover el
defecto, trate de anotar el tiempo exacto o a su mejor juicio.

SWENET

PRO2 - 34

Formulario de Resumen de Planificacin


Los datos medidos se utiliza
para la planificacin, el
seguimiento y el anlisis de
las actividades de desarrollo
de software.
El formulario de Resumen
del Plan se utiliza para la
grabacin de los datos de
planificacin y resumir los
resultados.
Tablas 19.1 y 19.2 en la
[Humphrey 1997] dan
instrucciones y un ejemplo
para completar el
formulario.
SWENET

PRO2 - 35

PSP Resultados en la prctica en la


industria de desarrollo de Software
Aunque ha habido algunos casos notables en algunas industrias
de desarrollo de software se presentan, a pesar de que no ha sido
facil el programa de PSP se han determinado casos de xito en
algunas industrias de software.
En la mayora de los casos debe haber un cambio cultural y conductual por
parte de los ingenieros desarrolladores y debe ser adoptado y adaptado al
medio cultural de cada pas para el dominio de su aplicacin.
El marco terico es considerado inamobible para lograr los resultados en la
prctica y el beneficio econmico y al momento de una auditora de
certificacin
PSP requiere de mucha disciplina que el personal y los equipos
desarrolladores tienen que crear y mantener.
PSP dificilmente podra implantarse en organizaciones con un bajo nivel de
madurez.

Mayores resultados se han logrado cuando se ha logrado una


participacin como equipos de desarrollo de software, (TSP)
SWENET

SM

Team Software Process and TSP are service marks of Carnegie Mellon University.
PRO2 -

36

PSP Resultados en la prctica en la


industria de desarrollo de Software
Se presentan a continuacin resultados reales logrados en la
industria de desarrollo de software tomando como ejemplo una
industria en la India.
Estos ejemplos representan el avance logrado durante el
desarrollo de 10 proyectos consecutivos desarrollados de escala
intermedia para software dedicado al manejo y control de
copiadoras de una marca alemana.
Otros paises estan en
sdesarrolloxxxxxxxxxxxxxxxxxxxxxxxxxx

SWENET

SM

Team Software Process and TSP are service marks of Carnegie Mellon University.
PRO2 -

37

Size Estimation Accuracy

Presicin en el calculo de la estimacin del


Tamao
0.9

0.8

PROBE size
estimation begins

0.7

Assignment Average
PSP Level Average

0.6

0.5

0.4

0.3
1

Assignment Number
SWENET

10
1997 SEI Study

PRO2 - 38

Effort Estimation Accuracy

Presicin en la estimacin del rendimiento


0.7
Linear regression
for effort
estimation begins

0.6

0.5

Assignment Average
PSP Level Average

0.4

0.3

0.2
1

10

Assignment Number
1997 SEI Study

SWENET

PRO2 - 39

Medicines (indicadores) de la Calidad PSP


Q uality Me asure
Total defects/KLOC
P roduct
Q uality
Test defects/KLOC

P roce ss
Q uality

SWENET

De scription
the number of defects found in development, per
1000 lines of code
the number of defects found in test, per
pe r 1000
lines of code
Yield
the percent of defects found before compile
Appraisal COQ
the percent of total develoment time spent in
(Cost of Quality) design review and code
code review
Failure COQ
the percent of total develoment time spent in
compile and test
Total COQ
Appraisal COQ + Failure COQ
A/F R
Appraisal COQ
Failure COQ
Review rate
the number of lines of code reviewed per hour in a
- LOC/hour
review (code review or design review)
Defect removal rate
the rate at which defects are removed in a defect
- defects/hour
removal phase (design review, code review,
compile, test)
PRO2 - 40

Total de defectos/KLOC removidos


Total Defects/KLOC Removed
Mean Defects Per KLOC

140

Design review
and code review
introduced

120

100

80

60

40
1

SWENET

Assignment Number

10

PRO2 - 41

Defectos removidos/KLOC en fase


de pruebas
Defects/KLOC Removed in Test 1 Std. Dev.
140

Mean Defects per KLOC


Removed During Test

120

Defect analysis
report written

Design review
and code review
introduced

100
80
60
40
20
0
1

10

Assignment Number
SWENET

PRO2 - 42

Defectos removidos Grfico de


comparacin
60%

Mean Percent of
Defects Removed

50%
40%

Design Review
Code Review
Compile
Test

30%
20%
10%
0%
1

Assignment Number
SWENET

10
1997 SEI Study

PRO2 - 43

Defect Fix Times


Defect fix times (in minutes) for an individual PSP desarrollador:
Defects
Injected

Design

Code

Total

SWENET

Defects
Found

Design
Review

Code
Review

Compile

Test

Total

Tot. Fix
Time
Tot.
Defects
Avg. Fix
Time
Tot. Fix
Time
Tot.
Defects
Avg. Fix
Time
Tot. Fix
Time
Tot.
Defects
Avg. Fix
Time

21

109

138

17

28

1.24

1.25

3.00

18.17

4.93

32

52

75

159

29

42

15

86

1.10

1.24

5.00

1.85

21

37

55

184

297

17

33

43

21

114

1.24

1.12

1.28

8.76

2.61

PRO2 - 44

Test Defects/KLOC vs. A/F R

Test Defects/KLOC

Test Defects vs. A/FR - Class


200
180
160
140
120
100
80
60
40
20
0
0

Appraisal to Failure Cost Ratio


CMU 94 data

SWENET

PRO2 - 45

Productivity

2007 SEI Study


SWENET

PRO2 - 46

Conceptos a recordar
El PSP implementa las practicas clave del CMM en el
personal de manera individual y a nivel equipo
respectivamente.
El PSP es un proceso de nivel 5.

El PSP es flexible y tolerable pero requiere mucha


disciplina para su manejo y operacin y el compromiso
de la Alta Direccin y de todo el personal.

SWENET

PRO2 - 47

Conceptos a recordar
The PSP can
Reducir desviaciones en tiempos durante el desarrollo
Aumentar la calidad en el proceso y el producto improve
the quality of the delivered product
Mejorar la productividad y rentabilidad durante los
desarrollos o no reducirla pero mantenerla.

SWENET

PRO2 - 48

Sistema de Calidad Personal


En el proceso PSP los desarrolladores realizan
revisiones al diseo y al cdigo.
Los ingenieros se ajustan a un proceso de revisin
previamente establecido.
Disean y elaboran sus listas de revisin.
Se someten al procedimiento establecido (Script) y
rigurosamente aplican sus listas de verificacin. .
Recolectan los datos e informacin de las revisiones y la utilizan
para mejorar el proceso.

Los ingenieros recaban informacin y datos, computan


y analizan mtricas y utilizan sus resultados para
mejorar los procesos y productos.

SWENET

PRO2 - 49

References
[Davis 2003] Davis, N. and Mullaney, J., The Team Software Process (TSP) in Practice: A
Summary of Recent Results, CMU/SEI-2003-TR-014, Software Engineering Institute,
Carnegie Mellon University, September 2003.
[Ferguson 1997]Ferguson, P., Humphrey, W., Khajenoori, S., Macke, S., and Matvya, A.
"Introducing the Personal Software Process: Three Industry Case Studies," Computer, pp.
24-31, May 1997.
[Hayes 97] Hayes, W. and Over, J.W., The Personal Software Process: An Empirical Study
of the Impact of PSP on Individual Engineers, CMU/SEI-97-TR-001, Software Engineering
Institute, Carnegie Mellon University, December 1997.
[Humphrey 1995] Humphrey, Watts S., A Discipline for Software Engineering, Addison
Wesley, 1995
[Humphrey 1997] Humphrey, Watts S., Introduction to the Personal Software Process,
Addison Wesley, 1997.
[Paulk 1993] Paulk, Mark C., et. al., Capability Maturity Model for Software, Version 1.1,
CMU/SEI-93-TR-024, Software Engineering Institute, Carnegie Mellon University, 1993.
[SEMA 2003] Software Engineering Measurement and Analysis, Process Maturity Profile:
Software CMM, CBA IPI and SPA Appraisal Results, 2003 Mid-Year Update, Software
Engineering Institute, Carnegie Mellon University September 2003,
http://www.sei.cmu.edu/sema/pdf/SW-CMM/2003sepSwCMM.pdf.

SWENET

PRO2 - 50

Vous aimerez peut-être aussi