sexta-feira, 10 de maio de 2013

SCRUM - Implantação II

Dando continuidade aos artigos anteriores, neste post começo com um caso real de consultoria na implantação do framework ágil Scrum em uma Fábrica de Software.

Fundamentando o Conhecimento

A empresa participante da consultoria utilizava o modelo de gestão proposto pelo PMI e o modelo de desenvolvimento de sistema em Cascata, incompatível com sua velocidade comercial, gerando diversos problemas pelo curto espaço de tempo entre a realização da elicitação dos requisitos e a entrega do produto, dada a velocidade, competitividade do mercado e as exigências do cliente.

Durante a consultoria levei em consideração o perfil da empresa, identificando todos os processos internos apoiado na certificação já existente – ISO 9001, que já contemplava as fases de concepção, planejamento, implementação, estabilização e entrega. Apesar da certificação identifiquei também o desconhecimento e resistência em fazer uso do processo existente na empresa, causada por vícios culturais na organização.

A proposta e adoção das boas práticas do framework Scrum na gestão de projetos de desenvolvimento de sistemas proporcionou a melhoria na qualidade dos processos e gestão do ciclo de vida do produto na organização, contribuindo para diminuição do retrabalho, aumentando a produtividade, racionalizando o uso dos recursos e contabilizando ativos para Fábrica de Software. Mas vou contar essa história ao longo dos textos, objetivando compartilhar conhecimento com a comunidade de TI.

Quanto prestamos uma consultoria, devemos levar em consideração diversos fatores que permeiam um organização, pois trata-se de um organismo vivo e que reponde aos estímulos de forma positiva ou negativa, dependendo da nossa abordagem profissional.

A dinâmica do mercado, a necessidade de melhoria no modelo de gestão e dos processos de engenharia de software, o aumento da complexidade dos sistemas, que no passado não demandavam tanta inteligência, as regras de negócio, o mapeamento sofisticado de processos e o conhecimento específico sobre o domínio do negócio, motivou a mudança no modelo de gestão e reavaliação dos processos de Engenharia de Software, resultando na proposta e implantação do framework Scrum na Fábrica de Software.

A empresa em questão fazia uso do modelo de gestão proposto pelo PMI - Project Management Institute e do modelo tradicional de desenvolvimento de software Waterfall[1] (Cascata). Os modelos em uso exigiam um esforço muito grande da equipe de desenvolvimento, em especial dos analistas de requisito, pois a falta de um especialista no negócio dificultava o entendimento do domínio necessário para elaboração da proposta comercial. Para os clientes eram conceitos triviais, pois faziam parte do seu dia-a-dia, mas para os analistas de requisito não eram de fácil entendimento, visto que assim como a socialização com os jargões da profissão levavam tempo considerável, o que dificultava a especificação do projeto do sistema, sem contar com o retrabalho dos analistas de sistema e arquitetos que só participavam do processo após a definição do escopo do projeto e aceite da proposta pelo cliente, precisando validar o escopo com os fornecedores de requisitos antes de iniciar o projeto, passando a impressão de falta de comunicação interna e desorganização.

Limitei a princípio, o escopo da consultoria, ao modelo de gestão de projetos e ao processo de desenvolvimento dos sistemas praticados na empresa, com base na complexidade dos projetos desenvolvidos. Existia a necessidade de desburocratizar os processos de gestão, melhorar os processos de desenvolvimento dos sistemas fazendo uso das boas práticas de Engenharia de Software, e  de envolver um especialista no negócio durante o ciclo de vida dos projetos, tornando o processo de gestão e de desenvolvimento compatível com a velocidade comercial da empresa e com o negócio do cliente.
Observei também, no processo existente, uma grande queda de braços. De um lado o cliente querendo colocar o máximo de funcionalidade possível e do outro a empresa desenvolvedora, tentando limitar o escopo para elaboração de uma proposta comercial, com o menor esforço para a equipe de desenvolvimento.

Como implantar um modelo de gestão enxuto e ágil, garantindo prazos, custos e qualidade nos projetos de desenvolvimento de software? Ao longo dos artigos esta pergunta será respondida.

Grande Abraço,
Gilberto Ribeiro.



[1] O modelo Waterfall é um modelo de desenvolvimento de software sequencial no qual o desenvolvimento é visto como um fluir constante (como uma cascata) através das fases de análise de requisitos, projeto, implementação, testes (validação), integração, e manutenção de software. A origem do termo cascata é frequentemente citado como sendo um artigo publicado em1970 por W. W. Royce; fonte: http://pt.wikipedia.org/wiki/Modelo_em_cascata.

Nenhum comentário :

Postar um comentário