Ybadoo - Soluções em Software Livre
Colaboradores
Cristiano Lehrer

Lehrer, Cristiano. Ferramenta Web para Implantação do Personal Software Process. Em Programa Brasileiro da Qualidade e Produtividade em Software. 5ª edição. Brasília/DF: Ministério da Ciência e Tecnologia, Secretaria de Política de Informática, 2008. 241-245. 5 páginas.

O presente artigo descreve o desenvolvimento e implantação do Personal Software Process (PSP), um processo disciplinado de auto-melhoria, nas dependências do Instituto Centro-Oeste de Desenvolvimento de Software (ICODES), fornecendo aos seus colaboradores um modo para melhorar a qualidade, a predizibilidade e a produtividade do seu trabalho.

Atualmente, qualidade é um dos assuntos mais importantes na indústria de software, e provavelmente será ainda mais importante num futuro próximo, pois há cada vez mais sistemas controlados por software, fazendo com que a economia de praticamente todos os países seja muito dependente da qualidade dos software por eles usados (Vasconcelos, 2003).

Entretanto, a qualidade dos produtos de software está fortemente relacionada à qualidade do processo de software. A preocupação com o processo de software está relacionada à necessidade de entender, avaliar, controlar, aprender, comunicar, melhorar, predizer e certificar o trabalho dos colaboradores da área de software (Rocha, 2001).

Muitas organizações têm alcançado melhorias significativas nos seus processos e modos de trabalho através da aplicação de um modelo de gerenciamento de processo de software, entretanto, perceberam que para obterem índices melhores dependiam, ainda, do talento individual de seus colaboradores, de forma que estudos e pesquisas direcionados para a capacitação e melhoria do processo individual fossem realizadas (Albuquerque, 2004).

O presente artigo apresenta o estudo de caso da implantação, no Instituto Centro-Oeste de Desenvolvimento de Software, do processo pessoal Personal Software Process (PSP), projetado para resolver as necessidades de melhoria de colaboradores individuais e de organizações produtoras de software de pequeno porte.

O Personal Software Process (PSP), traduzido como Processo Pessoal de Software, foi desenvolvido por Watts Humphrey em 1989, apoiado pelo Software Engineering Institute (SEI). Humphrey é mundialmente conhecido por desenvolver o processo do Capability Maturity Model (CMM) e o Team Software Process (TSP) (Koscianski, 2006).

O PSP é um framework de formulários, diretrizes e procedimentos de desenvolvimento de software. Corretamente usado, o PSP provê os dados históricos que o engenheiro de software precisa para fazer e conhecer melhor seus compromissos, tornar os elementos rotineiros de seu trabalho previsíveis e mais eficientes, além de possibilitar a medição da qualidade dos produtos gerados (Albuquerque, 2004).

O modelo proposto por Humphrey concentra-se no projeto, codificação e fases de testes do desenvolvimento de software. Porém, o PSP não se aplica somente a eles, mas as outras fases do processo de desenvolvimento de software, inclusive na especificação de requisitos, manutenção de produto, planejamento de testes e desenvolvimento de documentação (Tavares, 2006).

O modelo do PSP consiste de quatro etapas, sendo os três primeiros subdivididos em dois níveis, totalizando sete níveis. Na etapa do PSP 0, é medido o tempo gasto em cada uma das fases do desenvolvimento, os defeitos inseridos e os encontrados, para cada fase. O modelo apresenta tabelas cujos campos fornecem dados para compor os relatórios (Albuquerque, 2004).

Dentro do PSP 0 existe o PSP 0.1, cujo objetivo é formar um consenso entre os desenvolvedores, para a adoção de um padrão de escrita para os programas, de modo a uniformizar os programas produzidos por uma equipe (Albuquerque, 2004).

O PSP é um caminho rápido, eficaz e de qualidade assegurada para se alcançar os níveis de maturidade exigidos pela maioria dos modelos e normas de qualidade utilizados no mercado, como o CMMI (Capability Maturity Model Integration) e o Modelo de Referência da Melhoria de Processos do Software Brasileiro (MPS.BR), auxiliando as organizações a melhorarem sua maturidade no desenvolvimento de software (Koscianski, 2006).

Inicialmente, o Personal Software Process foi implantando entre os colaboradores do Instituto Centro-Oeste de Desenvolvimento de Software de forma manual, sem o auxílio de sistemas computacionais, utilizando-se exclusivamente planilhas eletrônicas.

As informações pertinentes ao Personal Software Process foram coletadas através de planilhas, conforme exibido na Tabela 01, onde cada colaborador registra as tarefas realizadas no decorrer do dia, bem como o esforço (em horas) despendido para a realização das mesmas.

Tabela 1: Planilha de coleta de informações para o PSP
DataInícioAtividadeProjetoDescriçãoConcluídoInterrupçãoFim
0208:001.1.1OBID06Apresentação do serviçoSim00:0009:30
0209:301.1.2OBID06Análise do serviçoSim00:0510:00
0210:001.1.3OBID06Elaboração do Termo de AberturaSim00:1512:00
0214:001.1.4OBID06Elaboração da Proposta TécnicaNão00:2018:00
0308:001.1.4OBID06Elaboração da Proposta TécnicaSim00:1512:00

A seguir, as informações provenientes das planilhas eletrônicas dos colaboradores são consolidadas, visando serem utilizadas pela organização na elaboração de estimativas confiáveis e reais para o planejamento do esforço e do custo dos produtos de trabalho e tarefas a serem executados nos novos projetos. A Tabela 02 exibe o esboço da planilha consolidada.

Tabela 2: Consolidação das informações do PSP
AtividadeOBID06GPR06GRE06Média
1. Fase de Concepção    
    1.1. Solicitação de Serviço5,07,93,65,5
        1.1.1. Reunião com o cliente1,52,51,11,7
        1.1.2. Avaliação da Solicitação0,50,90,40,6
        1.1.3. Elaboração do Termo de Abertura3,04,52,13,2

Uma vez que o Personal Software Process estava estabelecido, iniciou-se a implementação de um sistema Web, desenvolvido sobre a plataforma JEE (Java Enterprise Edition), para automatizar o registro e a consolidação das informações provenientes de todos os colaboradores.

Dessa forma, o próprio desenvolvimento da ferramenta Web para o registro do Personal Software Process foi registrado pela metodologia, contribuindo para o levantamento de requisitos das necessidades requeridas pelo Instituto Centro-Oeste de Desenvolvimento de Software.

Desenvolvimento de um sistema Web para auxiliar na implantação do Personal Software Process dentro das dependências do Instituto Centro-Oeste de Desenvolvimento de Software, automatizando o registro e a geração dos relatórios requeridos pelo processo individual adotado.

O foco do projeto foi a automatização dos dois primeiros níveis do PSP, conhecidos como PSP 0 e PSP 0.1, onde são medidos apenas o tempo gasto pelo desenvolvedor um cada fase, bem como estimula a adoção de um padrão para a escrita dos programas produzidos pelos colaboradores.

Inicialmente, os colaboradores relutaram na adoção dessa metodologia, pela dificuldade de alterarem seus hábitos de desenvolvimento e por questionarem o real benefício que essa metodologia poderia agregar ao trabalho desenvolvido pelos mesmos. Essas dificuldades foram sendo solucionadas com o tempo, com treinamentos e conversas informais, através da conscientização dos colaboradores dos benefícios que a metodologia trazia para eles e para a organização.

O Instituto Centro-Oeste de Desenvolvimento de Software espera com a implantação do Personal Software Process, que a coleta e análise das informações relativas aos produtos desenvolvidos e aos processos implementados na organização em seus projetos, permitam um planejamento mais objetivo através de estimativas confiáveis e reais.

A implantação do Personal Software Process é estratégico para o Instituto Centro-Oeste de Desenvolvimento de Software, contribuindo para que o Instituto possa obter a certificação do seu processo de desenvolvimento, no modelo de referência MPS.BR, para o nível G (Parcialmente Gerenciado), além de contribuir para o aumento da produtividade dos serviços prestados, colaborando para a sustentabilidade financeira e econômica da organização.

A utilização da ferramenta abrirá novas perspectivas para o gerenciamento das atividades desempenhadas pelos colaboradores do Instituto Centro-Oeste de Desenvolvimento de Software, objetivando uma maior visibilidade gerencial das atividades e desempenho de cada colaborador, permitindo uma aferição mais precisa dos serviços executados, além de permitir o levantamento das necessidades de treinamento a serem ministrados para os colaboradores, a fim de corrigir as deficiências observadas.

A ferramenta implementada será inicialmente utilizada no Instituto Centro-Oeste de Desenvolvimento de Software, para posteriormente ser disponibilizada para as demais organizações associadas ao Instituto e para o público em geral, que poderão fazer o download da ferramenta diretamente do site do Instituto.

Apesar de ter sido originalmente desenvolvido em 1989 por Watts Humphrey, a utilização do Personal Software Process nas empresas brasileiras ainda é muito remota, motivada principalmente pelo desconhecimento dos desenvolvedores quanto a sua utilização e a falta de ferramentas computacionais que auxiliem na sua utilização.

O Instituto Centro-Oeste de Desenvolvimento de Software almeja facilitar e agilizar o preenchimento dos formulários requeridos pelo Personal Software Process, de forma que o desenvolvedor não desperdice tempo preenchendo os formulários, além de automatizar as tarefas de consolidação dos registros, fornecendo um retorno mais rápido e preciso sobre o desempenho do desenvolvedor.

A implantação do Personal Software Process exige um esforço considerável da organização e, principalmente, dos seus colaboradores, não apenas ao executar o trabalho e ao estudar os próprios métodos, mas na interferência com as práticas atuais.

A utilização do Personal Software Process pelo Instituto Centro-Oeste de Desenvolvimento de Software contribuiu para a melhora das estimativas utilizadas para a elaboração do Plano de Projeto, melhorando o planejamento e o acompanhamento dos cronogramas.

O Instituto Centro-Oeste de Desenvolvimento de Software pretende adequar a ferramenta desenvolvida para suportar as outras etapas do Personal Software Process, buscando sempre alcançar níveis maiores de qualidade.

Albuquerque, Jones de Oliveira. (2004). Gerência de Processo de Software em Pequena Escala: ênfase em PSP, TSP e P-CMM. Lavras: UFLA/FAEPE. 113 páginas.

Koscianski, André. (2006). Qualidade de Software. São Paulo: Novatec. 395 páginas.

Rocha, Ana Regina Cavalcanti da. (2001). Qualidade de Software. São Paulo: Prentice Hall. 303 páginas.

Tavares, Pablo. (2006). PSP Home. Acessado em Junho de 2006.

Vasconcelos, Alexandre Marcos Lins de. (2003). Introdução à Engenharia de Software e aos Princípios de Qualidade. Lavras: UFLA/FAEPE. 104 páginas.

Artigo científico apresentado no Programa Brasileiro da Qualidade e Produtividade em Software