Resenha - Aplicação do Modelo PSP Manual e Amparado por ferramenta Case em um Estudo de caso
APLICAÇÃO DO MODELO PSP MANUAL E AMPARADO POR FERRAMENTA CASE EM UM ESTUDO DE CASO DE FÁBRICA DE SOFTWARE BRASILEIRA
Aplicação experimental do Personal Software Process (PSP) em uma fábrica de software Brasileira
Denis Ávila Montini
Professor Mestre em Engenharia de Produção
Universidade Paulista - Engenharia de Produção
Rua Dr. Bacelar 1212 – Térreo - CEP 04026-002 – São Paulo – SP. denisavilamontini@yahoo.com.br
Mauro de Mesquita Spinola
Professor Doutor Engenharia de Produção
Universidade Paulista - Engenharia de Produção
Rua Dr. Bacelar 1212 – Térreo - CEP 04026-002 – São Paulo – SP.
José Benedito Sacomano
Professor Doutor Engenharia de Produção
Universidade Paulista - Engenharia de Produção
Rua Dr. Bacelar 1212 – Térreo - CEP 04026-002 – São Paulo – SP.
Marcos Nascimento
Professor Doutorando Engenharia de Produção
PSF – Pesquisadores sem Fronteira
Rua Augusto Perroni 606 1º And.- 05539-020 Butantã – São Paulo – SP
Danilo Battaglia
Analista Consultor – Pesquisadores sem Fronteira
PSF – Pesquisadores sem Fronteira
Rua Augusto Perroni 606 1º And.- 05539-020 Butantã – São Paulo – SP.
Danilo.battaglia@terra.com.br
RESUMO
O artigo "APLICAÇÃO DO MODELO PSP MANUAL E AMPARADO POR FERRAMENTA CASE EM UM ESTUDO DE CASO DE FÁBRICA DE SOFTWARE BRASILEIRA" aborda a aplicação experimental do Personal Software Process (PSP) em uma fábrica de software brasileira para aprimorar a qualidade em projetos de desenvolvimento de software, alinhando-se aos requisitos do CMMI nível 2. O estudo compara duas estratégias distintas de implementação do PSP: uma com coleta de dados manual e outra com o auxílio de uma ferramenta CASE (Computer-Aided Software Engineering).
Palavras-chave:
o PSP
o CMMI
o Fábrica de Software
o Melhoria de Processos
o Ferramenta CASE
1. INTRODUÇÃO
Este artigo se insere no contexto da melhoria contínua da qualidade em projetos de desenvolvimento de software, uma área de crescente relevância e complexidade para a indústria brasileira. Diante da necessidade de as fábricas de software nacionais aprimorarem suas competências e atenderem a requisitos de clientes cada vez mais exigentes, este estudo propõe-se a explorar a aplicação do Personal Software Process (PSP) como um caminho para a disciplina e controle.
O problema de pesquisa central é investigar como a implementação do PSP, tanto de forma manual quanto com o auxílio de ferramentas CASE, impacta o desempenho e a qualidade de projetos de software em uma fábrica brasileira, buscando entender os pontos fortes e vulnerabilidades de cada abordagem.
Para tanto, o objetivo geral deste trabalho é analisar os efeitos da adoção experimental do PSP na disciplina de processos de desenvolvimento de software, visando a aderência aos requisitos do CMMI nível 2. A justificativa para essa abordagem reside na lacuna de estudos comparativos detalhados sobre as diferentes estratégias de implementação do PSP em um contexto prático brasileiro, o que torna a revisão exploratória essencial para fornecer insights valiosos sobre a viabilidade e as melhores práticas para a gestão de projetos de software. Por meio de um estudo de caso, busca-se apresentar uma experiência prática que possa servir de base para outras organizações no seu caminho rumo à maturidade de processo.
2. METODOLOGIA
Este estudo não se trata de uma revisão bibliográfica sistemática no sentido formal, mas sim de um estudo de caso prático e exploratório que aplicou e analisou o modelo PSP em um ambiente de fábrica de software brasileira. A metodologia focou na observação e coleta de dados de projetos reais para comparar duas estratégias distintas de implementação do PSP.
A pesquisa foi conduzida através da aplicação experimental do PSP em um lote específico de programas desenvolvidos para um cliente da área financeira. A coleta de dados ocorreu em duas fases principais:
- Estratégia Manual: Inicialmente, a coleta de dados necessários para o modelo PSP foi realizada manualmente, com o preenchimento de formulários específicos pelos analistas. Essa fase permitiu a montagem de uma base de dados inicial e a calibração da capacidade da equipe. Os colaboradores passaram por treinamento e monitoramento pelo Software Engineering Process Group (SEPG) para assegurar o preenchimento correto dos formulários.
- Estratégia Amparada por Ferramenta CASE: Em uma segunda fase, a coleta de dados e o acompanhamento dos processos foram realizados com o apoio de uma ferramenta CASE, especificamente a Innovative Suite 1.0. Esta ferramenta foi escolhida por comportar as métricas do PSP e organizar os processos de desenvolvimento de software. Os analistas e o pessoal envolvido receberam treinamento para a utilização da ferramenta e o abastecimento direto das informações.
Método de Análise:
Os dados coletados em ambas as estratégias foram tabulados e analisados criticamente para comparar o desempenho e a qualidade dos projetos. A análise focou nos seguintes aspectos:
- Rendimento e Produtividade: Avaliação das horas utilizadas em desenvolvimento e testes, e o impacto na assertividade do prazo.
- Qualidade: Medição do número de pontos de controle e não-conformidades, permitindo a identificação de distorções entre o estimado e o realizado.
- Impacto no Planejamento: Análise de como as informações coletadas e processadas, tanto manual quanto via ferramenta, influenciaram a acurácia das estimativas para projetos futuros e a diminuição de riscos.
- Vantagens e Vulnerabilidades: Comparação dos pontos fortes e fracos de cada estratégia (manual vs. CASE) em relação à assimilação da metodologia, esforço de implementação, custo e agilidade na obtenção de informações.
Limitações do Estudo:
É importante notar que, como um estudo de caso, os resultados são específicos ao ambiente da fábrica de software brasileira em questão e ao lote de programas analisado. Embora os dados ofereçam insights valiosos, a generalização dos resultados para outras organizações pode exigir estudos adicionais. Além disso, o estudo se concentrou na implantação dos níveis iniciais do PSP (0 e 0.1), e a evolução para níveis mais avançados poderia apresentar desafios e benefícios distintos. O artigo também menciona que a manipulação de erros não tratados foi uma limitação não abordada profundamente.
3. REVISÃO DA LITERATURA
3.1 O Personal Software Process (PSP) como Ferramenta de Disciplina e Auto Melhoria
O Personal Software Process (PSP) emerge na literatura como uma abordagem fundamental para a disciplina e a melhoria contínua da qualidade no desenvolvimento individual de software. Concebido por Watts S. Humphrey (1994, 2000), o PSP é um conjunto de regras e métricas que capacitam o engenheiro de software a monitorar e aprimorar seu próprio processo de trabalho. Segundo Sommerville (2003), o PSP constitui um processo de trabalho pessoal que auxilia no planejamento das atividades de desenvolvimento, utilizando um sistema de informações amparado por formulários. Pedrycz (2003), por sua vez, ressalta que o PSP oferece um conjunto de regras que permite o monitoramento do processo de desenvolvimento por meio de métricas.
Convergências: A literatura é unânime em apontar o PSP como um processo disciplinado de auto melhoria. Todos os autores convergem na ideia de que ele fornece os dados históricos necessários para que o desenvolvedor compreenda melhor seus compromissos, torne elementos rotineiros do trabalho mais previsíveis e confiáveis, e possibilite a medição da qualidade dos produtos gerados. A ênfase é na disciplina individual como base para a melhoria do processo de software.
Contribuições Teóricas e Práticas: Teoricamente, o PSP estabelece um framework robusto para a medição e análise do desempenho individual, provendo uma base científica para o planejamento de projetos. Na prática, suas contribuições são diretas: ao registrar tempos e defeitos, e ao padronizar atividades (como codificação e testes), o PSP capacita os engenheiros a fazer estimativas mais realistas, diminuir riscos de projeto e melhorar a qualidade dos artefatos desde a origem, antes mesmo que os problemas escalem para o nível da equipe ou da organização. O artigo destaca que o cumprimento de prazos foi consistentemente atingido uma vez que as especificações e o andamento das atividades passaram a ser controlados pelas práticas do PSP.
3.2 O CMMI e a Busca pela Maturidade Organizacional em Software
Em paralelo ao foco individual do PSP, o Capability Maturity Model Integration (CMMI), desenvolvido pelo Software Engineering Institute (SEI) (Rasmussen, 2003; Stromberg & Mutafelija, 2003), representa um modelo de capacidade e maturidade para a gestão de projetos e processos de desenvolvimento de software em nível organizacional. O CMMI é amplamente reconhecido como uma estrutura para a melhoria de processos, com foco na integração e gerenciamento de atividades em toda a empresa.
Convergências e Relações: Há uma clara convergência na literatura, e especialmente no presente artigo, de que o CMMI e o PSP são complementares. Embora o CMMI atue em uma esfera mais ampla, focando na maturidade da organização e na integração de processos, o PSP, com sua disciplina individual, é visto como um "bom ponto de partida" (conforme o artigo) para atender aos requisitos do CMMI, particularmente o nível 2 (Gerenciado), que aborda planejamento e acompanhamento de projetos, medição e análise, e garantia da qualidade de produtos e processos. O artigo mostra que as práticas do PSP (registro de tempo, defeitos, estimativas) podem disciplinar os processos exigidos pelo CMMI nível 2.
Contribuições Teóricas e Práticas: O CMMI oferece uma visão evolutiva da maturidade das organizações de software, permitindo que elas progridam em seus processos de forma estruturada. Teoricamente, ele provê um caminho claro para a padronização e otimização, o que é crucial para a competitividade em um mercado globalizado (SOFTEX, 2002). Praticamente, a implantação do CMMI, mesmo que incremental, como exemplificado pela empresa AML no artigo, visa melhorar competências, formalizar requisitos e estabelecer um gerenciamento integrado de projetos. A adoção de práticas como o PSP demonstra como o foco no indivíduo pode subsidiar a conquista de níveis de maturidade organizacional mais elevados.
3.3 Análise Comparativa de Estratégias de Implementação de Processos: Manual vs. Automatizado (CASE)
A efetividade na implementação de processos de melhoria, como o PSP, depende não apenas da metodologia em si, mas também das estratégias de suporte e automação. O artigo aprofunda essa discussão ao comparar a aplicação do PSP de forma manual versus o uso de ferramentas CASE (Computer-Aided Software Engineering).
Convergências e Divergências:
- Convergências: Ambos os métodos (manual e CASE) demonstraram ser eficazes em disciplinar as atividades, assegurar o cumprimento de prazos (uma vez que as especificações e o andamento das atividades foram controlados) e fornecer dados para o controle e melhoria das estimativas. Em ambos os casos, a necessidade de treinamento dos colaboradores foi crucial para o sucesso da implantação do método.
- Divergências: As diferenças residem principalmente na facilidade de assimilação, esforço operacional, custo e escalabilidade. O processo manual é mais fácil de assimilar e demanda menor investimento inicial, sendo fundamental para a constituição da maturidade inicial da empresa. No entanto, é mais trabalhoso e tem limitações na capacidade humana de coletar, tabular e analisar grandes volumes de dados. A ferramenta CASE (como a Innovative Suite 1.0, citada no artigo) oferece ganho em escala, agilidade na informação e facilidade de análises complexas (cruzamento de dados, previsões), sendo justificada para projetos de maior porte (acima de 100 pontos de função). Contudo, exige um treinamento mais sofisticado e um investimento inicial mais significativo.
Contribuições para a Área de Estudo: Esta linha de pesquisa, exemplificada pelo estudo de caso, contribui ao fornecer um quadro prático e comparativo sobre as implicações de diferentes abordagens de implementação de processos. Ela revela que a escolha da estratégia (manual ou CASE) não é única e deve ser adaptada ao contexto da organização, considerando o tamanho dos projetos, a criticidade das informações e a maturidade da equipe. O artigo sugere que o "ganho está nas variações estratégicas para a implementação do projeto", oferecendo flexibilidade aos engenheiros na tomada de decisão. Uma lacuna implícita reside na necessidade de estudos que aprofundem o impacto a longo prazo e os custos-benefícios totais das duas abordagens em ciclos de vida completos de grandes projetos.
4. DISCUSSÃO
Tendências:
O campo de estudo da engenharia de software e gestão de projetos demonstra uma clara tendência à busca por maior disciplina e previsibilidade no desenvolvimento de software. Há um consenso crescente de que a melhoria contínua da qualidade não é apenas um diferencial, mas uma necessidade para a competitividade, especialmente em contextos como o da indústria brasileira de software. Modelos como o CMMI são amplamente adotados como frameworks para elevar a maturidade organizacional, enquanto abordagens como o PSP ganham destaque por fomentar a disciplina em nível individual, que é a base para a melhoria em escala. O artigo corrobora essa tendência ao demonstrar como a aplicação do PSP, em suas diferentes formas, contribui diretamente para o atendimento dos requisitos de controle e qualidade do CMMI nível 2. Não há divergências significativas apresentadas no artigo quanto à relevância desses modelos; pelo contrário, ele explora como eles podem ser aplicados de forma complementar e eficaz.
Lacunas:
Apesar das importantes contribuições, o estudo de caso aponta para algumas lacunas e áreas que merecem mais atenção em pesquisas futuras:
- Aprofundamento em Níveis Avançados do PSP: O estudo focou na implantação inicial dos níveis 0 e 0.1 do PSP. Uma lacuna é a exploração de como os níveis superiores do PSP (que adicionam características como estimativa de trabalho, revisões de código e projeto) impactariam ainda mais o desempenho e a qualidade em cenários reais.
- Análise a Longo Prazo e em Diversos Contextos: Como um estudo de caso específico, a generalização dos resultados pode ser limitada. Há uma lacuna para pesquisas que investiguem a aplicação do PSP em diferentes tipos de fábricas de software, com variados tamanhos de equipe, complexidade de projetos e contextos de mercado, além de análises de sua sustentabilidade e impacto a longo prazo.
- Custo-Benefício Detalhado de Ferramentas CASE: Embora o artigo compare o esforço e a agilidade, uma análise mais aprofundada do retorno sobre investimento (ROI) de ferramentas CASE específicas para o suporte ao PSP, considerando custos de licença, implementação, treinamento e manutenção, seria valiosa.
- Gestão de Não-Conformidades e Erros: O artigo menciona a identificação de não-conformidades e distorções, mas reconhece que "a manipulação dos erros que acarretam problemas não tratados neste estudo." Essa é uma lacuna clara sobre as estratégias eficazes para correção e prevenção de problemas após sua identificação pelas métricas do PSP.
Contribuições:
As pesquisas revisadas, representadas pelo estudo de caso em questão, contribuem significativamente para o avanço do conhecimento na área de engenharia de software de várias maneiras:
- Evidência Empírica da Eficácia do PSP: O artigo fornece evidências práticas e quantitativas de que o PSP, mesmo em seus níveis iniciais, pode disciplinar processos, melhorar estimativas e levar ao cumprimento de prazos em uma fábrica de software brasileira.
- Comparativo Prático entre Abordagens de Suporte: A comparação detalhada entre a aplicação manual do PSP e o uso de ferramenta CASE oferece insights valiosos sobre as trade-offs (facilidade de assimilação vs. escalabilidade, custo vs. agilidade) que as organizações enfrentam ao escolher estratégias de implementação de processos.
- Viabilização do CMMI Nível 2: Demonstra como as práticas do PSP podem ser um facilitador direto para que as organizações atinjam os requisitos do CMMI nível 2, integrando a disciplina individual com a melhoria organizacional.
- Base para Tomada de Decisão Estratégica: Ao apresentar as vantagens e vulnerabilidades de cada estratégia, o estudo capacita engenheiros e gestores a tomar decisões mais informadas sobre qual método de controle de processo é mais adequado para sua situação específica, especialmente em contextos de licitação ou definição de projetos.
5. CONCLUSÃO
Em síntese, este artigo demonstra que a aplicação do Personal Software Process (PSP) é uma estratégia eficaz para promover a disciplina e a melhoria contínua em projetos de desenvolvimento de software, fundamental para organizações que buscam aprimorar a qualidade e a previsibilidade. O estudo de caso em uma fábrica de software brasileira evidenciou que tanto a abordagem manual quanto o uso de ferramentas CASE para suportar o PSP podem levar a resultados positivos, como o cumprimento de prazos e a melhoria na acurácia das estimativas.
A importância do tema reside na capacidade do PSP de fornecer dados concretos que transformam informações subjetivas em métricas visíveis, capacitando os gestores com um recurso confiável para o planejamento e acompanhamento de projetos. Essa disciplina individual, por sua vez, se mostra complementar e um bom ponto de partida para a viabilização de modelos de maturidade organizacional como o CMMI nível 2, que demanda controle e monitoramento de processos.
Apesar dos êxitos alcançados, o estudo ressalta que o sucesso da implementação do PSP depende intrinsecamente do treinamento e monitoramento adequados dos colaboradores, bem como da conscientização da equipe sobre a importância das métricas. A escolha entre a estratégia manual ou amparada por ferramenta CASE deve ser criteriosa, considerando o tamanho e a criticidade dos projetos, pois cada uma apresenta seus pontos fortes e vulnerabilidades específicas.
Para pesquisas futuras, sugere-se:
- Investigar a aplicação e os resultados de níveis mais avançados do PSP em contextos de fábricas de software.
- Conduzir estudos de longo prazo e em múltiplos ambientes para validar a generalização dos benefícios do PSP e das estratégias de implementação.
- Realizar análises de custo-benefício mais detalhadas das ferramentas CASE versus a abordagem manual, considerando diferentes escalas de projetos.
- Explorar metodologias e práticas para a gestão e correção eficaz de não-conformidades e erros identificados pelo processo do PSP, um aspecto que o presente estudo reconheceu como uma lacuna.
O domínio dessas práticas de processo, tanto em nível individual quanto organizacional, é crucial para a competitividade e o sucesso da indústria de software.
REFERÊNCIAS
Obras Citadas:
ABNT. NBR ISO 9000:2000: Sistemas de Gestão da Qualidade – Diretrizes para a Melhoria de Desempenho. São Paulo, 2003. Disponível em: http://www.abnt.org.br. Acesso em: [Data de acesso, inserir a data atual].
HUMPHREY, Watts S. The Personal Process in Software Engineering. Software Engineering Institute (SEI), Carnegie Mellon, 1994.
HUMPHREY, Watts S. TECHNICAL REPORT CMU/SEI-2000-TR-022. Software Engineering Institute, 2000. Disponível em: http://www.sei.cmu.edu/publications/documents/00.reports/00tr022.html. Acesso em: [Data de acesso, inserir a data atual].
INNOVATIVE. Innovative Suíte 1.0: Suíte de Engenharia de software. 2004. Disponível em: innovative@innovative.inf.br. Acesso em: [Data de acesso, inserir a data atual].
PEDRYCZ, Witold; PETERS, James F. Engenharia de Software. 6. ed. Rio de Janeiro: Editora Campus, 2001.
PRESSMAN, S. Roger. Engenharia de Software. 5. ed. São Paulo: Mc Graw Hill Wesley, 2002.
PSF. Pesquisadores sem Fronteira. 2006. Disponível em: www.psf.org.br. Acesso em: [Data de acesso, inserir a data atual].
RASMUSSEN, Karen. STBC Mapping CMMI-SE/SW. Software Engineering Institute (SEI), 2003. Disponível em: http://www.sei.cmu.edu/cmmi/adoption/stsc-mappings.pdf. Acesso em: [Data de acesso, inserir a data atual].
SOFTEX. A indústria de software no Brasil 2002: fortalecendo a economia do conhecimento. Campinas: SOFTEX, 2002.
SOMMERVILLE, Ian. Engenharia de Software. 6. ed. São Paulo: Addison Wesley, 2003.
STROMBERG, Harvey; MUTAFELIJA, Boris. ISO-9901:2000 – CMMI V 1.1 Mappings CMMI-SE/SW. Software Engineering Institute (SEI), 2003. Disponível em: http://www.sei.cmu.edu/cmmi/adoption/iso-mapping.pdf. Acesso em: [Data de acesso, inserir a data atual].