Genchi Genbutsu – Vá e veja com seus próprios olhos!

Postei lá no Pingos de Agilidade sobre Genchi Genbutsu.

 

Quantas vezes durante sua carreira você trabalhou na solução de um problema, que na verdade, não existia?

Ou utilizou uma informação incorreta para criar uma funcionalidade em seu software?

Ou tomou alguma decisão baseada em boatos que escutou pelos corredores?

Eu já passei por isto algumas vezes, e provavelmente você também.

O que precisamos fazer é simples: Genchi Genbutsu!

Vá e veja com seus próprios olhos!

Quando um cliente te pedir uma funcionalidade nova, que por exemplo, resolva um problema em sua linha de produção, vá até o cliente e veja com seus próprios olhos como funciona a linha de produção e qual é o problema do cliente.

O ponto aqui é: Vá na origem, observe pessoalmente, verifique dados, em vez de teorizar com base no que os outros te falam.

Quando você vê algo por si mesmo, você entende completamente a situação, e não é traído pelas falhas de comunicação que ocorrem com frequência.

Isto vai exigir que você saia da famigerada zona de conforto, mas você vai reduzir significativamente o desperdício de energia (e muitas linhas de código) para resolver problemas que na verdade não existem. 😉

 

Anúncios

Qualidade em aplicações Android com Robotium

A qualidade é uma característica impressindível para quem deseja fornecer seu software ao mercado, independente da plataforma para o qual seu produto é desenvolvido. Por mais inovador e atrativo que seu produto seja, a ocorrência de bugs pode trazer problemas e até mesmo a sua desaprovação por parte de seus clientes.

Os testes de software são importantes para garantir a qualidade dos produtos desenvolvidos. Com a utilização de testes os problemas existentes no software podem ser encontrados e corrigidos antes destes chegarem aos clientes. Entre as principais técnicas de testes de software, está o teste funcional, que avalia o comportamento externo do software simulando a interação entre este e o usuário, sem considerar seu comportamento interno.

Os testes funcionais podem ser realizados manualmente, por um integrante da equipe de desenvolvimento. Este deve navegar pelo software seguindo um roteiro que esteja de acordo com os requisitos que o software deve atender. A execução manual de testes funcionais pode trazer alguns problemas como a necessidade de dedicação de uma ou mais pessoas em tempo integral para a tarefa ou então a execução realizada de última hora e não realizada corretamente, dificultando a descoberta de bugs antes que estes cheguem até o cliente.

Para quem não deseja enfrentar estes problemas, a solução é a automação dos testes funcionais. Os testes automatizados podem ser criados pelos próprios desenvolvedores e executados automaticamente, sem a dedicação de integrantes da equipe de desenvolvimento de software. Além de reduzir os custos de desenvolvimento, os testes automatizados são executados mais rapidamente que os testes manuais e podem ser integrados a ferramentas de integração contínua, tornando possível a execução dos testes sempre que necessário. Estes fatores aumentam consideravelmente a qualidade do produto desenvolvido.

Os desenvolvedores de aplicações para a plataforma Android possuem uma excelente opção para esta tarefa. O Robotium, um framework open source de automação de testes funcionais em aplicações desenvolvidas para a plataforma Android, que permite a sua utilização de maneira muito simples.

Entre as características do Robotium, podem ser destacadas:

– Open source, o que permite alterações, melhorias e também contribuições com o desenvolvimento do projeto;

– Desenvolvimento dos testes em Java, a mesma linguagem utilizada para o desenvolvimento das aplicações;

– Segue os padrões JUnit e para quem já o utiliza para o desenvolvimento de testes unitários é ainda mais tranquilo;

– Os testes podem ser executados em dispositivos e não apenas no emulador, o que possibilita um resultado mais realista sobre os testes;

– Pode ser integrado a ferramentas de integração contínua.

– Possui suporte a Activities, Dialogs, Toasts, Menus and Context Menus;

Mais informações sobre o Robotium podem ser encontrados no slideshare e no vídeo abaixo. A página do projeto Robotium possui tutoriais e exemplos para iniciar a utilização deste framework, incluindo o exemplo demonstrado na apresentação.

Post escrito por Elvirio Daniel Hans Junior, programador Na Trevisan Tecnologia, iniciando no desenvolvimento mobile.

TTLabs Summit Q3/2012! Qual é o seu tempo? por @dwildt

Esta apresentação foi feita dentro do TTLabs Summit Q3/2012, que ocorreu no dia 14/set/2012 na Trevisan Tecnologia.

Você já parou para pensar onde vai todo o seu tempo? Conhece alguém que sempre reclama que não tem tempo para nada? E alguém que só reclama do emprego e não reflete como sua vida poderia ser diferente? Já pensou em viver seu tempo? Em definir um novo estilo de vida?    

Em resumo: #VivaSeuTempo  

Eu penso que se sei gerenciar meu tempo, saberei controlar melhor minha atuação no dia a dia profissional e pessoal. Isto vai ajudar meu time de trabalho e as iniciativas que faço parte.  

Esta palestra é originalmente um workshop de três horas. Fiz um esforço para apresentar a mesma em menos de 6mins. Consegui em 5min59segundos. 🙂  Busquei levantar algumas técnicas diferentes para apoiar o seu dia e ajudar a entender os impactos nas atividades que realizamos.    

Só que as técnicas são apoio, não o essencial. O importante é refletir. Ter um momento para gerar consciência do que você está fazendo com o seu tempo. E assim buscar entender se o direcionamento dele está adequado. Se está alinhado com o seu propósito e seu estilo de vida. A propósito, qual o seu propósito? E seu estilo de vida?  

Veja a apresentação no slideshare e o vídeo no youtube

Daniel Wildt trabalha com empresas e equipes ajudando na adoção de metodologias ágeis e melhoria das técnicas de engenharia de software. Sempre em busca de simplicidade e aprendizado. Ajudo pessoas a se tornarem melhores profissionais, equipes a crescerem através de melhoria contínua e produtos a serem formados. Sou CTO na Trevisan Tecnologia (http://www.trevisantecnologia.com.br), tenho um blog no http://danielwildt.com e posso ser visto no twitter @dwildt.

TTLabs Summit Q3/2012! Veja o lineup do dia!

Hoje pela manhã fizemos mais uma edição do TTLabs Summit, edição Q3/2012. Deixo aqui o lineup das apresentações que foram realizadas. Conforme formos processando slides e vídeos, iremos publicar novos posts a respeito! 

Palestras:

  1. Daniel Wildt Qual é o seu tempo?
  2. Maurício Sganderla Me formei e agora? Preparado para o mercado ou para academia?
  3. Elvírio Hans Qualidade em aplicações Android com Robotium
  4. Guilherme Elias Fazer Mais … Com menos … Porém Sempre!!
  5. Rafael Helm [DES]especialize-se!

Aguarde os próximos posts com slides e vídeos das palestras! 
E ainda depois do fim do Summit aproveitamos para gravar mais um podcast! Enquanto não chega o novo, vai ouvindo os que já temos gravados

Quem escreveu este post? Daniel Wildt é CTO da Trevisan Tecnologia e curte ajudar o time a melhorar continuamente. Site no danielwildt.com e twitter @dwildt.

 

Processos de seleção – como tratar um desenvolvedor?

A palavra aqui é feedback

Quando estamos contratando alguém, estamos criando uma relação. Entre a empresa e a pessoa que estamos conversando. Entre as pessoas que estão representando a empresa e a pessoa que está se candidatando. É um processo. Se der tudo certo, você tem uma pessoa nova na sua equipe. Se não der certo, você passou a conhecer uma pessoa que pode aprender e contribuir com sua empresa.  

Na lista de eXtreme Programming do Yahoo Groups, está rolando uma discussão sobre pedir “sample code” para os candidatos. Mandei minha opinião por lá, e coloco a mesma abaixo. Se você quiser saber mais sobre o nosso processo de seleção, fizemos alguns posts aqui e no meu blog também coloquei algumas coisas buscando ajudar profissionais nos seus processos de seleção e também networking. Mas aqui o foco é falar do processo de seleção. Termino com a mensagem que mandei lá na lista de discussão. 

In my company, we do coding dojos every week.  

During 1 hour per week we play with some sort of problem and experience different programming languages and put ourselves in situations to work with Pairing, Communication, Design (Unit Testing + Refactoring + OO + Patterns).  

With that, when we are hiring, we ask people to play with one of our problems, in the language we are mostly looking for at the moment. We ask people to play during 1 hour at most. We don’t need the code 100% done. We need some sort of code in order to talk to the candidate in another way. We want to check how the candidate play with feedback and small refactorings in the source code. When possible, we bring people to pair with us.  

Also, we have a good talk before and after, to check one specific thing: the attitude.  We want to make sure that the candidate attitude is aligned with our team attitude.  

And for those people who don’t pass this process, we give real feedback with references for extra study, saying where they  can improve. With that, we get new friends and someone to follow our process. 

Quem escreveu este post? Daniel Wildt é CTO da Trevisan Tecnologia e curte ajudar o time a melhorar continuamente. Site no danielwildt.com e twitter @dwildt.

Eventos Junho, Julho e Agosto … Confiram!

Ttlabspodcast

Enfim nosso terceiro episódio!!!

Para esta edição fizemos um compacto sobre alguns eventos realizados no mês de junho e alguns outros eventos a serem realizados nos próximos meses.

Falamos sobre o Agile Game Night, evento realizado pelo GUMA-RS e também sobre o Coderwall.

Para finalizar aproveitando o espaço de merchandising gratuito 🙂 falamos sobre o Agile Brazil 2012 que será realizado neste ano em São Paulo e também sobre o evento do GUTS-RS bem como da palestra “Permissão para mudar” que será realizado na Escola livre.

 

 

#FicaADica:

Desenvolvendo para iPhone e iPad – Recursos para aprender

A nossa equipe vem desenvolvendo a versão do uMov.me para plataforma iPhone e iPad. E dentro deste processo, temos um trabalho de nos capacitar de forma constante, permitindo que mais pessoas da equipe possam trabalhar com objective-c, atuando na nossa característica de sermos multidisciplinares e poliglotas no desenvolvimento de software.

Um dos recursos que eu considero bem legais para aprender o “desenvolver objective-c“, fora todos recursos no site da apple, é o material liberado pela Stanford como Creative Commons.  Fora todo o material de slides e exemplos disponíveis, ainda existe uma grande quantidade de material de vídeo disponível no iTunes.

Fora este material todo claro, existem vários outros tutoriais na internet, desde trabalho com views e banco de dados SQLite, que podem ajudar a entender e evoluir aprendizado.

Dentro deste processo, também indico o estudo de ferramentas para apoiar o processo de testes. Uma das que estamos já trabalhando é o OCUnit. Uma outra ferramenta que vale olhar é o Frank, para testes de aceitação dentro do desenvolvimento iPhone. Neste sentido, de estudar testes automatizados, no próprio material da Stanford, existe uma lição sobre o assunto. Lição 19