#TGIF – Prazos e desenvolvimento de software

Essa semana me deparei com essa tirinha do site Vida de Programador e achei bem interessante. Um problema que sempre vai existir no desenvolvimento de software é a questão de definição de prazos.

Software não é algo concreto que você consiga contar a quantidade de tijolos, de cimento, número de andares, quantidade de pedreiros e ter uma estimativa precisa. Vários fatores influenciam essa “incerteza” nas estimativas de software, dentre eles:

Novas tecnologias, Novos domínios (Domínios inovadores por exemplo), Turnover (taxa de saída de pessoas do projeto/empresa), Complexidade, etc…

E aparentemente por conta dessa “incerteza” as estimativas de software não são tão precisas quanto de outras áreas. Os clientes parecem entender isso perfeitamente, e acham que já  que é “incerto”, dá pra encurtar/apertar (e aí é onde começa a confusão dos prazos que foi retratada nessa tirinha de forma tão bela!)

Em time que está ganhando não se mexe

Ao longo dos meus, ainda curtos, cinco anos de experiência numa empresa projetizada, felizmente, posso afirmar que tive a oportunidade de trabalhar com diversas equipes extremamente competentes tecnicamente. Porém, facilmente consigo destacar algumas, que além da qualidade técnica possuíam uma sinergia de trabalho natural, a qual permitia um melhor desenrolar das atividades.

Por dentro da Cabeça de Steve Jobs

Enquanto lia o livro “A cabeça de Steve Jobs”, escrito por Leander Kahney, o qual recomendo a todos que trabalham com TI ou que se interessam pelos produtos desenvolvidos pela Apple, diversos trechos chamaram minha atenção.  Logo nos primeiros capítulos o autor descreve o sucesso da Pixar e como ela se difere da forma tradicional de criar filmes em Hollywood. E o seguinte trecho me chamou a atenção, pois o pude relacionar diretamente com as minhas experiências pessoais.

 “O problema do modelo de Hollywood é que geralmente no dia em que você termina a produção é que você percebe que finalmente descobriu o jeito de trabalharem juntos”,

disse Randy S. Nelson, reitor da Universidade Pixar

 Já, a Pixar, o autor descreve que trabalha de maneira oposta:

“Os diretores, os roteiristas e a equipe técnica são todos empregados assalariados com grandes concessões de opção de compra de ações. Os filmes da Pixar podem ter diferentes diretores, mas em todos eles a equipe básica de escritores, diretores e animadores é a mesma, trabalhando como empregados da companhia.”

Podemos dizer que o mesmo cenário se repete na indústria de software. Durante cada projeto, a equipe se desenvolve (tecnicamente e pessoalmente), porém ao final do mesmo esse time é desfeito e todo o aprendizado que poderia ser potencializado é desperdiçado. Cada integrante, leva consigo os aprendizados, porém, nem todos poderão ser aplicados para a nova equipe.

Em outro trecho do livro, o autor destaca também a forma de trabalhar da equipe de designers da Apple, extremamente premiados e reconhecidos por sua competência. Jonathan Ive, líder da equipe traduz a forma de trabalho da seguinte maneira:

Mantendo uma equipe central pequena e investindo significativamente em ferramentas e processos, podemos trabalhar com um nível de colaboração que parece particularmente raro”, disse Ive

Ive diz que a equipe, pequena e íntima, é crucial para a criatividade e a produtividade.

Os benefícios de trabalhar com equipes pequenas, já podemos perceber ao seguir os conceitos do Scrum e das metodologias ágeis. Equipe íntima, ou seja, onde as pessoas se conhecem e confiam nas habilidades dos demais integrantes. E assim, talvez, conseguir criar um ambiente colaborativo que permita a criação de produtos de sucesso.

Então, será que não deveríamos refletir um pouco mais sobre essas afirmações? Acredito que manter, ao menos, a base das equipes que conseguem atingir um padrão de excelência parece sim ser uma boa alternativa e que pode trazer bons frutos para as empresas projetizadas. Vai mexer nesse time? E vocês o que acham? Em time que está ganhando não se mexe?

Nessa semana o BdB comemora seu primeiro aniversário, se você ainda não aproveitou os presentes de nossos parceiros, clique aqui e leia as instruções.

Aniversário – 1 Ano

É com muita alegria que comemoramos hoje o primeiro aniversário do BdB! No dia 25 de julho de 2010 o blog entrou no ar e a cada mês que passa cresce o número de visitantes e a participação dos leitores. Gostaria de agradecer a todos os colaboradores que fizeram o primeiro ano do BdB ser um sucesso: José Carrera, Marcelo Nunes e Edwin Carlo. Agradecer mais ainda a você que é leitor assíduo e acompanha nosso blog, enriquecendo cada post compartilhando suas experiências! 🙂

A idéia inicial do blog permanece a mesma, compartilhar o conhecimento adquirido de forma simples e objetiva. Estabelecendo um canal de comunicação entre todos os profissionais de TI.

A cada post procuramos trazer experiências práticas, observações e principalmente a nossa opinião a respeito dos mais diversos temas, que envolvem a tecnologia da informação, para que possamos trocar informações e evoluirmos profissionalmente.

E para comemorarmos o primeiro aniversário do blog em parceria com a loja virtual Mulher, Cerveja & Futebol, a qual possui diversos itens exclusivos e que esperamos possam agradar nossos leitores.

Basta inserir o texto “BYTESMCF” no carrinho de compras para garantir 10% de desconto nas compras acima de R$ 80,00 (oitenta reais). Abaixo, segue nossa sugestão de item, Pendrive 4GB com abridor de garrafa

Detalhes do produto: O corpo do gadget é em metal escovado ultrarresistente e vem em uma elegante embalagem perfeita para presente. Além disso, ele tem um espaço para ser usado como chaveiro. Basicamente, é um chip Samsung dentro de um case de metal (não é alumínio) em formato de abridor que você pode usar como chaveiro.

E tem mais presente para nossos leitores, cupom de desconto também na loja virtual de camisetas: Camisetas Anonymous. Basta inserir o texto “COR32209 ” no fechamento de pedido de sua compra para garantir 20% de desconto nas compras acima de R$ 70,00 (setenta reais) até o dia 31/07/2011.

#TGIF – Internet das Coisas, o futuro é agora

Algumas pessoas ainda não conhecem esse conceito, mas ele está mais próximo de nós do que imaginamos.

Internet das coisas é o conceito que reúne diversas tecnologias de forma a conectar e comunicar  diferentes objetos através da internet. Internet das coisas está cada vez mais próximo de se tornar realidade por conta de tecnologias como RFID, redes de sensores, etc.

Diversas áreas se beneficiarão desse novo conceito, como a área de transportes e logísticas, saúde, ambientes inteligentes (como a casa que você vai ver no vídeo abaixo), entre outros.

Cada vez os objetos (e porque não os animais?) estarão mais conectados e trocando informações de forma a facilitar (?) nossa vida. É claro que isso tudo gera uma discussão bem mais profunda ao redor desse conceito. Internet das coisas é simplesmente pervasiva, ou chega a ser invasiva? até que ponto você vai poder ficar desconectado?

Abaixo segue o vídeo de uma casa inteligente e, mais cedo ou mais tarde, a sua também será assim!

Se você se interessou pelo assunto, na próxima semana aqui no Bytes don’t Bite você vai encontrar  informações mais detalhadas sobre internet das coisas, aguarde!

Os bons testes falham

O aprendiz foi até o programador mestre e disse:

“Todos os meus testes sempre passam. Não mereço um aumento?”

O mestre acertou uma tapa no rosto do aprendiz e respondeu:

“Se todos os seus testes passam, sempre que são executados,

você precisa escrever testes melhores.”

Com a bochecha vermelha, o aprendiz foi até os recursos humanos para reclamar.

Mas essa é outra estória.

Link para o material completo em Inglês

É de fundamental importância que todos os envolvidos no ciclo de vida de um software entendam cada vez mais a integração entre as disciplinas de desenvolvimento e testes, o trecho destacado acima foi retirado do Guia para testes unitários, elaborado por Alberto Savioa da Agitar Software, o qual apresenta de forma simples, divertida e direta um fundamento básico a ser trabalhado em ambas as áreas.

Definir o que é um bom teste de software não é algo simples, seja ele um teste unitário feito pelos desenvolvedores ou mesmo testes funcionais ou não-funcionais elaborados pela equipe de testes. Considerando apenas os aspectos mais básicos, um bom conjunto de testes precisa alcançar uma boa cobertura da aplicação e ser eficiente na tarefa de identificar as falhas presentes no software.

No entanto, me impressiona o número de profissionais de TI, inclusive engenheiros de teste, que não se incomodam quando um ciclo de testes executado apresenta 100% dos casos de teste como passados, e ainda percebem isso como um claro indicador de que o software está “livre” de defeitos. Uma análise, que muitas vezes pode se mostrar enganosa e levar a muitos prejuízos.

Um dos princípios de Testes de Software, segundo o livro “Fundamentos de Testes de Software”, fala sobre a ilusão da ausência de defeitos, o qual tenta alertar contra o fato de que a ausência de bugs, não necessariamente significa que o sistema desenvolvido atende a um determinado padrão de qualidade ou mesmo às necessidades do usuário. Afinal, o problema pode estar nos próprios casos de teste, no planejamento ou até mesmo na maneira como os mesmos foram executados.

Princípio – Não caia na ilusão da ausência de defeitos.

  Em outras palavras, um teste que não encontra falhas
é diferente de concluir que o software está livre de defeitos.
Devemos assumir que todo software contém algumas falhas,
ainda que estas estejam escondidas.

Link – Resumo do Foundations of Software Testing

Logo, seja você um desenvolvedor ou testador, que cria testes manuais ou automáticos e os executa, é preciso ter bastante cuidado ao analisar a eficiência do seu conjunto de testes. Revisar constantemente os testes mais antigos e avaliar os defeitos escapados são boas práticas que podem contribuir na evolução dos testes.

Por fim, precisamos nos desapegar um pouco da associação teste passado e sucesso, e avaliar a cada estágio de teste o nível de confiança que podemos ter nos resultados obtidos, estando sempre atentos ao significado do termo “qualidade” para cada cliente ou projeto.

#TGIF – Criando Oportunidades

Não existem dúvidas quanto ao sucesso do iPad da apple, gadget fantástico que está revolucionando a indústria dos dispositivos móveis. Diversas são as aplicações existentes, as quais atendem a necessidades de diferentes tipos de usuários.

No início desse ano a Apple lançou a segunda versão do iPad, a qual trouxe novos recursos associados ao uso da chamada Smart Cover ou capa inteligente, a mesma basicamente trava e destrava a tela automaticamente, protege o aparelho e serve como suporte.

Porém, o que parecia uma simples capa tornou-se peça chave de uma nova aplicação, criada pela Evernote, chamada Evernote Peek. A mesma utiliza de maneira extremamente simples a ativação automática da tela pelo Smart Cover para criar uma forma de questionário, onde você levanta um pouco a capa para visualizar a pergunta, por exemplo: “Como se diz casa em inglês?” e em seguida ao levantar um pouco mais a capa a resposta é exibida: “House”.

Link para o artigo sobre a Aplicação no TechCrunch.

Impossível sabermos se uma idéia, por melhor que nos pareça, irá se tornar em um produto ou negócio de sucesso. Porém, o caminho parece ser esse, estar atento as mudanças no mercado e às novas tecnologias que surgem, para assim desenvolver novas idéias e criar oportunidades.

A série – Thank God It’s Friday ou #TGIF – aborda sempre um conteúdo menos técnico, mas que ainda assim possa contribuir com seu crescimento pessoal e profissional.

Leia, também, outros artigos já publicados na série:

– Desconecte-se para se conectar

– Você tem o poder de mudar o mundo!

#TGIF – Desconecte-se para se conectar

Em tempos de tantas redes sociais, onde virtualizamos nossas relações, é preciso ter sempre cuidado para não se esquecer das verdadeiras redes sociais, que são as conexões com as pessoas ao nosso lado.

As redes sociais virtuais nos dão a falsa impressão que conhecemos e estamos próximos das pessoas, quando na verdade o máximo que fazemos é acompanhar as fotos e atualizações delas (que às vezes até nem lembram que você existe).

Precisamos dar mais valor as pessoas ao nosso redor, ao mundo a nossa volta, precisamos nos desconectar para então verdadeiramente conectarmos, afinal de contas:

“O que importa não é o que você tem na vida, mas quem você tem na vida”

PS. Quem conseguir decifrar a última frase do vídeo ganha um brinde do BdB!

Bom final de semana a todos!