Arquivo para junho 2010
Agile Brazil 2010–Palestras
Olá a todos!
O foco neste post é falar sobre a segunda parte do Agile Brazil 2010, onde os palestrantes apresentaram seus trabalhos e onde pude conhecer muita gente boa da comunidade ágil do Brasil.
O keynote de abertura foi de ninguém menos que Martin Fowler, um dos idealizadores do manifesto ágil. Sinceramente, ele não trouxe nenhuma novidade à nossa comunidade mas claro, falou com muita propriedade de assuntos de seu domínio, focando principalmente em práticas de engenharia de software voltadas ao desenvolvimento ágil. Muito bacana!
A grade de palestras ficou um pouco corrida, com muito paralelismo. Muitas vezes palestras que tinham tudo para ser de ótima qualidade rolavam ao mesmo tempo. Isso me desapontou um pouco. Mas o que vi foi muito bom! Dou um destaque especial para a palestra do Alexandre Gomes (@alegomes) e do Renato Willi (@rwilli), onde falaram sobre Desenvolvimento Ágil no Governo, onde demonstraram domínio do assunto e souberam reter a atenção do público com maestria.
E claro, com uma diversidade grande de palestras como essa, algumas deixaram sim à desejar, ou pelo conteúdo que era pouco atrativo, ou pela capacidade do palestrante de chamar a atenção do público.
Durante o evento, tive a oportunidade de conhecer pessoalmente uma galera de presença na comunidade ágil e de desenvolvimento de software, como:
André Nascimento – @alnascimento
Daniel Oliveira – @dfaoliveira
Igor Abade – @igorabade
Rafael Noronha – @rafanoronha
Rodrigo Vidal – @rodrigovidal
Entre outros. É super interessante a experiência de trocar idéias com esses caras através de grupos (como o DotNetArchitects), redes sociais (como Twitter) e depois conhecê-los pessoalmente e poder trocar idéias já como amigos de longa data! Foi um prazer conhecer vocês, pessoal!
Infelizmente, devido ao horário do meu vôo na sexta, não pude participar do keynote de encerramento que, acompanhando a hashtag do evento (#AgileBrazil), deve ter fechado com chave de ouro!
Abaixo, algumas fotos que tirei durante o evento:
|
Michel Goldenberg ministrando o curso de CSM |
Rodrigo Yoshima falando sobre Engenharia de software no curso de CSM |
|
Turma de CSM no Agile Brazil 2010 |
O evento estava começando. Hall principal. Olha nós no telão! |
|
Galera da Stefanini em peso no evento! |
Martin Fowler no seu keynote |
|
Alexandre Gomes e Renato Willi ministrando sua palestra |
Galera de peso no stand da Microsoft pareando para completar um desafio em .Net |
|
Igor Abade em sua palestra sobre Desenvolvimento Ágil com Visual Studio |
Daniel Wildt e Aleckssandro Tavares: PMBOK num time ágil, como fica? |
Enfim, o Agile Brazil 2010 foi nota 10! Em 2011 estarei presente novamente!
[]’s
Ricardo Serradas
CSM no Agile Brazil 2010
Olá a todos!
Post épico este! Tanto por ser o primeiro fora de São Paulo quanto por ser o primeiro que faço através de um dispositivo móvel.
Estou em Porto Alegre, Rio Grande do Sul para participar do Agile Brazil 2010. Aqui tenho tido contato com feras do mundo do Desenvolvimento de Software e de Agilidade. O evento é dividido em dois dias de cursos (terça e quarta) e dois dias de palestras (quinta e sexta) e conta com grandes nomes como Giovanni Bassi, Alexandre Magno, Michel Goldenberg, Rodrigo Yoshima, o próprio Martin Fowler, entre outros.
Os dois primeiros dias foram muito legais. Cheguei aqui na segunda e, ao sair pra jantar com alguns amigos, descobrimos no dia seguinte que na mesa ao nosso lado jantava Martin Fowler. Olha a oprtunidade de conseguir um autógrafo desperdiçada.
No dia seguinte começaram os cursos de CSM, CSPO E XP. eu participei do CSM, que acabou hoje. O curso foi bem legal e foi diferente dos cursos de CSM que já aconteceram pois, além da aula tradicional sobre o Scrum Master ministrada pelo Michel Goldenberg, algumas boas práticas de Engenharia de Software com foco no mundo ágil foram mostradas pelo Rodrigo Yoshima.
Ao final do dia, no jantar, fomos comer num lugar muito interessante: o “D’Gato” Churrasquinhos. É mole?
Abaixo, algumas fotos:
Victor Cavalcante, Giovanni Bassi e Alexandre Magno À esquerda e Rodrigo yoshima à direita, no coffee-break
Michel Goldenberg ministrando o curso de CSM
Bom, como estou sem computador, estou impossibilitado de fazer um post mais detalhado e de postar fotos da minha câmera também. Então, assim que estiver de posse do meu computador denovo, faço um post mais completo.
[]‘s
Ricardo Serradas
Customizando E-Mails de Project Alerts
O envio de alertas por e-mail quando um evento acontece no projeto do time pode ser muito importante quando falamos de integração.
Com os Project Alerts é possível, por exemplo, enviar e-mails para o responsável pela tarefa quando ela for atribuída a ele ou quando sofre modificações; pode-se enviar uma cópia para o responsável pelo projeto quando a tarefa é finalizada, entre outros fins. Porém, o template de e-mail nativo do TFS pode não ser satisfatório para o time.
Vamos falar um pouco mais sobre os Project Alerts abaixo.
Como funciona?
No servidor de aplicação, há um agente (TFSJobAgent) que fica aguardando algum evento para disparar os alertas. Os eventos podem ser:
- Modificação em um work item;
- Um check-in é realizado;
- A qualidade de um build é modificado;
- Um build termina;
Entre outros que podem ser criados. Os templates de email (tanto texto plano quanto HTML) ficam armazenados na seguinte pasta, no servidor de aplicação do TFS:
[Drive]:\ Program Files\Microsoft Team Foundation Server 2010\Application Tier\TFSJobAgent\Transforms
Dentro dessa pasta, você encontrará dois arquivos para cada tipo de evento. O arquivo de extensão “plaintextxsl” define o template de e-mail em texto plano, enquanto o de extensão “xsl” define o formato do email HTML, além do arquivo TeamFoundation.xsl, que é como um template, uma casca (como uma Master Page) para os demais arquivos. A partir daí, cada arquivo de cada evento importa este arquivo e define as outras informações a serem exibidas.
Quando o agente identifica o evento, ele recebe uma coleção de informações contendo os campos do work item e/ou do evento para gerar uma saída com base nos arquivos mencionados acima. São elas:
- CoreFields: contém os campos e seus conteúdos, cujo namespace é System.*.
- ChangedFields: contém os campos que foram modificados neste evento.
Um fator muito importante é: campos que estão fora do namespace System.* (ou campos non-core) não são enviados nesta coleção por questões de desempenho. Portanto, se quiser, por exemplo, mostrar o campo “Start Date” (Microsoft.VSTS.Scheduling.StartDate) e ele não tiver sido modificado, não será possível recuperar essa informação no alerta.
Como customizar?
No nosso exemplo, vamos customizar o alerta de Work Item modificado no formato HTML. A modificação que faremos é simples: a linha que contém o “Assigned to:” deve ficar em negrito e removeremos a linha que contém o “Changed date:”. O que temos hoje é:
E para fazer essa modificação, vamos seguir os passos abaixo (faça back-up dos arquivos antes de começar a customização):
- Abrir o arquivo WorkItemChangedEvent.xsl em algum editor de XML ou no próprio Visual Studio;
- Dentro do arquivo, procure pelo trecho “ReferenceName[.='System.AssignedTo”. Verá que existe uma definição de uma linha de tabela (TR). Assim:
Interpretando esse trecho de código: na primeira célula da linha (PropName), ele coloca o título do campo, que é “Assigned to:”. Na segunda (PropValue), é inserido o valor.
Dentro dessa segunda TD você pode enxergar uma estrutura de repetição (foreach) e uma de validação (IF) onde ele varre os campos da coleção CoreFields em busca de um campo do tipo “System.AssignedTo”; se encontrar, exibe seu valor, através da propriedade “NewValue”.
Vamos fazer uma simples modificação de HTML. Colocaremos a tag de bold (“<b>”) nas duas tds. Fica assim:
Sobre o Changed Date, basta procurar pelo texto “System.ChangedDate” no código e remover a TR que á contém.
Depois dessas edições, salve o arquivo e faça alguma modificação em algum work item para disparar o evento. No meu caso, o resultado foi o segunte:
Daí pra frente é só ir brincando com os campos e com o template dos alertas.
[]’s
Ricardo Serradas







