Por que eu devo ler este artigo: Artigo do tipo Teórico
Recursos especiais neste artigo:
Conteúdo sobre boas práticas.

Personal Software Process
Assim como as organizações que produzem software devem melhorar seus processos organizacionais, o profissional, em caráter pessoal, também deve ter esta preocupação com os processos de trabalho em que está envolvido. Estabelecer, documentar, monitorar e aperfeiçoar os próprios métodos de trabalho são essenciais para a entrega de produtos de qualidade, livres de erros, dentro de prazos e custos. O Personal Software Process é uma metodologia, que através de um completo conjunto de conhecimento voltados ao aperfeiçoamento pessoal, visando realizar a nível pessoal aquilo que se propõe o CMMI (Capability Maturity Model Integration) a nível organizacional.


Em que situação o tema é útil
O artigo apresenta o que se deve considerar quando se trabalha com processo, para em seguida indicar como um processo pessoal pode contribuir para a excelência do profissional. Sendo os conhecimentos aqui apresentados úteis no desenvolvimento de qualquer projeto de software, seja ele feito por um único profissional ou por uma equipe, onde se busca qualidade no produto, respeito a prazos e custos. A metodologia de aperfeiçoamento de processos pessoais permite maior credibilidade ao trabalho do profissional e melhora suas competências em estimar e desenvolver artefatos.

Entregar um projeto de software no prazo, dentro dos custos e dos níveis de qualidade estabelecidos é, sem dúvida, a perspectiva de qualquer engenheiro. Embora pareça uma meta não muito difícil de ser alcançada, vem sendo a razão do desgosto de muitos clientes e fornecedores desde os primórdios da indústria de software.

Mas afinal, por que é tão difícil produzir software? Não estamos falando de uma área apoiada em fundamentos de engenharia, os quais devem fornecer subsídios para estimativas precisas de tempo e custo? Por que a qualidade desejada nem sempre é atingida, mesmo contando com processos formais de desenvolvimento? A resposta para essas perguntas está na natureza do produto.

A construção de um prédio, por exemplo, trata de elementos físicos, bem conhecidos e padronizados, os quais permitem uma mensuração exata e, em decorrência, estimativas precisas, já a construção de um software utiliza de elementos abstratos, lógicos, que não podem ser medidos ou pesados, como tijolos ou areia. Embora a Engenharia de Software vise atingir um nível tal de compreensão acerca do produto software que permita estabelecer métricas, metodologias e processos, que aplicados zelem pelo cumprimento de prazos, custos e requisitos de qualidade, as características do produto software nem sempre o permitem, devido algumas características dificultarem o trabalho, porém, o uso adequado de um processo de software pode ajudar a remediar a situação.

Processo de software

Um processo não é definido apenas como uma ordem de tarefas, por ser influenciado por diferentes variáveis:

  • Responsabilidades: Definição de responsáveis que executem tarefas.
  • Métricas: Mensurações realizadas durante a execução do processo a fim de fornecer dados para geração dos indicadores.
  • Indicadores: Índices estratégicos, obtidos das métricas, que evidenciam a real situação do processo durante sua execução.
  • Previsibilidade: A execução do processo padronizado gera saídas padronizadas. Aferir tempo e custo torna-se mais simples, pois existem indicadores, métricas e fatos históricos que fundamentam as estimativas.
  • Controle: O acompanhamento da execução do processo via métricas permite intervir sobre ele de forma mais precisa quando ocorrer algum desvio em relação ao plano normal de execução. Através do controle, o processo tende a executar da forma mais otimizada possível.
  • ...

    Quer ler esse conteúdo completo? Tenha acesso completo