Páginas

Mostrando postagens com marcador utilidades. Mostrar todas as postagens
Mostrando postagens com marcador utilidades. Mostrar todas as postagens

28 maio 2008

Humanitarian Lion

As maiores agências do mundo... e o maior cliente de todos: o mundo



Fonte: UpdateOrDie

14 maio 2008

The price of a Pint

Utilidade pública mááááxima!

Não esqueça de se preparar para visitar um país novo, ou uma nova cidade do Brasil, saiba o preço da cerveja!

O site ThePriceOfaPint apresenta o preço médio da cerveja em vários países, e é obrigatório para todo bom cervejeiro que se preze... Com o conhecimento criado pelos usuários, é possível ter uma idéia do valor da cerveja respondido por quem realmente sabe do assunto: os bebedores!


The price of a Pint



Nota de revolta: Isso que dá morar em cidade da moda, Florianópolis a maior média... comerciantes mercenários que não suportam ver uns poucos bêbados no bar!

01 abril 2008

Treinamento Scrum SC - Teamware



12 e 13 de Maio - Florianópolis

Objetivos:


Cada individuo será treinado para ser capaz de assumir as seguintes responsabilidades:

  • Utilizar Scrum para gerir o trabalho como membro de uma equipe de desenvolvimento de produtos.
  • Remover as barreiras entre o desenvolvimento e o cliente, para que o cliente dirija o desenvolvimento.
  • Ensinar o cliente como maximizar o ROI e alcançar os seus objetivos através de Scrum.
  • Melhorar continuamente a vida da equipe de desenvolvimento através da liberação da criatividade e o fortalecimento.
  • Melhorar continuamente a produtividade da equipe de desenvolvimento de todas as formas possíveis.
  • Melhorar continuamente as práticas de engenharia e suas ferramentas, para que todo incremento de funcionalidades seja potencialmente entregável.


Mais informações: Gestão Ágil de Projetos com Scrum SC


[]s

14 março 2008

OpenSource para Desenvolvimento Ágil

Saudações!

Kirk Knoerchild descreve todas as ferramentas necessárias para você, desenvolvedor Ágil, trabalhar mantendo a paz de espírito e o conforto.

Confira o Artigo Completo: OpenSource Tools for an Agile Developer


A defining characteristic of agile development is to keep moving forward, recognizing working code as the primary measure of valued software. Undoubtedly, there is no way to judge a software system until you have a system to judge. Yet, experienced developers recognize that requirements frequently change and traditional methods have achieved very little success in stabilizing requirements early in the lifecycle. Instinctively, we may feel change impedes progress, but agile developers embrace an attitude where change is viewed as an opportunity to improve the system. A variety of open source software tools can enable important agile practices, allowing you to keep moving forward so long as you are willing to embrace change.



Muitas destas ferramentas serão tratadas no meu próximo artigo, na próxima edição da revista Visão Ágil

Até lá!
[]s

21 janeiro 2008

Modifique o layout do Trac



Você já ouviu falar no Trac? Ferramenta muito interessante! Aparentemente um simples sistema de tickets para helpdesk, com os plugins certos você pode facilmente organizar uma equipe Ágil... até mesmo o Jeff Shuterland já referenciou a ferramenta em seu blog. Estamos usando o trac desde outubro na Audaces, e estou cade vez mais impressionado. Além do sistema de tickets existe ainda integração com subversion, subsistema de codeReview....

Mas estamos aki para falar de como modificar o tema padrão do trac...

Passos simples(supondo que vc jah tenha um projeto trac funcionando):

Primeiro Passo:No arquivo /templates/site_css.cs:

##################################################################
# Site CSS - Place custom CSS, including overriding styles here.
?>

@import url(/site/cascadeTracMeuTemplate.css);



Segundo Passo: No diretório htdocs crie o arquivo cascadeTracMeuTemplate.css com o seguinte conteúdo(Sim, copie e cole):


body {
background: #FFFFFF url(background.png) 0 0 repeat-x;
color: #000;
margin: 10px;
padding: 0;
}

form.addnew { clear: right; float: right; margin: -2em 0 4em; }

.nav {
position: relative;
}
.wikipage { padding-left: 18px; position: relative; left: 2%; width:94% }

/* BARRA MENU */
#mainnav {
background: #66CCFF url(nav_fundo.png) 0 0 repeat-x;
border: 1px solid #000;
font: normal 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
margin: .66em 0 .33em;
padding: .2em 0;
}
#mainnav li { border-right: none; padding: .25em 0 }
#mainnav :link, #mainnav :visited {
background: url(dots.gif) 0 0 no-repeat;
border-right: 1px solid #000;
border-bottom: none;
border-left: 1px solid #555;
color: #000;
padding: .2em 20px;
}
* html #mainnav :link, * html #mainnav :visited { background-position: 1px 0 }
#mainnav :link:hover, #mainnav :visited:hover {
background-color: #66CCFF;
border-right: 1px solid #000000;
}
#mainnav .active :link, #mainnav .active :visited {
background: #333 url(../topbar_gradient2.png) 0 0 repeat-x;
border-top: none;
border-right: 1px solid #000;
color: #eee;
font-weight: bold;
}
#mainnav .active :link:hover, #mainnav .active :visited:hover {
border-right: 1px solid #000;
}

/* LINKS */
:link, :visited {
text-decoration: none;
color: #3333CC;
border-bottom: 1px dotted #3333CC;
}

/* TIMELINE*/
dt :link:hover, dt :visited:hover { background-color: #eed; color: #3333CC }

dt em {
border-bottom: 1px dotted #bbb;
color: #3333CC;
font-style: normal;
text-decoration: none;
}

/* ROADMAP */
.milestone .info h2 em { color: #3333CC; font-style: normal }


/* FOOTER */
#footer {
clear: both;
color: #bbb;
font-size: 10px;
border-top: 1px solid;
height: 31px;
padding: .25em 0;
}

Terceiro Passo: Edite os arquivos site_header.cs e site_footer.cs no diretório templates:

SITE_HEADER.CS
####################################################################
# Site header - Contents are automatically inserted above Trac HTML
?>





--

#########################################################################
# Site footer - Contents are automatically inserted after main Trac HTML
?>




Quarto e último passo: Crie um degrade bacana para o background com o nome referenciado acima.

Resultado(obviamente com o logo ficou tosco...mas experimente trocá-lo por algo mais aceitável):

01 dezembro 2007

Free Beer


As profecias estão cada vez mais claras para mim... sim! Colaboração e Liberdade de Escolha são o caminho!

Fonte: Folha de São Paulo
A Free Beer é a nova ação do coletivo dinamarquês Superflex, composto por Bjornstjerne Reuter Christiansen, Jakob Fenger e Rasmus Nielsen. No ano passado, o grupo trouxe polêmica à 27ª Bienal de São Paulo com o Guaraná Power, censurado pela presidência da instituição, que afirmou que não se tratava de uma obra de arte. Apesar do veto, o Guaraná Power, feito em colaboração com a Cooperativa de Agricultores da Região de Maués, na Amazônia, chegou a ser distribuído em museus e na própria Vermelho, durante a Bienal.

"Agora estamos propondo uma marca aberta e, nesse sentido, sugerimos um novo modelo econômico, que permite a qualquer um produzir e distribuir cerveja, a partir de uma receita que é pública, além de criar consumidores não obedientes, como gosta o mercado", conta Fenger.

"Free software"

A Free Beer surgiu em 2004, numa parceria com estudantes da Universidade de Copenhague. "Buscamos transferir os princípios do software livre para algo físico, e a cerveja se tornou um bom exemplo", conta Nielsen. "Por isso, a Free Beer tem sido comparada ao Linux [sistema operacional gratuito] e à Wikipedia", diz o artista.

Quem quiser produzir e comercializar a Free Beer pode baixar do site www.freebeer.org a logomarca da cerveja, de forma gratuita. "Já há Free Beer sendo produzida na Inglaterra, nos Estados Unidos, na Dinamarca e até na República Tcheca", afirma Fenger.

06 novembro 2007

Mobile Comédia!!


Saudações!!
Seguindo a linha de grandes sites como o UnderGoogle, eu tb criei a versão mobile para A Maldita Comédia!! Muito bom!

Através do site MoFuse, você também pode gerar a sua versão simplificada e acessível por qualquer celular... =) Web 2.0 meu amigos! Chame do que quiser: wikinomics, convergência, web 2.0, futuro, brincadeira de nerd... mas ficou muito bom!!!

http://malditacomedia.mofuse.mobi

Imagens do site:


24 outubro 2007

Palestra - Semana Acadêmica Senac RS



Saudações a todos!
A convite de um grande Amigo (Guilherme Pelotas), hoje estou de viagem marcada a Porto Alegre apresentar a palestra: Desenvolvimento Ágil - O desafio da mudança no dia 25 (quinta-feira)

A apresentação será feita na Semana Acadêmica das Faculdades Senac.

Bem, minha intenção é apresentar alguns princípios por trás do desenvolvimento Ágil (seguindo o exemplo de Kelly Waters) e de que maneira eles se unem gerando softwares de qualidade e divulgando empresas como o Google (se é que existe alguma empresa como o google). De forma descontraída, quero passar o que acredito ser o mais importante no desenvolvimento de software.

Programação do evento:
http://www.senacrs.com.br/2007/personal/2007109/10361.pdf
Uma correção: Meu nome é Victor Hugo Germano =)

Segue o pdf da apresentação:
http://www.4shared.com/file/27325657/fa6c772e/Desenvolvimento_gil.html

Novamente, minha intenção é divulgar o desenvolvimento Ágil, por isso disponibilizei a apresentação em seu formato real... sinta-se livre para modificá-la, critiá-la e distribuí-la.... desde que mantenha as referências... (chame-me de lunático... mas eu sou completamente partidário da mentalidade Wikinomics) =)
Ainda estou verificando a questão de copyrigth das imagens... mas logo se resolverá.

[]s

16 outubro 2007

Tornando-se um líder Ágil - Parte 1



Colaboração, delegação de tarefas, feedback, prazos, orçamentos, planejamento estratégico: o que é necessário saber caso você queira se tornar um líder Ágil ?(assumindo que você sabe o que Ágil com A quer dizer)
Se você, como líder, acredita que para comandar uma equipe basta apenas ótimos conhecimentos técnicos, acho melhor você se atualizar um pouco pois os tempos mudaram... Vou tentar apresentar algumas informações importantes para que você possa entender onde Desenvolvimento Ágil pode ajudar a criar equipes mais produtivas e motivadas, empresas mais coesas e principalmente vantagens competitivas. O seu papel como líder é importantíssimo, auxiliando a todos no processo de mudança que está se tornando mais e mais evidente no mercado brasileiro.

Nem tudo são flores

É necessário dedicação, e muita força de vontade, se você quer tonar-se um líder realmente eficiente. O que muitos acreditam ao assumirem uma posição gerencial é que não existe a necessidade de estudo para realizarem sua atividade. Este engano pode levar uma equipe inteira ao desastre. A sensação de poder existente em um cargo de gerente pode torná-lo arrogante e cego às reais necessidades de sua função, portanto não se esqueça: aprenda sempre! com todos!
Um bom início a meu ver pode ser o livro de Paul Glen: Leading Geeks, por ser um livro simples e muito tranquilo de ler... (ah não sabe ler em inglês? desculpe, aprenda! Que tal começar por aki). O livro servirá como uma introdução ao mundo da liderança... aproveite! (alias, o programa de webinars gratuitos que o site do Paul Glen possui é uma ótima pedida! acesse!)
Respondendo à pergunta: pra que isso me serve?, vai um pequeno texto sobre as mudanças que nossa área está sofrendo: (fonte: ComputerWorld

A analista do Gartner disse que as companhias querem melhorar a habilidade em cuidar das informações, o que pode significar, por exemplo, ajudar os negócios a entender melhor a lucratividade de um determinado produto ou eliminar um passo desnecessário no supply chain via automatização.

Ken McGee apontou como evidência de que certas companhias estão se movendo nesse sentido o comportamento dos empregadores de buscar um CIO que não tenha necessariamente uma graduação em Engenharia da Computação ou em Ciência da Computação. “Elas procuram alguém que possa fazer outras coisas além de administrar o ambiente de TI”.

Em cinco anos, defende o analista, o CIO pode estar separado das responsabilidades de administrar a operação de TI. “Talvez a tecnologia tenha um melhor atendimento com a criação de um grupo de operações focado nisso, sendo submetido ao chefe das operações. Achamos que é um debate justo”, diz. É também um tema, ressalta McGee, sobre o qual o Gartner continua pensando.

Joe Montano, chefe de TI do departamento de Energia, Minerais e Recursos Naturais do estado norte-americano do Novo México, disse que o questionamento de McGee ressoou em seu pensamento. “Você pode notar isso acontecendo. Eu tenho ficado cada vez menos nas operações do dia-a-dia, portanto o foco está mais nos negócios”, completou.

Pois é, é necessário atualizar-se. Mas por onde começar?? Particularmente não acredito muito que fazer um curso de Administração em uma unibomba da vida não resolverá sua vida, mas que sabe por um custo muito menor você não consegue o mesmo resultado??
Já pensou em fazer um MBA? Caro? E se eu disser que ele pode sair de graça??!?!? Duvida? (Fonte: Personal MBA Manifesto)

The Personal MBA (PMBA) is a project designed to help you educate yourself about advanced business concepts. This manifesto will show you how to substantially increase your knowledge of business on your own time and with little cost, all without setting foot inside a classroom.

The PMBA is more flexible than a traditional MBA program, doesn’t involve going into massive debt, and won’t interrupt your income stream for two years. Just set aside some dedicated reading time, pick up one of these books, learn as much as you can, discuss what you learn with others, and go out into the real world and make great things happen.

If you’re interested in educating yourself about business, the Personal MBA is the best place to start.

Recomendo livros de Peter Drucker e Demin. Entenda de onde surgiu o conceito para poder aplicá-lo da melhor forma possível. É necessário aprender sobre qualidade total e administração moderna para saber onde quero chegar com esse negócio de Desenvolvimento Ágil

Leia meu amigo, leia muito! É necessário ter o conhecimento base durante a aplicação de práticas de Desenvolvimento Ágil

Onde TI e Businnes se encontram

Fonte: Business and IT – A Marriage Made in Heaven?

To most non-technical people, the mere mention of "IT" can be a real turn off, or result in a roll of the eyes. Although traditionally associated with geeks developing code in a back room, IT - in its very broadest sense - forms the backbone of organizations today, which begs the question: why is there still such a huge communication gap between the IT discipline and the business it powers? This article provides anecdotes and advice for businesses to help them resolve the issues between business and IT, and describes how using Agile methods might just save their relationship.

Talvez este seja o principal documento deste post de hoje... devore-o!

até o próximo...

15 outubro 2007

Integração Contínua



Termo muito importante no mundo Ágil... eu disse muito? Eu quis dizer MUITO!
Sua intenção é ser a panacéia para os males relacionados a builds e gerações de versão para software, além de pode se tornar uma ferramenta bastante importante para tomada de decisão por parte da área gerencial da equipe... a idéia é simples:
um único botão é responsável por disparar uma série de ações que culminam com a contrução do seu sistema... assim, simples... que tal?
A este mesmo procedimento de construção podem ser adicionadas rotinas como:
  • Execução de testes automatizados
  • Geração de versões internacionalizadas de seu software
  • Disponibilizar a versão atual em desenvolvimento para o cliente
  • Criação de relatórios de código como:
  • Cobertura de testes
  • Inspeção de padrões de codificação
  • Estatísticas de acoplamento

Todo o processo segue a arquitetura descrita na imagem abaixo:


O cenário acima pode ser descrito como: (Fonte: Continuous Integration)
  1. O desenvolvedor envia o código para o controle de versão (SVN, CVS, etc). Enquanto isso a máquina de integração (servidor de Integração Contínua) está verificando o repositório buscando por modificações
  2. Logo após um commit ser efetuado, o servidor ao verificar que alguma mudança ocorreu no repositório inicia o processo de build baixando os arquivos do Servidor de Controle de Versão. Assim, o script de build é executado, testes são realizados, relatórios gerados, e todo o projeto é integrado.
  3. O Servidor de Integração envia por e-mail ou outros dispositivos o feedback sobre build para usuários específicos do projeto
  4. O servidor volta ao estado de Poll buscando por mudanças no repositório
Um comportamento importantíssimo: Esta arquitetura força a equipe a manter sempre em funcionamento o código fonte que existir no repositório, adicionando mais controle a possíveis problemas de implementação ou integração.

Encontrei um site comparativo sobre ferramentas de build contínuo: Continuous Integration Matrix. Vale muito a pena dar uma lida. Autalmente utilizando o luntbuild, sem grandes problemas... bastante eficiente a ferramenta.
No livro, algumas outras ferramentas são citadas:
  • Doxygen: Gera diagramas de classes e relacionamento automaticamente para uma infinidade de linguagem. Ferramenta muito poderosa!!
  • X10: Utilizado para controlar qualquer mecanismo que utilize radio frequencia. Ideal para colocar um sirene ao lado com servidor de build para que todos saibam que algo de errado foi enviado ao repositório
  • Sourcemonitor: Geração de métricas sobre desenvolvimento
  • Selenium: Automatize testes de aceitação. Ferramenta show demais!
  • Checkstyle: Ferramenta de inspeção de código para Java

Um exemplo prático pode ser encontrado no site da Improveit

É isso... =)

05 outubro 2007

Net Fone - O mais barato

Telefone da Net consegue ser o mais barato em são paulo! Alguém sabe se o serviço é de qualidade?
Aki na ilha da magia as coisas não são das melhores, ainda nao vi nenhuma pessoa que estivesse satisfeita com o serviço da net...

Veja o estudo abaixo
Fonte: InfoMoney
Perfis

Para elaboração do estudo, o Idec escolheu três perfis de gasto:
  • 200 minutos mensais para fixo + 100 minutos mensais para celular;
  • 250 minutos mensais para fixo + 50 minutos mensais para celular;
  • 400 minutos mensais para fixo + 300 minutos mensais para celular.
Quanto fica
Na tabela abaixo é possível verificar os preços dos serviços prestados em São Paulo pela Telefônica, Net e Skype. O tempo de ligação para celular foi estimado pela entidade em dois minutos:

Perfil 1
Empresa Gasto com fixo Gasto com celular Total
Telefônica R$ 38,80 R$ 69,14 R$ 107,94
Net Fone R$ 20 R$ 65 R$ 85
Skype* R$ 26,40 R$ 65,70 R$ 108,99
Perfil 2
Empresa Gasto com fixo Gasto com celular Total
Telefônica R$ 43,58 R$ 34,57 R$ 78,15
Net Fone R$ 25 R$ 32,50 R$ 57,50
Skype* R$ 33 R$ 32,85 R$ 82,74
Perfil 3
Empresa Gasto com fixo Gasto com celular Total
Telefônica R$ 57,91 R$ 207,42 R$ 265,33
Net Fone R$ 40 R$ 195 R$ 235
Skype* R$ 52,80 R$ 197,10 R$ 266,79

28 setembro 2007

Scrum FAQ em português

Saudações a todos!

Bem, não sei ao certo o porque fiz isso, talvez pela influência do livro Wikinomics...
Com a intenção de ampliar a divulgação de Scrum e Desenvolvimento Ágil nas empresas brasileiras, o documento escrito por Howard van Rooijen filiado à empresa Conchango, que transcreve entrevistas feitas com Ken Schwaber respondendo perguntas sobre Scrum, foi traduzido para o português por mim.

Vejam o documento: arquivo

editNote: Link já corrigido

[]s

Não tem o que fazer em Dezembro?

Eu tenho a solução!
Como a Agille2007 teve uma procura imensa e todos os ingressos foram vendidos 2 meses antes, o pessoal resolveu promover um novo evento! coisalinda! Principalmente pra quem tem ao menos 1000 dolares pra desembolsar na inscrição, mais passagem e estadia... aproveitem!

A programação está impressionante!
Vale a pena!




27 setembro 2007

Tem certeza que não serve para sua empresa?



Saudações!

Bem, o Clavius Teles, da Fortes Informática, indicou na lista xpRio um documento muito interessante falando sobre a aplicação de práticas Ágeis no Google. Sim, como a própria apresentação diz: "Práticas Ágeis em Projetos Reais"...

Engraçado o título da apresentação, talvez para que as pessoas passem a dar algum crédito para o que está acontecendo no mundo, e como nós estamos avançando na utilização de modelos de desenvolvimentos mais próximos da realidades das empresas. (Desenvolvimento Ágil está mudando o mundo!)

Pontos Importantes sobre a apresentação:

- Existe uma influência muito forte de prática de XP na forma de trabalho das equipes. Praticamente todas as práticas são listadas na apresentação.

- Preocupação em manter o desenvolvimento sobre o olho atento da qualidade, através de métricas e Feedback (Métricas em Desenvolvimento Ágil)

- Desenvolvimento Ágil escalável com certeza!
Num dos exemplos que me chamou a atenção, em que a equipe deveria trabalhar com código legado, vê-se a preocupação com testabilidade, com ciclos de refactoring para possibilitar a criação de testes e ainda a utilização de TDD para qualquer código novo que fosse inserido...

- "Plans are nothing; planning is everything" - Dwight D. Eisenhower

Lembre-se disso:

We do Agile at Google in response to real need, to provide real results, not because someone thought it would be a cool thing to do.


Veja a apresentação na íntegra


Outro exemplo interessante: Yahoo!

Results From Scrum
The benefits of Scrum reported by teams come in various aspects of their experience. At Yahoo!, we have migrated nearly 90 projects to Scrum in the last 30 months, totaling almost 900 people, and the list of teams using it is quickly growing. These projects have ranged from consumer-facing, design-heavy websites like Yahoo! Photos, to the mission-critical back-end infrastructure of services like Yahoo! Mail, which serves hundreds of millions of customers; they range from entirely new products like Yahoo! Podcasts, which used Scrum from concept through launch (and won a Webby Award for best product in its category that year), to more incremental projects, which included work on new features as well as bug fixes and other maintenance; and we’ve used Scrum for distributed projects, where the team is on separate continents. Several times each year we survey everyone at Yahoo! that is using Scrum (including Product Owners, Team Members, ScrumMasters, and the functional managers of those individuals) and ask them to compare Scrum to the approach they were using reviously.


Veja o texto na íntegra


Dúvida: você ainda se acha grande o suficiente para dizer que Desenvolvimento Ágil não serve pra você?


Um abraço

20 setembro 2007

O Futuro (será?)



Essa semana estive conversando com um grande amigo, o Ivan do DojoFloripa, e comentávamos sobre como nossos modelos (brasileiros) estão atrasados em relação ao resto do mundo... ao menos dois anos nos separam dos demais modelos produtivos ao redor do mundo...

Até que comecei a ler um livro... e acabei reafirmando essa afirmativa... temos muito que aprender ainda... livro de mais de um ano atrás apresenta exemplos bem sucedidos de colaboração para a geração de valor...


A Internet de ontem, só para leitura, do tipo "publique e navegue", está se tornando um lugar onde o conhecimento, os recursos e a capacidade computacional de bilhões de pessoas estão se agregando para formar uma força coletiva maciça. Energizada por blogs, wikis, salas de bate-papo, transmissões pessoais e outras formas de criação e comunicação peer-to-peer, essa força extremamente descentralizada e amorfa cada vez mais se auto-organiza para fornecer as próprias notícias, o próprio entreterimento e os próprios serviços. À medida que esses efeitos permeiam a economia e cruzam com mudanças estruturais profundas como a globalização, veremos o surgimento de um tipo totalmente novo de economia, no qual as empresas coexistem com milhões de produtores autônomos que se conectam e criam conjuntamente valor em redes livres acopladas. Chamamos isso de economia da colaboração.

Wikinomics




12 setembro 2007

Métricas em Desenvolvimento Ágil



Saudações!
Estive atrás de informações sobre métricas aliadas ao desenvolvimento Ágil, já que é necessário mensurar o desempenho e validar o estado atual de um projeto.
A pesquisa foi muito melhor do que eu imaginava. Além de regras e fórmulas, encontrei um material bastante pertinente a respeito, inclusive uma edição inteira do Agil Journal falando sobre o tema
Farei uma pequena contextualização antes de continuar:

Deviado ao custo elevado em se manter um departamento de TI (profissionais caros e equipamentos mais caros), são necessários métodos de mensurar o desempenho e garantir que o dinheiro investido não está indo para o ralo. Infelizmente à medida que nos aprofundamos no assunto, seguindo modelos tradicionais de desenvolvimento e desempenho, verificamos que falta clareza na utilização de ferramentas de mensuração, e que estamos a todo momento medindo aquilo que não é importante, deixando de lado o que realmente justifica a utilização da TI: a agregação de valor ao negócio. Ao invés disso, o foco das medidas está em atributos de software e quantidade de dinheiro dispendido. Entre essas medidas podemos citar: pontos de função criados, horas trabalhadas, número de linhas de código por desenvolvedor ou ainda orçamento gasto. Aliado à falta de estrutura para receber tais dados esse relatórios fazem que os itens tenham seu valor superestimado, criando uma visão míope do projeto.

Medidas como linhas de código por desenvolvedor ou horas trabalhadas sempre levam a problemas muito maiores para o projeto. Um programador, quando cobrado em linhas de código, evitará qualquer tipo de reutilização ou refactoring que aumente a qualidade do código para que possa parecer produtivo. Ou ainda ele poderá degradar-se completamente ao trabalhar a mais do que o necessário, criando dificuldades de relacionamento e de participação no projeto (lembrem da prática: Semana de 40 horas). Perceba a complexidade que é criar e fomentar tais medidas.

Tradicionalmente atribuimos uma medida de produtividade aos indivíduos do projeto. É pior ainda! Uma equipe deve possuir uma identidade única, que é projetada ao mundo externo como reflexo de seu comprometimento com o projeto, e não como uma série de indivíduos que trabalham por si em detrimento do grupo. Pois é isso que acontece ao medir produtividade individual das pessoas da equipe. Uma equipe deve competir para ser a melhor dentro de toda a organização. Não acredito que gerentes queiram uma equipe que disputa para ver quem é o melhor dentro dela mesma.
Mike Griffths apresenta sua visão sobre isso de forma bastante interessante em seu artigo. Baseado no Efeito Hawthorne, que demonstrou a mudança de produtividade de trabalhadores através do simples fato deles terem conhecimento da medição de produtividade, Mike apresenta a idéia de que uma medição efetiva não deve em nenhum momento atrapalhar a qualidade do projeto (medir linhas de código não é o caso), e deve estar direcionado a elementos chave para o desenvolvimento. Ele cita também um modelo de seleção de métricas definido por Donald Reinertsen:
Primeiro, deve ser simples, métricas ideais são geradas automaticamente no sentido de que não é necessário esforço extra para serem produzidas. Segundo, elas deve ser relevantes. Isto é, o controle deve ser feito pelas mesmas pessoas que estão sendo medidas. Psicólogos já descobriram que quando as pessoas acreditam que podem controlar alguma coisa, elas estarão mais motivadas para controlá-la. Mensurar uma equipe por algo que ela não tem controle apenas causará estresse, insatisfação e alienação. Terceiro, deve ser focado em indicadores de condução. Meça olhando para o futuro, e utilizando tais dados para relatar o passado. É mais fácil medir o tamando de uma fila de testes do que é medir o tempo de processamento dos testes individuais pelo fato de que o tamanho da fila é um indicador de condução para futuros atrasos no processamento do teste.


Modelos ágeis em sua concepção já promovem um jogo completo de métricas que podem ser coletadas de forma trasparente. Testes unitários, análise da qualidade de código e outras medidas técnicas podem ser automatizadas no processo de Integração Contínua. A unidade comum de trabalho - o história - é o fundamento para medidas de gerenciamento de projetos e qualidade de alinhamento de negócio. É importante lembrar que todo o ferramental existe para dar suporte a isso, e que se deve encarar este modelo de métricas com uma visão global.

Ross Pettit, em seu artigo, propõe a seguinte categorização:

  • Excelência em desenvolvimento: Consolidando objetivos para medição de código. Não deve ser analizado em separado, pois causará distorções graves.

  • Qualidade: medidas de defeitos que possam escapar ao desenvolvimento bem como o alinhamento entre desenvolvimento e especificações funcionais.

  • Sensibilidade ao negócio: para os modelos ágeis, requisitos são assumidos como user stories, tornando-se a real expressão do valor de negócio. Podem ser medidas como o grau de valor objetivado e o grau entregue.



Exemplos reais de métricas e relatórios

CFD - Cumulative Flow Diagrams
Bastante Interessante! Ele seria o complementar ao BurnDown Chart do Scrum, trazendo a relação de requisitos completos, requisitos restantes e requisitos em desenvolvimento.

No exemplo acima, o progresso é indicado pela completude da faixa verde no decorrer do projeto. Importante notar a mudança de proporção relacionada à faixa superior, indicando aumento de user stories no decorrer do projeto. Esta mudança pode indicar um problema relacionado à comunicação entre produto e desenvolvedores.

Parking-Lot Chart
Ouvi falar a primeira vez desse gráfico com Mike Cohn no livro Agile Estimating and Planning, e achei extremamente interessante! A ideia é utilizar agrupadores para reunir requisitos com o mesmo domínio e montar um grafico contendo Dominio, Numero de historias em cada dominio, numero de pontos de historia e a completude. A coisa fica mais ou menos assim:


Retirado do site Feature Driver Development

Pode-se ter uma visão bastante real do estado atual do projeto.

Ambiente Informativo
Apresentado na xpRio, na discussão a respeito de um Ambiente Informativo, Alisson Vale mostrou um modelo muito claro para trabalhar com a equipe:

Acredito que a imagem seja suficientemente auto explicativa.

RTF: Running, Tested Features
Representa a quantidade de requistos estão passando em todos os testes de aceitação. É facilmente gerado utilizando ferramentas automatizadas de teste e Teste de aceitação. Idealmente deve parecer com a imagem abaixo:

Também conhecido como Burn-Up chart. Qualquer anomalia no comportamente desta imagem deve ser encarada como um problema, já que, teoricamente, os requisitos implementados devem passar em todos os testes sempre.
Uma ótima referência para este tipo de teste pode ser encontrado aqui.


Outras medidas

Satisfação do Cliente: Determinada nos encontros entre de definição das iterações, podendo ser feita com um questionário simples de satisfação e representada através de imagens/cores. Medida interessante de ser trabalhada, pois deixa a equipe com o real estado de aceitação que o cliente se encontra.

Code coverage (quantidade de código coberto por testes)

Builds feitos com sucesso (por sprint, por semana, por dia)

Builds não realizados (por sprint, por semana, por dia)




É isso senhores... espero que tenha sido proveitoso.

31 agosto 2007

Impressionante Instrumento musical



Impressionante o aparelho, fiquei muito animado! Que tal alguém me dar de presente?!
Dispositivo que permite uma "sinestesia auto-induzida" para que você consigo criar sua própria música.

Não entendeu nada neh?? Veja você mesmo:

21 agosto 2007

Treinamento de TDD: Testes! Código! Ação!

Evento que será realizado aqui perto, em Joinville - SC:

Treinamento de TDD na PyCon Brasil 3, em Joinville, SC.

Nível da Palestra: Intermediário

Como desenvolver código limpo, fácil de evoluir e que possa ser mudado sem medo quando necessário? Este treinamento é um exercício prático e interativo de Desenvolvimento Dirigido por Testes (TDD), uma das práticas mais eficazes da Programação eXtrema (XP). Os participantes serão guiados no desenvolvimento "ao vivo" de um jogo simples a partir de testes unitários, enfatizando os valores desta prática e a importância do foco constante no design simples e em código correto, conciso e legível.

Palestrantes

Rodrigo Bernardo Pimentel e Danilo Toshiaki Sato

São Paulo - SP

Rodrigo: Programador por profissão e hobby. Pythonista há alguns anos. Curioso. Escreve em http://isnomore.net.

Danilo: Desenvolvedor de software generalista, consultor da AgilCoop, mestre pela USP e blogger esporádico em http://www.dtsato.com.



Mais informações


Infelizmente não poderei ir... será que alguém do CodingDojo estará por lah?

16 agosto 2007

50 ações para conter o Aquecimento Global

Há pouco tempo assisti a um filme impressionante: Uma Verdade inconveniente, onde Al Gore discursa sobre o aquecimento global. Muito bem fundamentado, o filme trata do aquecimento global, com a seguinte premissa: cabe a nós, cidadãos do mundo, o papel de conter o processo. E ainda há tempo.

Pesquisando sobre o assunto, acessando o Ueba encontrei um texto falando das 50 ações para conter o aquecimento global. Vou listar as mais simples e importantes abaixo:

  • Gere menos lixo!!
    • use canecas ao invés de copos descatáveis
    • garrafinhas de água
    • leve grandes sacolas ou bolsas ao supermercado
    • se o intuíto de algum item é ir direto para o lixo, por quê levá-lo para casa? isso vale para papeizinhos de rua, sacos plásticos e extratos bancários impressos
    • utilize menos CDs e DVDs substituindo-os por penDrivers e emails de grande espaço
  • Troque suas lâmpadas incandescentes por fluorescentes
    • 60% a menos de energia do que as convencionais
  • Escolha eletrodomésticos de baixo consumo energético
    • O imetro criou um selo de consumo de energia para aparelhos - Escolha produtos com este selo (Veja as tabelas de consumo)
  • Não deixe seus aparelhos em standby
    • Economize 15% a 40% da energia que seus aparelhos consomem
  • Use a máquina de lavar roupas/louça só quando estiverem cheias
    • assim, água e energia são economizadas
  • Nunca é demais lembrar: RECICLE
    • Que tal propor o seguinte: separação do lixo em seu condomínio?? Na sua empresa?? simples...
    • Empresas hoje conseguem reduzir muitos custos com um programa simples: reciclagem de papel! Impressoes com problemas saem do lixo e transformam-se diretamente em dinheiro no caixa das empresa!
    • Por que nao fazer o mesmo com o seu condomínio?? Que tal diminuir a taxa de arrecadação (o famoso rateio) mensal de todos os apartamentos com uma proposta de venda de papel para reciclagem e latas de alumínio??? COISA CHIQUE D+!!!!
  • Reduza o uso de embalagens
    • Eu acabo sendo chato... mas tente repetir a seguinte frase para o atendente que insiste em colocar numa sacola a caixa do dvd na locadora: "Não precisa de sacola, muito obrigado. Gera mais lixo". Qual será a reação dele??
    • Vá às compras de mochila ou sacola e evite compras muito grandes: consumismo demais gera lixo demais
  • Lave o carro a seco
  • Vá de escada
    • Hábitos saudáveis também são muito úteis. Pergunte-se: será que preciso realmente ir de elevador?
  • ECONOMIZE ÁGUA
    • Preciso dizer algo mais???

Veja a lista completa

13 agosto 2007

English as Second Language

Sessão utilidades!
Se você está tentando melhorar o seu inglês, esse site é uma ótima pedida... quase diariamente surgem podcasts sobre algum assunto em inglês... tudo simples e muito bem explicado... vale a pena cadastrar no seu leitor de notícias e ouvir de vez em quando...

Praticar é viver!
English as a Second Language

Segue abaixo um exemplo: