segunda-feira, 15 de setembro de 2014

Sejam bem vindos ao Blog do Silva

Mensagem de boas vindas e boas intenções

Esta minha mensagem de boas vindas a todos os interessados em aprender ou trocar uma ideia sobre desenvolvimento de software. Pretendo utilizar esse blog para apresentar minhas experiências e opiniões sobre Qualidade de Software e Desenvolvimento Ágil.

Já trabalhei com desenvolvimento web desde 1999, desenvolvimento ágil desde 2004, com .NET, onde passei tanto por XP (Extreme Programming) e MSF (Microsoft Solution Framework, alguém se lembra desse ?). Depois entrei na Petrobras em 2006, como Programador, e acabou desenvolvimento ágil para mim, realmente senti falta disso, pelo menos consegui continuar programando e com .NET, não precisei me converter para o lado Java negro da força.

Mas os tempos mudam e desde 2011 temos trabalhado com Desenvolvimento Ágil novamente, dessa vez com Scrum e Kanbam. Estou feliz com isso e daqui para a frente vamos conversar um pouco sobre Desenvolvimento Ágil e Qualidade de Software, com textos narrativos fictícios. Que é onde queremos chegar.

Como acontece em qualquer empresa, desenvolvimento ágil é uma maravilha, basta implantar e automaticamente temos: entregas constantes e planejadas, o cliente por perto e participativo, um bom planejamento de curto e médio prazo, um time eficiente, eficaz e autossuficiente, e o mais importante, um código elegante, eficiente, otimizado e testado.... NOT.

Basta estabelecer um processo, escrever um procedimento e publicar em algum portal da empresa, pronto, basta agora colocar alguns fiscais por aqui e ali e começar a cobrar ou punir quem não seguir as ordens orientações... NOT.

Essa é a teoria, e todo mundo sabe. Na teoria a teoria é igual a prática, mas na prática... veja bem, não é bem assim...

Perdoe me o autor da frase, mas eu a adoro e não me canso de repetir: Cultura come processos no café da manhã.

Prazos curtos, ou emergências do cliente, não respeitam os prazos das sprints. Cliente? mal aparece nas reuniões, não conhece seu próprio negócio, e gasta todo o tempo do projeto querendo mudar cores de listagens. O time é composto quase sempre de juniores, pessoas que estão estudando programação a pouco tempo e acham que sabem fazer qualquer coisa... e o pior é que muitas vezes fazem mesmo.

A mentalidade é "Entregar a qualquer custo, mesmo que não funcione". A frase é "Eu testei sim, e funcionou na minha máquina".

Falar em Qualidade de Software é um assunto vital para a sobrevivência do desenvolvimento ágil. O custo de manutenção de um software é quase sempre maior que o custo de construção do mesmo, e quando o assunto é dinheiro, as empresas sempre olham com bons olhos. Investir em código com qualidade melhora significativamente as manutenções realizadas no software, da um ânimo para o time que fica encorajado a mudar e refatorar.

O que pretendo apresentar nos próximos artigos é como integrar processos de Qualidade de Software a cultura de um time ágil para gerar código com qualidade, que possa ser medido e acompanhado ao longo de todo o tempo de vida da aplicação.

Primeiro vamos precisar de infra-estrutura, e para isso vamos conhecer o Sonar, que é um servidor gratuito de inspeção contínua, ele pode realizar diversas análises de código fonte, testes unitários, duplicação de código, comentários nos métodos, é extensível por diversos plugins, tem apis para construção dos seus próprios controles e oferece suporte a diversas linguagens de programação.

Depois vamos ver como integrar nossas aplicações nele e através de procedimentos e uso de técnicas como gamification, podemos incentivar a melhoria constante do código nos sistemas. Com tempo, incentivo e feedback constantes podemos transformar procedimentos da organização na cultura do time. E com isso sim, ganhamos nosso dia, algum dia.

Desde já agradeço a atenção e paciência, e aguardem novidades.

Atenciosamente,
Erick Ferreira Marques da Silva

Um comentário: