Archive

Archive for the ‘Agile’ Category

Minha opinião sobre ambiente de trabalho

October 31st, 2011 2 comments

Muito palpite e pouco estudo na nossa área acabam gerando grandes discussões sobre o ambiente de trabalho. Afinal, baias são ruins, mesões geram barulho e distrações, as pessoas precisam ter o seu espaço, e tantas outras questões sempre são levadas aos pobres tomadores de decisão sobre a montagem da área de trabalho dos funcionários.
Estou prestes a completar meu primeiro mês de Locaweb e tive vontade de escrever sobre assunto já que, embora tão parecido com a Caelum, minhas sensações são completamente diferentes, o que me fez refletir sobre o que realmente gosto e não gosto no assunto. Infelizmente esse post é apenas a opinião de mais um e nada além disso.

Eu adorava o ambiente que tinha na DClick e na Caelum e também estou gostando muito das coisas aqui na Locaweb, com regras apenas de bom senso: vista o que quiser, chegue na hora que quiser, apenas faça suas horas semanais e cumpra seus deveres não importa como. Na minha opinião isso deveria ser regra para área de desenvolvimento, mas na hora de comprar os móveis é que as dúvidas começam, então vou listar alguns itens que considero importantes e comentar sobre os prós e contras que vivi nesses últimos anos.

Mesas

Sempre fui defensor dos mesões. Sempre achei que o ganho em comunicação vale mais do que as eventuais distrações que podem gerar, porém tanto a DClick quanto a Caelum são empresas relativamente pequenas, em ambas a nossa “salona” tinha no máximo 20 devs. A experiência das mesonas aqui na Locaweb está sendo bem menos produtiva pra mim. Na minha primeira semana aqui tive dias de produtividade MUITO baixas que atribuí ao barulho na sala. Não sei qual seria o número máximo de pessoas, ou se o problema não é quantidade e sim o bom senso, mas a questão é que hoje preciso me controlar bem mais para render o que gostaria num dia de trabalho. Aqui, além das mesonas existe outro fator que talvez seja o real “vilão”, que são as brincadeiras. Na Caelum era comum ver uma pessoa ou outra brincando com os dardos ou fazendo malabares, mas aqui na Loca é comum ver pessoas fazendo “guerrinha” com suas NERFs. Embora seja óbvio que “guerrinha” seja uma distração muito grande, nas outras empresas também tínhamos momentos de “distração coletiva” ou simplesmente barulho intenso, por isso não tiro a “culpa” dos mesões para esse tipo de bagunça.
Veredito: Use com bom senso. Claro que é mais fácil “controlar” 20 do que 500, mas mesmo para times grandes acho que vale a pena a utilização dos mesões, mas é necessário um pouco mais de responsabilidade dos funcionários.

Lugares fixos

Uma das coisas que mais senti falta quando fui para a Caelum era de ter o MEU lugar. Sempre gostei de ter a minha bagunça, fotos, planta (na DClick eu tínha um cactus na mesa, aqui na Loca ainda não), enfim, personalizar o lugar como você preferir. Tanto na DClick quanto aqui na Loca tenho essa possibilidade, mas na época de Caelum não tínhamos, e embora sentisse falta disso, lá faz muito sentido ser da maneira que é. Mais importante do que trazer a foto da familia é sentar próximo do seu time de trabalho. Aqui na Loca os time são bem definidos e pelo o que entendi, existe uma baixa rotatividade de pessoas entre times, na Caelum é exatamente o oposto. Lá não existe uma separação muito clara entre os times e a rotatividade é MUITO grande. Não faz o menor sentido você customizar seu lugar se vai trocar de lugar toda semana. Um ponto curioso sobre o assunto é que na DClick era mais ou menos o meio do caminho. Existem (pelo menos existiam) times bem definidos por projeto, mas a rotatividade era média e fazer a mudança eventualmente valia a pena. Durante o ano que trabalhei lá me lembro de ter remanejado minhas coisas pelo menos umas 3 ou 4 vezes.
Veredito: Dê preferência por manter os times juntos e, se as mudanças não forem frequentes, vale a pena deixá-los fixos.

Cadeiras

Compre cadeiras boas para seus funcionários! Eu sei que não é barato, mas além de lei, faz toda a diferença chegar em casa após um dia de trabalho numa cadeirinha vagabunda ou numa cadeira que você pode configurar altura, encosto e etc.
Veredito: Não precisa ser cadeira de presidente, mas compre pelo menos uma de rodinha com regulagem de altura, encosto e braços.

Monitores

Desde que usei dois monitores pela primera vez na DClick me apaixonei pela experiência. Poder ver o código e browser ao mesmo tempo ajuda MUITO no dia-a-dia. Se for optante pelos lugares fixos, compre 2 monitores pra todo mundo! (vai sair mais barato do que a cadeira), se não, deixe alguns espalhados pelas mesas para que as pessoas usem. Uma observação importante sobre essa opção é: quanto mais difícil for de usar, menos eles serão usados, então tente deixar tudo prontinho para apenas espetar o computador e sair usando.
Veredito: Eu me sinto bem mais produtivo usando outro monitor. Acredito que vale o investimento.

Copa/Cozinha/Banheiro

Essa parte é bem mais difícil de gerenciar pois na maior parte dos casos não temos como colocar um banheiro a mais onde queremos, mas é um fator que não deveria ser completamente ignorado. Na DClick a copa era pra um lado e o banheiro pra o outro, mas ambos bem próximos da maioria. Na pior da hipóteses ou você sentaria bem perto de um e um pouco longe do outro. Na Caelum, na última configuração de sala que tínhamos quando saí de lá, a “copa” estava integrada à nossa sala o que era ótimo. O único problema que tivemos com isso foi a facilidade que as pessoas tinham em comer nas mesonas e acabava sujando um espaço coletivo. Bastou uma conversa e tudo se resolveu. Quanto aos banheiros lá, usavamos os da área comum do prédio. Relativamente próximos com a desvantagem de ter que levar uma chave com você, além de ser só um por andar (relativamente comum tentar ir ao banheiro e estar ocupado). Aqui na Loca, tanto o banheiro quanto a copa ficam nos cantos do prédio e em apenas 2 cantos. Pra piorar, o banheiro masculino é de um lado e o feminino é do outro, ou seja, dependendo de onde você se sente pode ser uma longa jornada até você se aliviar ou conseguir o seu café. Porém, se sentar perto do banheiro vai acabar vendo um grande fluxo de pessoas por perto. Embora veja isso como um desperdício (pra que já leu um pouco sobre lean sabe do que estou falando) não vejo uma solução plausível para esse caso.
Veredito: Definitivamente comportar 500 pessoas é BEM mais difícil do que 20, mas tente se preocupar com esses detalhes na hora de escolher o prédio. Sem dúvidas seus funcionários precisão ir ao banheiro e quanto menos tempo eles demorarem, melhor pra todos! Prefira os ambientes com banheiros e copas (café) acessíveis e de preferência que sejam iguais para todos, independente de onde sentam.

Esses são os principais fatores físicos que acredito afetar a minha produtividade durante o dia-a-dia. Em nenhuma das 3 empresas que citei no post tive 100% dos itens que mais gosto e fui/sou muito feliz como funcionário de todas, então não se preocupe se não conseguir todos, mas tente fornecer o máximo desses itens para seus funcionários.
Lembre-se do princípio ágil:
“Construa projetos em torno de indivíduos motivados.
Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho.”

Pra finalizar, fotos da minha mesa aqui na Locaweb:

Categories: Agile Tags: , , ,

Eventos do segundo semestre

November 3rd, 2010 No comments

QCon SP

Em setembro aconteceu um dos eventos mais importantes de TI que já passou no nosso país. Pela primeira vez no Brasil ocorreu uma QCon e tive a felicidade de estar presente. Dessa vez não fui oficialmente um palestrante, mas fui convidado para ser o host de uma das tracks das lightning talks que vou comentar no final do post.

O evento não foi importante apenas pelo nome QCon, mas sem dúvidas tivemos um evento verdadeiramente de alto nível, tanto os palestrantes brasileiros quanto os internacionais fizeram ótimas apresentações. Na MINHA opinião, entre as palestras que assisti, os destaque vão para o Nick Kallen, Charles Nutter e a palestra em dupla do Alexandre Porcelli e Gleicon Moraes.

Resumindo o evento em poucas palavras me parece que a preocupação geral dos arquitetos hoje é escalabilidade. Linguagens funcionais, filas, denormalização, nosql, cloud e outros meios/técnicas para melhorar a responsividade de nossas aplicações foram assuntos muito comentados por todas as tracks que passei.

Voltando as lightning talks, tivemos ótimas apresentações! Como já falei fui o host de uma das tracks e além da minha própria talk contei com as apresentações de: Alberto Leal, Lucas Pérez, Rafael Viveiros, Cecilia Fernandes, André Luiz R. Silva, Hugo Baraúna e um pequeno oi do pessoal do GURU-SP no final. Muito obrigado e parabéns para todos vocês.

Rails Rumble

No meio de outubro aconteceu a 3ª edição do Rails Rumble, esse ano não deixei passar e, pela primeira vez, participei da competição. Meu time acabou não chegando na final, numa breve retrospectiva levantamos alguns pontos bobos onde falhamos, como não ter pensado num lugar pra tomar banho… (Sim, eu fiquei mais de 48h sem banho). Quem sabe ano que vem não aparecemos na final?! Pelo menos nossa app nos fez conhecer novos frameworks e nos trouxe algumas ideias de negócio que jamais imaginaríamos.

RubyConf Brasil 2010

O antigo Rails Summit Latin America agora está sob a franquia Ruby Conf, pela primeira vez com o nome novo, conseguiram trazer palestrantes ainda mais impressionantes do que os do ano passado, com destaque para os commiters do Rails Jose Valim, Aaron Patterson e Yehuda Katz, além do Ola Bini e novamente o Charles Nutter. Mais um evento de altíssima qualidade levando o Brasil, cada vez mais, para um patamar de igualdade com outros países considerados polos tecnológicos.

Resumindo o evento em poucas palavras, acredito que as boas práticas são chave para o momento que a comunidade está passando, foram apresentadas várias melhorias no Rails e outros frameworks auxiliares e especialmente no ruby 1.9. Acredito que o interesse de todos agora é que toda a força de vontade que a comunidade tem, relembrada pelo Fabio Akita na abertura do evento, seja catalisada para gerar valor real.

Encontro Ágil 2010

Pra finalizar os eventos do post, um evento que ainda não aconteceu. No próximo sábado, dia 06/11 vai acontecer o Encontro Ágil 2010, num formato completamente inovador, com muitos jogos, dojos e nada de palestras tradicionais, como eles anunciaram, um evento da comunidade para a comunidade, onde terei o prazer de falar sobre dívida técnica e como evita-la numa lightning talk que em breve estará disponível no meu Slideshare

Finalmente aqui estão slides da minha lightning talk na QCon:

Ser ágil não é ser rápido!

November 24th, 2009 1 comment

Recentemente conversando com um Product Owner (PO) conhecido ouvi uma frase muito parecida com essa: É difícil negociar prazo com a diretoria por que sempre escuto deles “Vocês não são ágeis? Tem que entregar o produto rápido!”.
Será que os diretores estão certos? Será que não? Pela conversa que tive com esse PO fiquei com a impressão de que quem “vendeu” a ideia de scrum e agile para a diretoria acabou dando uma impressão errada para eles.
A primeira coisa que todos envolvidos tem que entender é que Ser ágil não é ser rápido!
Eu sei que aqueles que frequentam esse blog devem conhecer o manifesto ágil, mas é sempre bom dar uma revisada e ter certeza que realmente estamos seguindo seus princípios.

  1. Indivíduos e interação entre eles mais que processos e ferramentas
  2. Software em funcionamento mais que documentação abrangente
  3. Colaboração com o cliente mais que negociação de contratos
  4. Responder a mudanças mais que seguir um plano

Além dessas 4 frases famosas, existem outras 12 chamadas de princípios do software ágil que infelizmente não são tão famosas assim, que são:

  1. Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
  2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.
  3. Entregar software funcionando com frequencia, na escala de semanas até meses, com preferência aos períodos mais curtos.
  4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
  5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
  6. O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
  7. Software funcional é a medida primária de progresso.
  8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
  9. Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
  10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
  11. As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.
  12. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.

Teoricamente, se você segue tudo isso você é ágil, e é justamente por isso que os diretores não estão tão errados assim. Se você segue os 4 princípios básicos do manifesto, mas desenvolve o produto inteiro e só vai colocá-lo em produção depois de anos de desenvolvimento, sinto lhe informar mas você não está sendo ágil! Veja que o primeiro item dos 12 complementares é “Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.” e o terceiro “Entregar software funcionando com frequencia, na escala de semanas até meses, com preferência aos períodos mais curtos”.
Na maior parte dos casos não é preciso já ter todas as funcionalidades imaginadas pelo meu cliente pra começar a gerar valor com o software, por isso o papel do PO, muitas vezes desvalorizado e visto apenas como um analista de requisitos, é tão importante. O PO é aquele que deve se preocupar com esses problemas. Ele que tem que saber as reais necessidades do cliente e saber o que é preciso pra poder soltar um release, ou seja, ter alguma coisa em produção para deixar o cliente satisfeito e/ou gerar renda para minha empresa. Depois, com o feedback do cliente que realmente está usando o produto, nós vamos melhorando o que já tem lá e adicionando novas funcionalidades.
Em algumas situações soltar um release antecipado pode ser um diferencial enorme. Garantir uma data especial para o mercado, conquistar o título de pioneirismo, cumprir promessas feitas e tantas outras.
Por tanto POs, Scrum Masters, Diretores, Times e todos stakeholders, não tentem ser rápidos e entregar um projeto de mais de ano em alguns meses, mas sejam ágeis! Entreguem software funcionando o quanto antes!

Categories: Agile Tags: , , ,