Modelo Cascata x Incremental – Quanto Mais Rápido em Produção, Melhor!!!

Hoje faremos uma análise comparativa e rápida entre modelos de desenvolvimento Cascata x Incremental (Scrum, Kanban, XP e etc) e qual o impacto dessa escolha no Retorno Sobre o Investimento dos produtos de software.

Primeiramente, iremos conceitualizar o que é Cascata e Incremental.

Cascata:  Modelo sequencial de desenvolvimento, com fases bem definidas, sendo comum as fases de: Requisitos, Projeto, Implementação, Verificação, Implantação e Manutenção.

Modelo_em_cascata

Modelo Cascata

Incremental: Modelo de desenvolvimento dividido em etapas, denominadas “incrementos”, que produzirão incrementalmente o sistema, até a sua versão final. Em cada incremento é realizado todo o ciclo do desenvolvimento de software, dos requisitos à implantação do sistema já em funcionamento. Cada etapa produz um sistema totalmente funcional, apesar de ainda não cobrir todos os requisitos.

Iterativo_Incremental

Modelo Incremental

Agora vamos a análise.

1 – Investimento Inicial

Enquanto que no modelo cascata a entrega da primeira versão funcional do software ocorre somente no final da sua construção, o modelo incremental entrega a primeira versão funcional consideravelmente antes, pois o software é entregue por incrementos.

Com isso, a utilização de métodos incrementais o investimento inicial seja menor que o de métodos cascatas. Isso pode ser visto no gráfico abaixo.

2 – Retorno sobre o Investimento (ROI)

Com já foi mencionado no item 1, modelos incrementais liberam a primeira versão funcional do software em produção mais rápido do que modelos cascatas. Com base nisso, segue análise.

Retorno sobre o investimento é mais rápido, pois os usuários já estão usufruindo do software e colhendo os benefícios que ele proporciona.

A recuperação daquilo que foi investido na construção do software é mais rápida, como começo a ter ROI mais rapidamente, logo recupero o investimento feito mais rápido. 

O lucro também vem mais rápido em modelos incrementais, , como começo a ter ROI mais rapidamente, logo recupero o investimento feito mais rápido e consequentemente começo a obter lucro mais rápido. 

ROI - IncrementalxCascata

ROI – Modelo Incremental x Cascata

Bom pessoal, é isso aí. Agora já temos alguns argumentos para conversar nossos CIO, Diretores e Gerentes de que modelos incrementais de fato valem a pena.

Até a próxima.

Categorias:Ágil, Negócio

Introdução à Startup

Nesse post estarei apresentando alguns conceitos básicos a respeito de Startups.

Empreendedores: São pessoas que possuem a habilidade de ver e avaliar oportunidades de negócios, prover recursos necessários para pô-los em vantagens e iniciar ação apropriada para assegurar o sucesso. São orientadas para a ação, altamente motivados e assumem riscos para atingirem seus objetivos. Empreendedores são comprometidos a conduzir a startup até ao seu destino, ou seja, a visão.

Startup: Uma instituição humana projetada para criar novos produtos ou serviços sob condições de extrema incerteza. Uma Startup é composta por uma Visão, uma Estratégia e um Produto.

Visão: Destino da startup.

Estratégia: Feita para que se alcance a visão. É composta por um Modelo de Negócio, Plano do Produto, Ponto de vista a cerca dos parceiros, Ponto de vista a cerca dos concorrentes, Ideias de quem serão os clientes. Aqui é onde ocorre o pivô ou a perseverança no caminho atual. As mudanças são menos frequentes que no produto.

Produto: É o resultado final. Esse sofre mudanças ou otimizações constantes.

Existem dois ciclos de feedback.

O primeiro Ciclo de Feedback, com foco no produto, é o motor de crescimento da startup. Esse ciclo produz informações valiosas que auxiliam na tomada de decisão no aperfeiçoamento do produto (versões, recursos, marketing e operação do produto). A expansão e inovação do produto proporcionam força para ganhar mercado, que produz energia para a próxima iteração. O timing desse ciclo deve ser gerenciado, pois é ele que permitir o crescimento desimpedido da startup. Muito do tempo de uma startup é gasto na melhoria desse motor.

O segundo Ciclo de Feedback, com foco na estratégia, é o que da condições para dirigir a startup, construir – medir – aprender. Com esse método podemos aprender quando e se é o momento de Pivotar ou de Perseverar em nosso caminho atual.

image

Hipótese de Valor: É formulada para testar se o produto ou serviço de fato fornece valor aos clientes no momento em que estão utilizando.

Hipótese de Crescimento: É formulada para testar como novos clientes descobrirão um produto ou serviço.

Adotantes Iniciais: Clientes que sentem necessidade do produto ou serviço de modo mais aguçado. Esses clientes são mais tolerantes a erro e mais propensos a dar feedback.

Aprendizagem Validada: É o processo de demonstrar empiricamente que uma equipe descobriu verdades valiosas acerca das perspectivas de negócios presentes ou futuras de uma startup. Aprendizagem validada não é uma racionalização depois do fato ou uma boa história elaborada para ocultar o fracasso.

Produto Mínimo Viável (MVP): É um produto mínimo que viabiliza experimentação junto aos adotantes iniciais. Em alguns casos o MVP pode ser um protótipo do produto ou serviço.

 

O primeiro passo é entrar na fase “Desenvolver” o mais rápido possível com um Produto Mínimo Viável (MVP) e experimentá-lo no mercado, inicialmente com os adotantes iniciais, gerando dados reais a respeito de onde a empresa está naquele momento (baseline). A paritr da baseline, deve-se regular o motor rumo à direção ideal, ou seja, a visão. Depois da Startup fazer todos os ajustes e otimizações necessários para mover a baseline, a empresa alcança um ponto de decisão, pivotar ou perseverar. A cada pivotamento deve ser gerado um novo baseline e iniciar o processo novamente.

Se a empresa estiver fazendo um bom progresso na direção do ideal, significa que está aprendendo de forma apropriada e utilizando a aprendizagem de maneira efetiva.

 

Referência:

A Startup Enxuta: Como os empreendedores atuais utilizam a inovação contínua para criar empresas extremamente bem sucedidas, Eric Ries.

Wikipédia

Categorias:Startup

Devocional e Evangelização, um incentivo à leitura, ao compartilhamento de informações e ao aprendizado

Esse post é uma dica para incentivar a leitura de livros, o compartilhamento das informações e, consequentemente, o aprendizado nas instituições. Tudo isso visando à formação de pessoas ou times altamente capazes de criar soluções inovadoras para as necessidades da organização e dos seus clientes.

Já há algum tempo, tive contato com agilidade e, desde então, trabalho com a formação de times com alta produtividade que necessitam de amolar o machado constantemente, ou seja, aprender sempre.

No livro Scrum e XP direto das trincheiras o autor Henrik Kniberg apresenta o famoso lab day como uma forma de aprendizado e compartilhamento de informações. Não satisfeito com a ideia, acabei criando duas novas práticas. A primeira como incentivo à leitura, a segunda como incentivo ao compartilhamento das informações e as duas juntas incentivando o aprendizado nas organizações. A essas práticas eu atribuo, carinhosamente, o nome Devocional e Evangelização respectivamente.

O Devocional é a dedicação, de 40 a 50 minutos, diária à leitura de livros sugeridos pelo time. Os livros sugeridos devem estar dentro do nosso contexto de trabalho. O Devocional acontece sempre no mesmo horário que, também, é definido pelo time. A visão é que o Devocional se torne um habito ou um hobbie e extrapole os limites da empresa. Onde estou trabalhando atualmente nós, normalmente, fazemos as 9:00 AM.

A Evangelização pode acontecer de varias formas. Com base nisso, nós identificamos 3 formas principais que estão listadas abaixo.

1 – Nós partimos do pressuposto que todas as vezes que aprendo algo novo e interessante, tenho vontade de compartilhar com as demais pessoas. Então, o compartilhamento das informações acontece naturalmente no decorrer do dia e nós incentivamos essa iniciativa.

2 – Sempre que existe uma necessidade de treinamento ou repasse de conhecimento, a pessoa que está mais apta a ensinar prepara e ministra um treinamento as pessoas que ainda não possuem o conhecimento referente à necessidade.

3 – Realizamos uma conferência mensal Inter Times visando compartilhamento de informações. Infelizmente, essa ideia ainda não foi colocada em pratica, mas estamos caminhando para que isso aconteça.

Então, fica a dica.

Categorias:Dica

QCon 2012

Nos dias 05/08/2012 e 06/08/2012 estive em São Paulo participando da conferência internacional QCon. No evento tive a oportunidade de ouvir palestras motivantes com Martin Fowler da ThoughtWorks, Ben Christensen da Netflix, Mauricio Aniche da Caelum, Rodrigo Yoshima da Aspercom, Cherifa Mansoura da IBM, Marden Neubert da UOL, Fernando Ultremare da Dextra, John Esser da Ancestry.com, Tom Soderstrom da NASA, Zach Holman da GtiHub, Rafael Cepêda da Petrobras, João Bosco da Chaordic, Rodrigo Schmidt do Facebook, Joaquim Torres da Locaweb, Fernando de la Riva da Concrete Solutions, Giovanni Bassi da Lambda 3 e Victor Germano da Lambda 3.

O evento foi excelente desde sua organização até as palestras, contou com a participação de grandes nomes do mundo da tecnologia e mais uma vez quero parabenizar a Caleum e a InfoQ pela conferência.

Agora é só esperar o QCon 2013.

Categorias:Evento

Agilidade

Introdução

Com o advento da revolução industrial começaram a surgir instituições mecanicistas baseadas nas estruturas de comando e controle que dominaram durante quatro séculos o funcionamento das sociedades, determinando a vida econômica, social, cultural, política e demais áreas do conhecimento, como o desenvolvimento de software, como sendo possível controlar o caos. Sabemos que essa estrutura mecanicista está à beira de um colapso por não conseguir resolver problemas que se tornam cada vez mais complexo.

Diante desse cenário e das crises que afligem a humanidade, começou a nascer o pensamento de caos com ordem, baseados em auto-organização e autogestão. E é nesse cenário que nasce o conceito de Agilidade (Caos + Ordem) que veio para solucionar o problema complexo chamado desenvolvimento de software.

O que é agilidade?

Agilidade são entregas contínuas de valor em um ritmo sustentável, acompanhadas de excelência em qualidade. Nada mais que princípios e bom senso.

O manifesto

Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:

Indivíduos e interação entre eles mais que processos e ferramentas
Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano

É possível desenvolver software com ordem em meio a um sistema caótico. Nós, os desenvolvedores, estamos descobrindo melhores maneiras de se fazer isso e colaborando com nossos concorrentes para ajudá-los a fazer o mesmo, mantendo uma relação saudável de concorrência. É o nascimento de uma nova era chamada Caórdica (Caos + ordem).

Nós, Agilistas, nos baseamos em bons Princípios e bom senso, aquela voz interna que nos direciona. Com base nisso os princípios ágeis foram emergindo um a um.

Alguns Agilistas de Peso

“Estamos num ponto do tempo em que uma era de quatrocentos anos está morrendo e outra está lutando para nascer – uma mudança de cultura, ciência, sociedade e instituições muito maiores do que qualquer outra que o mundo já tenha experimentado. Temos à frente a possibilidade de regeneração da individualidade, da liberdade, da comunidade e da ética como o mundo nunca conheceu, e de uma harmonia com a natureza, com os outros e com a inteligência divina como o mundo jamais sonhou.” Dee Hock – CEO da Visa.

“O desenvolvimento industrial global lançou as sementes do próprio fim ao gerar níveis de complexidade e índices de mudança que ultrapassam a inteligência das instituições da Era Industrial, que são suas herdeiras. Em todas as frentes, consequentemente, enfrentamos problemas para os quais as organizações dominantes, hierárquicas e autoritárias, são inadequadas. Como diz Dee Hock, “Vivemos numa era de maciça falência institucional”.” Peter Senge – Autor renomado do livro A Quinta Disciplina.

Categorias:Ágil

Dica para o Scrum Diário

Faça do Scrum Diário um momento onde o que foi feito do ultimo reunião até o atual seja apresentado e inspecionado.

Caso haja algum impedimento o Scrum Master deverá atuar apoiando o Time de Desenvolvimento.

Planeje as atividades que serão executadas até o próximo Scrum Diário. Todos devem sair da reunião sabendo o quais tarefas serão feitas até o próximo Scrum Diário.

Não faça do Scrum Diário um momento de Status Report, mas sim um momento de transparência, inspeção, adaptação e planejamento.

Categorias:Dica

Velocidade do Time de Desenvolvimento

Nesse post irei apresentar duas formas de calcular a velocidade do Time de Desenvolvimento.

1ª Maneira

Sprint 1 2 3 4 5 6 7 8
Estimativa de Velocidade N/A Vb=12
Va=32
Vb=18
Va=28
Vb=21
Va=28
Vb=11
Va=18
Vb=16
Va=23
Vb=21
Va=28
Vb=21
Va=28
Velocidade Real 20 25 28 26 16 20 26 26
Impedimentos Feriado Férias

1 – Sprint 1, é impossível estimar

2 – Cálculo da estimativa de velocidade dos sprints 2 e 3 com base na velocidade dos sprints anteriores

O cálculo é feito para encontrar uma variação da velocidade, velocidade baixa e velocidade alta.

Vb = (∑Sn)/n * IB n-1
Va = (∑Sn)/n * IA n-1

Vb = Velocidade Baixa
Va = Velocidade Alta
IB = Índice Baixo
IA = Índice Alto

Índices de velocidade com base no número de sprints completos.

Sprints Completos Índice Baixo (IB) Índice Alto (IA)
1 0,6 1,6
2 0,8 1,25
3 0,85 1,15

Vb S2 = (20)/1 * 0,6 = 12

Va S2 = (20)/1 * 1,6 = 32

Vb S3 = (20+25)/2 * 0,8 = 18

Va S3 = (20+25)/2 * 1,25 = 28

3 – Cálculo da estimativa de velocidade do sprint 4, 5, 6, 7 e 8 com base na velocidade dos sprints anteriores

Vb S4 = (20+25+28)/3 * 0,85 = 21

Va S4 = (20+25+28)/3 * 1,15 = 28

A estimativa de velocidade encontrada com base nos sprints 1, 2 e 3 se perpetuará durante os próximos 5 sprints, ou seja, sprint 4, 5, 6, 7 e 8.

4 – Cálculo da estimativa da velocidade a partir 9º sprint

A partir do 9º sprint, ou seja, após 5 sprints completos a contar do sprint 4, a estimativa da velocidade tem 90% de confiança.

Para calcular, ordene as velocidades reais até o 8º sprint: 16, 20, 20, 25, 26, 26, 26, 28;

Exclua a primeira velocidade (16) e a último (28);

Então, temos uma velocidade de 20 à 26 pontos por estória com média de 23 pontos.

Observações:

* Itens do backlog que não foram completados no sprint, não entram na conta de pontos entregues no sprint;
* Caso ocorram impedimentos previsíveis, como feriados, férias ou coisas do gênero, é possível considerá-los para encontrar estimativa da velocidade. Por exemplo, utilize uma média dos dias ou horas utéis;
* Número de semanas dos sprints devem ser constantes;
* Se tiver mudanças bruscas no time ou no projeto, o processo de cálculo da velocidade deve ser reiniciado;
* A estimativa de velocidade é aproximada.

Os indices para calcuo da velocidade foram retirados do livro Agile Estimating and Planning de Mike Cohn.

2ª Maneira

1 Ponto por Estória é igual a 1 Dia Ideal. 1 Dia Ideal é um dia de trabalho de uma pessoa no Time de Desenvolvimento.

Desenvolvedor Dias Ideais
Ana 15
Débora 15
Jean 11
Michel 11
Total 42

Velocidade Estimada = Dias Ideais * Fator de Foco

Velocidade Estimada = 42 * 0,76 = 32

Fator de Foco = Velocidade Real / Dias Ideais

Fator de Foco = 32 / 42 = 0,76 (O autor do livro “Scrum e XP direto das Trincheiras” utiliza o fator de Foco igual 0,70 para Times de Desenvolvimento recém formados)

Velocidade Real = Soma dos Pontos por Estória das Estórias completadas no último Sprint

Velocidade Real = 40 Pontos Por Estória

Categorias:Ágil Tags:
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.