Maré de Agilidade – Salvador 2011

{ February 13th, 2011 }


cmilfont

Autor: cmilfont

Maré de Agilidade em Salvador desse ano está imperdível, grandes nomes da agilidade braziliana estarão lá em 3 dias de eventos com cursos e palestras. Não perca tempo, inscreva-se já.

cangaceiro

Milfont Consulting estará presente apoiando o evento com a palestra “Oxente, os cabras rão entender BDD e rebolar no mato código réi” e o curso “Desenvolvimento/Web Standards com Sencha Javascript Frameworks“.

O curso será basicamente um subset do mesmo curso que já ministro pela Milfont Consulting só que reformulado para o novo empreendimento, a Milfont Universitas, ainda a ser lançado.

A palestra será um esforço para resumir em uma hora o que se precisa entender sobre Test First e sua prática moderna como BDD, entender que BDD é uma evolução de TDD e não o sinonimo de ATDD, entre outras coisas.

Abaixo a programação chupada do site do maré:

Cursos – carga horária de 8h

5a-feira – 14/04 6a-feira – 15/04
Coaching para Times Ágeis

Manoel Pimentel (Visão Ágil)

Criando uma Cultura de Aprendizado

André Farias (Bluesoft)

Desenvolvimento/Web Standards com Sencha Javascript Frameworks

Christiano Milfont (Milfont Consulting)

User Experience (UX) Design em Processos Ágeis

Wesley Rocha e Leonardo Antonialli (SEA Tecnologia)

Escopo Flexível de Projetos

Rodrigo Toledo (URFJ)

Workshop Scrum e Práticas Ágeis de Engenharia de Software

Márcio Albuquerque (Serpro/LinguÁgil) e Alex Chastinet (Reconcavo/LinguÁgil)

Coding Dojos – carga horária de 2h

5a-feira – 14/04 – noite
Dojo MAREBASE Uma forma rápida, eficiente e divertida de ensinar e aprender

Facilitador: Serge Rehem (Serpro/LinguÁgil) Sessão aberta e gratuita

Palestras

Sábado – 16/04
08:30 Abertura
09:00 Coaching para Metalhoria Ágil. Manoel Pimentel (Visão Ágil)
09:50 Kanban no Desenvolvimento de Software. Teresa Maciel (Universidade Federal Rural de Pernambuco)
10:40 Tema: TDD/Integração Contínua. Palestrante a definir.
11:30 Criando uma Cultura de Aprendizado. André Faria e Luiz Faia Jr (Bluesoft)
12:20 Intervalo para almoço
13:15 Lightning Talk: Scrum em 15 Minutos. Serge Rehem (Serpro/Grupo LinguÁgil)
13:30 Oxente, os cabras rão entender BDD e rebolar no mato código réi. Christiano Milfont (Milfont Consulting)
14:20 Estimativas Ágeis. Rodrigo de Toledo (UFRJ)
15:10 Empreendedorismo em Rede. Alexandre Gomes (SEA Tecnologia)
16:00 Coffee-break
16:30 Learning and Coolness – Beyond XP. Klaus Wuestefeld
17:20 Painel Aberto com todos os participantes
19:00 Encerramento

Patrocínio Ouro

Organização

Apoio

Posted in Engenharia de Software, eventos, Maré de Agilidade, Metodologia, Métodos Ágeis, Scrum, Test Driven, XP ~ 1 Comment

Defesa Tardia do RUP

{ March 8th, 2010 }


cmilfont

Autor: cmilfont

Eu ia escrever um post gigantesco sobre o porquê do RUP ter morrido mas vou tentar ir direto pro cerne da questão. Ultimamente eu vejo muita gente dizer que RUP não deu certo por culpa humana e que só existem 3 caras no Brasil inteiro que entendem como a mágina do RUP funciona, entre outros argumentos desse estilo.

É muito fácil defender RUP hoje em dia depois de toda evolução do mercado [que diga-se de passagem o RUP só ajudou sendo a antítese do caminho correto], duvido que esses 3 únicos caras que supostamente conhecem a pedra filosofal do RUP fizessem o que fazem [ou devem fazer] hoje antes desses últimos 15 anos de discussão e experimento ágil.

É difícil imaginar que Kent Beck, Martin Fowler e tantos outros que começaram a propagar o agilismo após o manifesto ágil não conhececem RUP a ponto de,  como os defensores atuais do RUP afirmam: “renomearam práticas antigas com nomes novos”.

Meus caros, práticas não são o coração do agilismo, são os valores e princípios. RUP sempre valorizou os itens à direita em detrimento aos itens à esquerda no manifesto ágil, então não me venham com essa de que seguir o plano nunca foi prioritário do RUP. RUP é uma metodologia que não deu certo porque foi uma tentativa de taylorizar o desenvolvimento de software.

ps. Notaram que não linkei nada? Preguiça de responder esse tipo de coisa.

Posted in Engenharia de Software, Metodologia, Métodos Ágeis, Scrum, XP ~ 4 Comments

Qualidade Interna vs Qualidade Externa

{ September 17th, 2009 }


cmilfont

Autor: cmilfont

Processos de desenvolvimento de software são quase todos iguais em termos de práticas e todos podem assumir práticas novas de outros processos, até cascata pode aplicar qualquer prática de XP e Scrum em seu modelo naturalmente.

O que diferencia esses processos não são as práticas, são os valores. O problema é que entender, compreender e adotar valores é algo subjetivo que varia de pessoa para pessoa por mais que se tenha princípios bem definidos que conectem as práticas a esses valores.

Diante disso, nenhum processo garante que seu projeto será um sucesso por estar o seguindo, mesmo que seja “By The Book”.

Há uma preocupação com o chamado Scrumbut, mas eu já vejo e vi projetos Scrum que não são Scrumbut e mesmo assim o software produzido, por mais ágil que seja, não tem qualidade e no primeiro refactoring você já entra no prejuízo similar a um software desenvolvido em Cascata.

Fato é que esses valores e princípios não garantem software com código coeso, desacoplado, limpo, claro e facilmente lido, ou seja, com qualidade interna.

Hoje minha preocupação em todos os projetos é a qualidade interna do software, não importa que metodologia seja adotada. Qualidade interna garante que o software tem boa saúde e é fácil de ser medida.

Saúde do software é o quão rápido e efetivo ele se recupera de mudanças e o quão limpo ele está de defeitos. Para se recuperar de mudanças o software precisa ser limpo e claro, ser facilmente entendível e lido.

Livre de defeitos é ter uma cobertura de testes que explorem e machuquem o código até descobrir falhas que passam despercebidas.

A grande maioria dos processos se preocupa mais com a qualidade externa do que a interna. Não importa se você faz reuniões em pé, tenha o cliente presente ou faça Scrumban ou até mesmo que você esteja entregando software rápido, nada disso vai garantir qualidade e que não vá ter prejuízo no futuro.

Vender qualidade externa tem um apelo comercial fácil porque você não precisa comprovar a qualidade do software e sim do processo, o discurso é sempre mais elegante do que falar em código, principalmente para alta gerência e burocratas, tanto é que todos os modelos de qualidade reconhecidos avaliam o processo e não o produto.

CMMi, ISO ou seja lá que for, não garantem que o produto será de qualidade e sim que o processo seja e se pararmos para pensar um momento, o processo realmente é de qualidade, temos um conjunto de métodos eficazes para produzir… processo e não produto.

Um exemplo de qualidade interna de um software são os testes automáticos em suas diversas nuances como unitários, aceitação, integração e funcional, mas não apenas isso, métricas de coesão, cobertura, LOC, complexidade e tantas outras.

No Maré de Agilidade eu fiz questão de enfatizar:

“Não importa que processo você siga, se é ágil ou não, se você não faz testes de Software vocês está errado em todos.”

Não existe um software sem bateria de testes automáticos com qualidade, isso é lenda. Em mais de 10 anos de profissão o que tenho notado é que a grande maioria, senão todos, são fortemente acoplados e de baixa coesão como consequência da falta de testes. Aplicar testes nesses softwares é uma tarefa quase impossível e proibitiva em relação a custos, sai mais barato fazer um software novo.

Outra coisa que falei no Maré de Agilidade foi:

“Não seja ágil, seja o melhor possível, porque ao procurar ser o melhor você invariavelmente vai se deparar com práticas que o tornam melhor e aí você se tornará ágil”.

Assim como o lema da Rossi: “Armas não matam pessoas, pessoas matam pessoas” podemos induzir que: Processos não desenvolvem software, pessoas desenvolvem software!

Ao trabalhar com pessoas, precisamos entender que modelos de negócios como software são de terceira onda [Alvin Toffler aqui] e não da segunda onda [industrialismo]. Qualquer analogia com modelos de segunda onda provocará insuficiência no trabalho dessas pessoas [por isso Lean faz tanto sucesso hoje] e elas precisam estarem motivadas para produzir qualidade interna, coisa que o trabalho sobre qualidade externa não produz.

Esse tema sobre pessoas e processos [como homem/hora] será escrito em outro artigo.

Resumo desse artigo é: Pessoas são responsáveis por produzirem qualidade interna ao produto e não processo, invista nelas.

Posted in Behaviour Driven Development, Engenharia de Software, Melhores práticas, Metodologia, Métodos Ágeis, Scrum, Test Driven, teste, XP ~ 7 Comments