O que você considera importante em um processo de software?

Continuação do artigo sobre Processo de Software publicado pelos professores Paulo Sérgio, Doutorando em Ciência da Computação, e Fabiano Ruy, Doutor em Ciência da Computação.

ARTIGO

Lead Applied Solutions

12/17/20212 min read

No último post, perguntamos sobre a definição do seu processo de software. Então, como você o definiu?

O seu processo contempla todas as atividades de produção? Está atualizado, de acordo com a realidade da organização? É factível, os colaboradores o seguem? Considera dimensões importantes do negócio?

Muitas organizações entendem que o processo de desenvolvimento de software envolve apenas atividades ligadas ao desenvolvimento em si (e.g., Análise, Projeto, Desenvolvimento, Testes, Implantação) e esquecem de outras dimensões que dão suporte ao processo de software e que garantem a qualidade do produto, projeto, o bem-estar e a evolução das pessoas presentes diretamente ou indiretamente no projeto. Exemplos dessas dimensões são as de Gestão de Conhecimento, Gestão da Qualidade, bem como atividades que avaliam se o projeto está alinhado com os objetivos do negócio e até mesmo avaliação e evolução das competências dos membros das equipes de desenvolvimento.

É importante observar que, independentemente da abordagem de desenvolvimento de software (Agile ou Plan-Driven/Document-Centric), é possível aplicar e adaptar essas dimensões buscando melhorar a qualidade do produto, reduzir o retrabalho ou outro benefício particular para a organização. Por exemplo, boas práticas de gestão de conhecimento aplicadas ao desenvolvimento de um produto podem ajudar, no futuro, uma equipe de manutenção na evolução do sistema ou correção de bugs, ou até mesmo ensinar um novo membro da equipe sobre os conceitos e regras do projeto. Um processo de medição da qualidade pode identificar pontos de melhoria nos artefatos do projeto ou uma necessidade de capacitação dos membros da equipe nas tecnologias, métodos e ferramentas adotadas pela organização. Veja que tais práticas estão ligadas a uma cultura de médio a longo prazo da organização e não somente a um projeto ou produto específico.

O desafio da organização é combinar de modo fluido as boas práticas presentes em cada dimensão, de forma a trazer benefícios a todos os envolvidos, sem onerá-los (ninguém quer adotar uma prática que não contribua para o desenvolvimento do projeto ou produto). Claro que essas dimensões podem ser combinadas, adaptadas para a realidade do projeto, produto ou até mesmo da equipe. Afinal, dependendo das características do projeto (e.g., escopo, tempo, regras de contrato e recursos) podemos aplicar, por exemplo, mais atividades de testes automatizados ou de gestão de qualidade de código, por motivos contratuais.

Assim, vale perguntar: Quais dimensões estão presentes no seu processo de software? Quais delas agregam mais valor ao seu produto e à organização? Como você as prioriza em seu processo de software para ter sucesso nos projetos?

Paulo Sérgio. Professor do Instituto Federal do Espírito Santo (Ifes), participante do Leds e atualmente doutorando em Ciência da Computação, no Nemo, com foco em Ontologia, Integração de dados e métodos ágies. Além disso, se arrisca na cerveja artesanal e no surfe, é comandado por 4 cachorros.

Fabiano Ruy. Doutor em Ciência da Computação com pesquisa voltada a Engenharia de Software e Modelagem Conceitual. É professor do IFES campus Serra, atuando no Bacharelado em Sistemas de Informação e no Mestrado em Computação Aplicada. Membro do LEDS, com foco em projetos de inovação.