evolução dos códigos

Nossa que fod*, faz mais de 1 mês desde que escrevi meu último post, não pensava que fazia tanto tempo assim, então vou escrever um bem curto, sobre um acontecimento da semana que me fez lembrar de algumas coisas.

Não faz muito tempo que desenvolvo sistemas em java, se não me falha a memória pouco mais de 1 ano, comecei da forma errada e há pouco estou corrigindo (falha grave por sinal). Essa semana ao iniciar a refatoração de um dos primeiros managed-bean que eu “codei” com JSF, me lembrei de uma frase do Paulo Silveira da Caelum, na época estavamos em um treinamento e ele nos disse +- assim: “…quando você olhar um código antigo seu e perceber que está ruim, é um bom sinal, é um sinal de que você evoluiu…” e não é que me ocorreu isso!?, parece pouco mas na hora fiquei contente, isso claro, depois de ter pensado: “que merda de código é esse?”.

É isso aí, acredito que a evolução dos nossos códigos devem ser constantes e parar com aquele pensamento de: “não mexer no que está funcionando” e mudar para: “o que está funcionando pode ser melhorado”.

1 Comment

final do terceiro sprint

Hoje finalizamos nosso terceiro sprint e apresentamos todas as estórias, já está virando um “costume” e [otimismo]espero que continue assim.[/otimismo]
Esse sprint assim como os anteriores, teve a duração de duas semanas, porém, contamos com a ajuda do Diego “Harry” e o Rafael “Rômulo” apenas na metade do sprint, por um lado foi super positivo, conseguimos dar continuidade na efetivação das estórias não deixando o sprint atrasar, para falar a verdade, até pegamos outras tasks. Amanhã subiremos a nova versão, a “cara” continua a mesma, mas mudou muito a ponto de nos deixar preocupados. Torçam por nós. Vou acender uma vela para Nossa Senhora da Bicicréta.

Nossa atual velocidade
Até esse sprint sabíamos nossa velocidade, para o próximo será tudo diferente, pois reduzimos a equipe pela metade…é, perdemos um membro do time o que nos deixou chateados, já que nossa velocidade irá reduzir sabe lá quanto. Até uma semana atrás éramos em 6, hoje somos 3 e semana que vem um membro do time irá fazer uma cirurgia para troca de sexo no dedão do pé, então, ficaremos em apenas 2 por alguns dias…

Pós e Contras
- Paginação sob demanda, deu trabalho para o Rafael! (ponto positivo++).
- Percebi que um membro do time a equipe está se sentindo mais encomodada com códigos que podem ser refatorados (ponto positivo).
- Não vi ninguém com cara de bunda nas daily meetings êêê!!! (ponto positivo).
- Pela primeira vez pegamos tasks que não estavam no sprint (ponto positivo).
- Mais um wizard foi feito utilizando o SWF (ponto positivo).
- API’s atualizadas para novas versões sem stress nenhum (ponto positivo).

Deve ter algum ponto negativo mas não me veio nada na cabeça agora…

Aproveito e agradeço ao Diego e Rafael que nos ajudaram por um bom tempo, nos deixaram muitas lições além de nos divertir também, uma coisa que notei desde o Jonas, Lucas CS e o Anderson da Caelum que foram os primeiros consultores que tivemos contato na empresa, podemos ser bons sem ser arrogantes e podemos ser bons sem desdenhar de ninguém por isso. Falo isso pois já passaram umas “peças” na empresa que…bom, isso fica para outro post, com o título: “como trabalhar com um merda”…ou algo do tipo.

Finalizo o post com um link bastante interessante, sugerido pelo Rafael, se esse link não ti causa mais nenhum transtorno ou ja perdeu a graça, entre no pai Google e busque por “lemon party” …depois busque por imagens se tiver coragem hehehe

4 Comments

final do segundo sprint

Finalizamos ontem nosso segundo sprint e assim como o primeiro, conseguimos mostrar todas as histórias para o PO. Podemos dizer que tivemos uma pequena vantagem sob o primeiro sprint, já tinhamos em mãos os pontos que acertamos e os que pecamos, então, teoricamente deveríamos manter os pontos positivos e eliminarmos os negativos.

Pós e Contras
- Apresentamos tudo, nenhum história/tarefa sumiu (ponto positivo).
- Integração do Spring Web Flow + JSF em uma história que precisava de um “wizard” (ponto positivo).
- Surgiram alguns problemas com a versão do sistema que está em produção, e a pedido parte do time trabalhou em um domingo. As correções eram necessárias, não teria como deixar para o próximo sprint, só leva o ponto negativo porque essa semana ficou mais longa (ponto negativo).
- O “Harry” da Caelum entrou para o time (ponto positivo).
- Código que está funcionando pode melhorar! Temos que deixar de ser acomodados! (ponto negativo).
- Pontuação das histórias e horas estimadas de cada tarefa foram melhores estimadas (ponto positivo).
- O “espírito de porco” influenciado por algum problema pessoal, parece que está rondando um membro do time, isso pode comprometer nosso próximo sprint dependendo de quão podre está essa maçã (ponto negativo).
- Pensei que o time se preocuparia mais com refatoração e testes e não foi isso que percebi (ponto negativo).
- Criação de tags no SVN (ponto positivo).
- Integração com sistema de geração de boleto da Locaweb (ponto positivo).

Finalizando, a sensação de terminar outro sprint e apresentar tudo é excelente, novamente não ouvimos nada que pudesse originar algum desconforto, tudo dependia apenas do time. Sendo sincero, estou um pouco cansado após 2 sprints, gostaria muito que segunda-feira pudessemos esquecer um pouco das histórias do product backlog e termos nosso “lab day“(inspirado pelo Google, claro!) como dito no livro “Scrum and XP from the Trenches” escrito por Henrik Kniberg. Até a próxima!

, , ,

2 Comments

sprint quase perfeito

Como prometido, estou aqui prestando “contas”!, hoje terminamos o nosso primeiro sprint e como dito na restrospectiva pelo nosso Scrum Master: “faltou pouco para ser perfeito”.

Pós e Contras
- Deveríamos ter parado o desenvolvimento ontem e ter apresentado tudo hoje pela manhã, porém, não conseguimos marcar a sala de reuniões para esse horário, adiando para o final da tarde, então “alguns” ajustes foram feitos (ponto negativo).
- Pela primeira vez apresentamos TUDO!, dessa vez não ficou faltando NADA! (ponto positivo). No início estavamos tão otimistas que achavamos que sobraria tempo para pegar uma nova história ou”gastar” mais tempo refatorando, mas não foi possível.
- Mesmo com a “brigada de incêndio” tivemos que apagar algumas “chamas”, talvez se tivessemos respeitado a ordem de não apaga-los, poderia ter sido perfeito. (ponto negativo)
- A equipe se comportou bem, não vi ninguém com cara de bunda desmotivado em nenhum daily meeting (ponto positivo).
- Mesmo falando exaustivamente sobre testes e refatoração, não percebi que essas práticas aumentaram por parte da nossa equipe (muito negativo).
- Subestimamos o número de horas de algumas tasks, algumas foram terminadas dentro do prazo, já outras atrasaram muito (ponto negativo).
- Não sei porque, mas dessa vez não houvimos nenhuma cobrança como houviamos no passado, sim, cobranças fazem parte e ajudam/estimulam quando são saudáveis, quando ocorre o oposto, pode acabar com o dia de um desenvolvedor facilmente (muito, muito positivo)

Esses são os pós e contras que me veio a memória, ah esqueci de mencionar nosso almoço, fomos ao costela 30 horas comemorar, que maravilha!

Bom é isso, essas duas semanas foram cansativas, mas continuo feliz e entusiasmado, que venham os próximos sprints…agora deixa eu durmir que amanhã é dia de paintball! Let’s paint?

No Comments

um sprint de verdade

Essa semana demos início a um novo sprint, dessa vez em especial estou mais estusiasmado e otimista, isso se deve por alguns motivos:

  • Scrum Master: podemos contar agora com um Scrum Master certificado, tenho certeza que daqui para frente os erros tendem a diminuir naturalmente, além disso, agora está claro que ou seguimos o Scrum da forma correta ou entraremos para lista dos que seguem o “scrum-butt”. “Independente da metodologia, acho que passou da hora de sairmos da caverna”.
  • Brigada de incêncio: sim caro amigo, agora nosso time pode manter-se focado por mais tempo nas tarefas, pela primeira vez, contamos com uma brigada de incêncio, a princípio pode parecer pouco, até mesmo mal uso de um membro do time, mas isso gera um conforto a mais, visto que nosso “produto” está em fase de amadurecimento. Acredito que deixar um membro do time na “brigada” não implica que ele só ficará responsável por isso, quando não existir “fogo”, ele pode muito bem contribuir de outra forma, como ajudar no desenvolvimento de novas tarefas e/ou testando-as.
  • Ajuda Profissional: quando eu digo profissional, é profissional mesmo! mais uma vez podemos contar com os profissionais da Caelum, contamos com o Lucas CS no sprint, que nos ajudou desde a pontuação das tarefas como na decisão das prioridades….transmitiu muita segurança de que estamos indo em direção ao caminho certo.
  • Desenvolvimento: cada profissional da Caelum que passa por nós deixa muitos ensinamentos(muitos mesmo), seja um atalho novo do eclipse, uma boa prática a ser seguida e etc, cabe a cada um de nós absovermos o máximo possível…hummm acho que vou deixar isso para um próximo post :)

Você deve estar pensado:há, se esse japonês pensa que só porque tem um scrum master certificado as coisas vão caminhar melhor, está muito enganado, ele vai ver só!” não, não amiguinho, sei muito bem que isso não evitará possíveis falhas e/ou desentendimentos, mas lembra da minha primeira frase?, estou sendo apenas otimista, não desejo não entregar nada no final do sprint, ter uma tarefa feita dando pau, outra que apenas começou, outras sem mexer e várias caras feias, desejo que esse seja um sprint de verdade do começo ao fim. Não peço que torçam por nós, não secar e tirar o olho gordo de cima já basta :D

Prometo escrever outro post contando o final desse sprint, assim como os pós e contras.

3 Comments

scrum inibe a equipe?

Não tenho muita experiência com Scrum, devo ter participado de apenas 4 sprints, porém após o primeiro, tenho percebido que a responsabilidade de terminar as tarefas a tempo, tem inibido parte da equipe, notei até alguns “sintomas” como: pegar sempre o mesmo tipo de tarefa, deixar as boas práticas de lado e fazer tudo na “coxa”, dizer “isso não é possível” sem antes ter estudado ou procurado alguma solução (as vezes a culpa sobra para alguma tecnologia), entre outras. Daí vem a pergunta: Scrum inibe a equipe?
Particularmente acredito que não, acredito que isso não ocorra em um sprint bem planejado, isso é apenas um pensamento otimista, pois até hoje não entregamos nenhum sprint no tempo determinado…(pausa para retrospecto) pensando pelo lado bom, hoje se fossemos começar um novo sprint, tenho certeza que antes de pensar em escolher uma carta para determinada tarefa, todos vão pensar duas muitas vezes!, e não vão relutar quando alguém indagar sobre quebrar uma história em várias.
Precisamos ler mais sobre Scrum, isso não há dúvidas, mas precisamos também forçar aos membros da equipe a serem mais responsáveis, talvez até a pagar algum tipo de “multa” por cada dia ou tarefa de atraso, em muitos casos, uma simples reunião em que a culpa é do fulano que não me ajudou, do fulano que me interrompe toda hora ou da tecnologia que todos sabem usar menos a gente, não surte efeito, os atrasos vão continuar, assim como a falta de comprometimento e a falta de vontade de criar algo novo…continuarão no Ctrl + C e Ctrl + V.

1 Comment

primeiro post

Confesso que nunca pensei em ter um blog com domínio próprio, achava uma perda de tempo e o mais difícil era pensar no que escrever, acontece que ultimamente tenho visitado inumeros blogs, assino feeds e sempre que posso acompanho os novos posts. É muito, mas muito bom encontrar um post que soluciona um problema seu, e de certa forma é interessante quando algum post relata algum problema semelhante ao nosso, seja ele envolvido com programação/desenvolvimento ou não.

Sem mais delongas, esse é meu primeiro post, pretendo escrever sobre experiências do cotidiano e dificilmente vou escrever sobre alguma tecnologia, pois existem blogs excelentes e famosos que tratam muito bem disso, além do GUJ claro!

No Comments