Agilidade é Ritmo!

Assitir palestras de alguns gurus é sempre interessante! Mesmo quando a palestra não está legal, em algum momento você pode escutar alguma frase ou alguma explicação que pode mudar sua vida. Eu diria que é mais ou menos como um atacante de futebol que é artilheiro, mas está jogando uma péssima partida, mas o técnico o deixa em campo pois a qualquer momento ele pode fazer um gol!

Dito isto, eu estava em uma longa palestra com um artilheiro, mas a palestra não estava tão interessante. Mas em determinado momento, falando sobre agilidade,  ele disse: “Agile is about rhythm!” Essa frase então chamou minha atenção e fiquei atento a explicação do que isso significava, e fez sentido pra mim.

Se você participa de um projeto que tem um determinado ritmo como por exemplo entregar um release do software a cada 6 meses, você tem “muito tempo” para pensar/fazer/detalhar requisitos, “muito tempo” pra implementar e por aí vai. É óbvio que você vai terminar fazendo mais do que o necessário para o momento e talvez não consiga finalizar tudo, além de colher o feedback muito tarde (em 6 meses tudo pode mudar).

No entanto, se você tem um ritmo de fazer um release por mês, você tem menos tempo pra focar em vários requisitos, por isso você só seleciona alguns deles (os mais importantes do ponto de visto do cliente), você nao tem tanto tempo pra discutir requisitos em um nível de detalhes muito aprofundado (a  não ser que realmente seja preciso) e você não tem tempo para perder tempo com reuniões sem sentido e etc, então você foca em desenvolver aquilo que tem pra ser desenvolvido de forma a receber feedback o mais rápido possível e mudar o mais rápido possível (antes que o custo da mudança seja muito caro ou inviável).

Ah, acho que tem um cenário pior do que os dois que apresentei, que é o caso de você não ter ritmo nenhum!

E você o que acha? Qual o ritmo que faz mais sentido para você ou para sua empresa?

Anúncios

A primeira impressão é a que fica ?

Em nosso dia-a-dia, frequentemente, entramos em contato com pessoas e empresas, que até então não conhecíamos. Nesse instante, automaticamente, registramos nossas primeiras impressões sobre as características e comportamentos do outro. Impressões essas, que com o passar do tempo poderão se mostrar verdadeiras ou não, porém, definitivamente, influenciam na maneira como agimos e interagimos.

Nos tempos atuais podemos fazer uma análise parecida da relação das pessoas com os softwares, desde os aplicativos e jogos, que instalamos em nossos dispositivos móveis aos sistemas complexos que utilizamos em nosso ambiente profissional.

Essa primeira impressão de clientes e consumidores em relação a um software pode ser afetada por diversos fatores, entre eles:

– Interface gráfica

– Facilidade de Uso

– Performance (lentidão)

– Falhas (bugs)

No entanto, ao contrário das pessoas, primeiras impressões ruins de um software dificilmente são revertidas, isto acontece porque é muito fácil para o usuário, simplesmente, buscar por outro sistema, que apresente o mesmo serviço, porém com um nível de qualidade satisfatório. Principalmente, no ambiente web e nos dispositivos móveis, onde essa troca é ainda mais simples e menos custosa.

E o que podemos fazer para que nosso software não cause uma má impressão?

Acredito que o aspecto central é conhecermos bem as reais necessidades dos nossos clientes, identificar os aspectos fundamentais tanto do ponto de vista funcional como não-funcional e, definitivamente, nunca relegar a segundo plano a qualidade, afinal há cada vez menos espaço e tolerância com sistemas defeituosos e pouco confiáveis.

Link Adicional – The power of a first Impression

E não esqueça de nos seguir no Twitter e juntar-se a nós no Facebook para ser informado das novas atualizações do blog!

O que vi e ouvi na 64th Feira de Veículos Comerciais em Hannover

Entre os dias 20 e 27 de Setembro, o Hannover Messe sediou a 64th feira de veículos comerciais, IAA 2012(Internationale Automobil-Ausstellung). Esse evento reúne os principais produtores de veículos de grande porte como caminhões, carretas, utilitários de menor porte como vans e combos, assim como produtores de peças e tecnologias para veiculos dessa categoria.Tive boas conversas com gente da Mercedes, Volvo, Bosch, BorgWarner, Donaldson, e alguns outros nomes desse mercado. Foi bom ver as novidades, e, claro, a evolução do software nesses produtos. Os hot-topics foram: comunicação carro-a-carro, personalização, integração com smart phones, e ampla integração com redes sociais. Em especial, a Bosch estava mostrando um sistema que permite personalizações em um caminhão, com base na sincronização entre o iPhone do motorista e o sistema central do veículo. Mais especificamente, antes de entrar no caminhão,  o motorista iniciava um app, e algumas configurações como regulagem de bancos e espelhos, e o esquema de cores do painel eram ajustados.

No que diz respeito a redes sociais, as preferências de restaurantes e localização de amigos, por exemplo, também fazem parte desses sistemas. Se em determinado momento o motorista iniciar uma busca de restaurantes próximos se sua localidade, o sistema dará destaques especiais a restaurantes que tenham similaridades com as preferências dele definidas em redes sociais, e mostrará como esses locais tem sido avaliados pelos demais clientes.

No que tange desenvolvimento desses sistemas, todos destacaram que o fato do software ter assumido papel chave nesse contexto foi importante, tendo em vista todo beneficio gerado. No entanto, os efeitos colaterais tem sido grandes. O principal problema destacado foi: Atraso na entrega do produto. Os cronogramas de projetos desses sistemas nunca estiveram tão atrasados. E todos culpam os times de desenvolvimento de software. Aquela velha historia que ouve-se frequentemente “a culpa é do pessoal da informática” se tornou comum nesse meio.

Muitos destacaram a necessidade de contratação imediata de profissionais qualificados para atuar no desenvolvimento de sistemas dessa natureza. As demanda são diversas: gerenciamento de requisitos, modelagem arquitetural, teste, controle de evolução,  gerência de configuração, e gerenciamento de projetos foram enfaticamente citados.

O mercado está aquecido. Apesar da crise na europa, as empresas tem contratado engenheiros de software aos montes. Aos interessados, se dediquem a aprender inglês. Sem ele todo conhecimento adquirido com métodos e técnicas computacionais não terão valia alguma por aqui.

BdB Recomenda – Aprenda a programar online e sem custos parte II

Algum tempo atrás, trouxemos no BdB Recomenda o projeto chamado Codeacademy – Learn to Code, uma maneira extremamente interativa de aprender a programar, através da prática direta da programação.

O post de hoje, faz uma nova indicação, que parece ser uma alternativa ainda melhor para o aprendizado online e sem custos, graças a excelente qualidade do material didático auxiliado pela boa organização das lições no site.

OUdacity foi fundado por três especialistas em robótica, que acreditavam que muito do valor de suas aulas na universidade poderiam ser disponibilizados online e a um custo muito baixo.

Os fundadores acreditam que o ensino universitário pode ser de alta qualidade e de baixo custo. Usando a economia da Internet, eles conectam professores de altíssimo nível a milhares de estudantes em quase todos os países da Terra.

O custo para começar o aprendizado é ZERO. A quantidade de cursos oferecidos já é considerável, entre eles estão disponíveis:

– Introdução a programação com Python

– Software Debugging

– Desenvolvimento Web – Construindo um Blog

– Introdução ao Teste de Software

E não esqueça de nos seguir no Twitter e juntar-se a nós no Facebook para ser informado das novas atualizações do blog!

#TGIF – Quanto ganham na empresa ao lado?

Trocar de emprego nem sempre é uma decisão fácil, vários elementos surgem enquanto pesamos as vantagens e desvantagens da mudança na vida profissional.

É fundamental avaliarmos todos os pontos relevantes do ponto de vista profissional e pessoal, tentando não focar apenas na diferença salarial. Oportunidades de crescimento, aprendizado, estabilidade e até a qualidade de vida proporcionada devem ser avaliadas.

Nessa situação é comum consultarmos aos amigos e colegas mais próximos da atual empresa e, quando possível, da “talvez” futura empregadora. Outra fonte bastante utilizada é a internet, desde o site oficial da empresa, a blogs e notícias relacionadas podem apresentar informações interessantes nesse momento de escolha.

O TGIF de hoje indica o site Glassdoor, que se propõe a ser a fonte central para esse tipo de informação, nele os usuários podem fazer reviews sobre as empresas que trabalham, apontando informações nas diversas áreas relevantes, como: oportunidades de carreira, benefícios, cultura e valores, etc.

Na análise de cada empresa, existem ainda, detalhes sobre o processo seletivo, vagas em aberto e informações gerais sobre a companhia.

A imagem abaixo exemplifica o resumo das avaliações da Apple.

Agora você já pode acompanhar as novidades do BdB pelo Facebook, acesse e curta nossa página.

O fator ônibus *

O post de hoje é simples e curto mas apresenta um conceito que é muito importante no dia-a-dia das empresas e dos projetos (principalmente de software, mas não necessariamente se limita a software).

Já participou de algum projeto onde uma ou talvez duas pessoas possuiam todo o conhecimento sobre o projeto? Acho que não é muito difícil isso acontecer, eu mesmo já participei de alguns. Alguns onde outra pessoa tinha todo o conhecimento acerca de um projeto, e outros onde eu mesmo tinha o conhecimento “concentrado” em mim (não porque eu queria, mas por conta das circunstâncias).

O fator ônibus * (do inglês bus factor), significa a quantidade de pessoas, que se forem atropeladas por um ônibus, farão o projeto desandar, ou até mesmo inviabilizar a continuidade do projeto. É óbvio que quanto maior essa medida melhor, pois dificilmente 10 pessoas são atropeladas por um ônibus no mesmo momento.

Moral da história: Se o seu projeto tem o fator ônibus igual a 1 ou 2, você corre sérios perigos! Então corra atrás, compartilhe o conhecimento, treine as pessoas, sugue o que puder sugar dos que tem mais conhecimentos, pergunte, leia, converse e se informe para o bem do seu projeto e da sua equipe!

* Observação: Vale a pena lembrar que o fator ônibus não significa ser literalmente atropelado por um ônibus. Ser atropelado por um ônibus pode significar: Algum membro da equipe conseguir um outro emprego, alguém sair de licença maternidade, alguém decide mudar o estilo de vida, alguém pedir demissão, alguém simplesmente sair de férias por 1 mês (parece absurdo né?), ou realmente alguém for atropelado mesmo por um ônibus 😛

Carros Inteligentes

O avanço das técnicas computacionais vem motivando a indústria automotiva a praticamente reinventar os seus produtos, fazendo com que os carros de hoje em dia sejam, de fato, um aglomerado de sistemas de computação se comunicando e tomando decisões que, em certos casos, chegam a ser superiores às intenções dos motoristas.

Para se ter noção da quantidade de computação presente em um carro nos dias de hoje, considere os seguintes dados: Um jato F-35 contém aproximadamente 6 milhões de linhas de código; um 787 Dreamliner, 7 milhões. Já um Mercedes-Benz classe S, aproximadamente 20 milhões de linhas de código. Em 2009, a Frost & Sullivan estimou que em um futuro não muito distante, os carros chegarão a 300 milhões de linhas de código.

Quais as implicações de tanta computação em um automóvel? Uma das principais, obviamente, é o custo de produçao. O Dr. Manfred Broy, professor de Ciência da Computação da TU Munique, e mentor para assuntos computacionais de uma renomada marca automotiva alemã, estima que o custo com software e eletrônicos em um carro chega a ser responsável por ate 40% do custo de um automóvel. Nos proximos sete anos, essa porcentagem deve chegar a até 80%. Levando em conta que a hora de profissionais de software nao é nem um pouco barata nos dias atuais (Good for us! :-)), espera-se que a contínua necessidade desses profissionais no desenvolvimento de carros eleve ainda mais os preços destes num futuro próximo. No contexto brasileiro, isso implica em carros ainda mais caros. Dai vê-se a necessidade de um ajuste na política de preços no setor automotivo brasileiro.

Diante desse cenário, os grandes nomes da computação têm voltado a atenção para o mercado automotivo: Microsoft firmando acordo com Toyota, a Google e seu Google Car, IBM, e até a Apple sonha sonhou em se aventurar no mercado automotivo com o utópico iCar.

Gostaria de compartilhar algumas experiências pessoais sobre os desafios no dia-a-dia no ambiente de desenvolvimento em algumas indústrias automotivas. Mas isso é assunto para outro post.

Aos interessados, recomendo a leitura do artigo This Car Runs on Code de  Rober N. Charette, fonte primária das informações desse post.