Futura empresa de tecnologia de informação.

terça-feira, novembro 28, 2006

Trabalho individual em equipe


Por mais contraditório que pareça, é o que acontece na maioria dos ambientes de desenvolvimento de software. O software é dividido em partes, frequentemente chamadas de módulos, e cada um faz a sua parte. Vários profissionais fazem parte de um grupo chamado Equipe, sendo assim temos um trabalho individual em Equipe.

Esse modelo não é interessante pra ninguém por alguns motivos:

  • O desenvolvedor fica com uma visão limitada do software que esta construindo e não tem como participar de decisões mais amplas do software como uma unidade.
  • As vezes você tem acesso restrito aos fontes, e mais uma vez fica alienado sobre o que está sendo feito e usado pelos outros membros da equipe.
  • A equipe fica dependente do desenvolvedor, assim como a gerência.
  • Troca de conhecimento baixa.
  • Integração baixa.
  • Soluções projetadas por uma pessoa e vistas de apenas um ponto de vista, já que os problemas não são estudados por todos com o mesmo esforço.
  • “Isolamento” e pouca motivação.
  • Não existe competitividade positiva.
  • Nem sempre a divisão de tarefas é justa (desafios, complexidade e trabalho braçal etc...).

Por outro lado, a única característica positiva que eu encontrei foi velocidade, agilidade, qualidade de desenvolvimento, se imaginarmos um profissional competente e um planejamento mais fácil, se cada membro conseguir planejar sua parte, mais reduzida e especifica, de forma mais precisa.

Vejo esse trabalho individual como algo estratégico ou talvez emergencial em alguns casos, mas que deve ser evitado ao máximo para que as partes negativas desse estilo de trabalho não apareçam.

É fundamental estimular o trabalho em equipe, integração no dia a dia e não através de festas anuais, a troca de conhecimento e uma participação mais ampla da cada membro de uma equipe, que eu prefiro chamar de time, no desenvolvimento do software como uma unidade e não como um conjunto de peças. É claro que para determinadas tarefas uma pessoa apenas é o suficiente e a melhor escolha, mas um software é composto de peças grandes e pequenas, de complexidades altas ou baixas.

Muito se fala sobre integração de serviços(a moda do momento), mas pouco se fala na integração de recursos humanos. Numa entrevista, Simon Phipps, diretor de tecnologia da Sun Microsystems disse:

Para um desenvolvedor de software fica fácil de entender que o modelo antigo em que se reuniam os melhores profissionais fechados em uma sala para produzir uma solução. Não importa quão inteligentes essas pessoas sejam, o fato é que haverá outras tantas pessoas inteligentes for a da sala que poderão contribuir. Se os de dentro da sala puderem falar com os de fora, com certeza, o resultado será um software melhor.

Por mais que um profissional seja competente, as vezes uma opinião de fora pode mudar completamente a visão do mesmo problema e por consequencia aumentar a qualidade da solução. A cooperação e o individualismo tem seus valores, mas em um trabalho de equipe cooperação deve prevalecer sempre.

terça-feira, novembro 21, 2006

Fábricas de Software X "Alfaiataria de Software"

Essa discussão é velha.... Você trabalha em uma fábrica ou numa alfaiataria? O conceito de fábrica (comum a todos) vem de um lugar onde se produz um produto em massa. Segundo o wikcionário, "ser da mesma fábrica" significa "agir de modo igual". Isso deveria valer para softwares também, mas na prática não é o que acontece. Clientes que não sabem comprar compram de vendedores que não sabem vender e os esboços ou idéias de sistemas chegam até nós. No mundo em que vivemos, quase sempre quem manda é o dinheiro, então os clientes como os donos do dinheiro se colocam de uma forma extremamente intrusiva(em muitos casos) no processo da desenvolvimento de uma fábrica. Vamos culpar os cliente pelo primeiro erro:

Comprar de uma fábrica um serviço de consultoria.

Se eu quero um terno sob-medida eu procuro um alfaiate. Se o cliente quer um software que atenda minuciosos padrões(questionáveis) de "qualidade", ele deveria procurar um serviço de consultoria e não uma fábrica. Entende-se, ou pelo menos deveria, entender que uma fábrica de software deve(deveria..) funcionar como uma linha de montagem. Fábricas podem usar e abusar de geração de código, frameworks, geradores de modelo de Dados etc... O objetivo de uma fábrica de software é produzir software em massa. Os famosos cadastros que as empresas gostam de comprar. Se o seu cadastro precisa ser extremamente customizado ao seu problema, procure uma consultoria. Se seu problema é muito específico, cheio de detalhes e exceções, talvez ele não tenha sido resolvido da melhor forma. Analistas de sistemas são profissionais com boa visão e raciocínio lógico para resolver problemas e estruturar processos.

Voltando ao primeiro parágrafo, todos os softwares deveriam ter um comportamento parecido. No caso da produção de software, se não estamos falando de software de prateleira, devemos substituir "agir de modo igual" por "ser construido de forma semelhante". Isso sempre nos leva a palavras muito usadas por ai: Componentes, Serviços, reuso etc.. Clientes não deveriam interferir nos processos de uma fábrica; jamais. Na minha opinião o cliente pode apenas exigir que o software rode em uma certa plataforma, com determinado SGBD(se necessário) e que atenda alguns requisitos não funcionais como tempo de resposta. Impedir de usar frameworks, interferir na modelagem etc.. JAMAIS. O software produzido deve atender apenas a requisitos. Fazer isto, fazer aquilo.

Mas existe o erro também de quem vende. Isso interfere de uma forma gigantesca dentro de uma fábrica.

Como analista, que trabalha dentro de uma fábrica(hipoteticamente) eu espero que os responsáveis pelo projeto e os profissionais em contato com o cliente filtrem tudo que está errado do outro lado. Minha função é construir sofware. Não me interessa se o cliente não gosta do Spring ou do hibernate. O que me interessa são prazos e requisitos e só. Os papéis tem que ser bem definidos. É inadmissível ver gerentes que não gerenciam, analistas de requisitos que não produzem documentação adequada e o seu telefone tocando com um cliente mau humorado do outro lado testando uma funcionalidade que ele nem deveria ter acesso ainda. Os vendedores não estão nem ai... Vendem e ganham suas largas comissões e francamente, por um trabalho extremamente mau feito.

Os vendedores vendem projetos que nós não temos interesse em construir. Os vendedores não nos consultam antes de vender. Hoje eu sou mais um dos que acha necessário uma equipe de "pré-vendas" composta por técnicos(analistas e gerentes) para no mínimo dar alguma opinião do impacto da venda de um determinado projeto. Projetos ruins geram insatisfação, levam funcionários a abandonar a empresa, muito stress etc...Tudo é uma bagunça mesmo, com graves conseqüências... O trabalho fica chato, os profissionais perdem a motivação. Nós falamos mau dos clientes e eles de nós, e mesmo assim nos reunidos toda semana!

Graças a Deus hoje eu não me preocupo tanto com isso, afinal eu vou abrir minha empresa até 2010, faltam apenas 3 anos! E na minha empresa eu vou construir as minhas idéias, nada mau... Eu serei cliente e analista ao mesmo tempo! Conflitos? só existenciais... hehe

A Inspiração vem de dentro - Diário da Revolução

Enquanto eu preparo o próximo post, a leitura obrigatória de quem passa por aqui está abaixo!

Créditos ao blog http://bizrevolution.typepad.com/bizrevolution/


Eu particularmente concordo com todos os pontos, e você?

A Inspiração vem de dentro.

No século passado vencia quem tinha mais força nos braços. No século 21 vence quem é mais CRIATIVO.

Todo mundo sabe que a mais importante habilidade que todo Profissional, seja qual for a sua posição na empresa, deve praticar todos os dias chama-se CRIATIVIDADE.

Ninguém compra o melhor produto ou o melhor serviço, as pessoas compram o que é diferente.

O melhor é relativo. O Diferente é Diferente.

Ser Diferente traz mais resultados do que ser o Melhor.

Ser Diferente é o que importa.

Ser Criativo é o que interesse para ser diferente, para diferenciar a empresa, para diferenciar os produtos e serviços.

Ser Diferente! Diferenciar a Empresa! Criar Diferenciais!

Nada menos que isso interessa.

Uma recente pesquisa realizada pelo Creative Group em Maio de 2006 apontou que 93% dos executivos de marketing e vendas de médias e grandes empresas nos EUA disseram que o layout, a iluminação e a decoração do ambiente de trabalho impactam significativamente a criatividade das pessoas.

Chega de ambiente pesado! Chega de cara fechada! Chega de paredes cinzas!

Lá vão algumas idéias muito simples que se aplicadas vão estimular a criatividade da sua equipe, alavancar as vendas e a motivação da equipe.

Tá na hora de dar um banho de loja no ambiente de trabalho da sua equipe.

1. Crie zonas da criatividade para sessões de brainstorm, adicione quadros brancos para a turma rabiscar, espalhe revistas, muitas revistas sobre a sua indústria.

2. Transforme uma das paredes do seu escritório em uma parede de idéias. Estimule as pessoas a rabiscar a parede com idéias.

3. Ofereça um santuário privado onde os funcionários possam se concentrar sem o medo de ser distraídos.

4. Coloque as mesas próximas as janelas para que a turma possa ver o que acontece lá fora. (Os gerentes devem perder suas salas maravilhosas próximas as janelas). Se não houver janela o suficiente para todos, capriche na iluminação do ambiente.

5. Mude o cenário das suas reuniões. Faça reuniões de staff em lugares diferentes. Fora da sala de reunião, fora do ambiente que todo mundo conhece.

6. Coloque um banner, o maior possível, na sala de trabalho da equipe com a seguinte frase: "Quem você agradeceu hoje?"

7. Crie o "Café-da-Manhã das Sextas-Feiras", onde uma vez por semana um dos funcionários deve trazer alguns comes e bebes para toda a equipe.

8. Monte árvore de natal no Natal, agite a quadrilha nas festas juninas, faça molecagem na semana da criança, pinte as paredes de verde e amarelo durante o mês de setembro, distribua livros no mês da volta as aulas.

9. Crie uma versão maluca de um produto ou serviço que você vende.

10. Coloque um poema ou uma letra de música diferente por dia na porta de entrada da empresa.

11. Compre um quadro de aviso e preencha-o com coisas legais, eventos legais, tudo que for diferente, relevante.

12. Exponha serviços e produtos inacabados da empresa em um determinado lugar para que todos os funcionários possam opinar durante a fase de protótipo.

13. Estimule os próprios funcionários a se tornarem palestrantes dos assuntos que dominam, por exemplo, o profissional do financeiro poderia ensinar finanças; os profissionais do marketing poderiam ensinar como fazer marketing pessoal para todos os funcionários da empresa.

14. Organize jantares, as famílias estão convidadas.

15. Estimule a prática de esportes entre a equipe, organize equipes de corrida, futebol, até xadrez.

16. Desafie um outro departamento da empresa para uma disputa esportiva.

17. Crie camisetas para a sua equipe usar.

18. Crie "Equipes QUEBRA TUDO" onde profissionais de diferentes departamentos devem trabalhar juntos para atacar um determinado problema que afeta a todos.

19. Todos os meses, determine duas ou três horas para limpar sua mesa, seu computador, jogar fora tudo que você nunca vai olhar mesmo.

20. Leve a natureza para dentro do escritório! Plantas, (animais).

21. Escute música! Crie um servidor na rede da empresa onde os funcionários podem armazenar arquivos de música e compartilhar com os colegas.

22. Planeje um dia para feedback em círculo, onde individualmente cada funcionário recebe feedback de todos os outros.

23. Comemore os Aniversários, não apenas das pessoas, mas também datas importantes para a cultura da empresa, como a Primeira Nota Fiscal, o Primeiro Grande Negócio, a Primeira Vez que a empresa quebrou etc.

24. Monte a biblioteca da empresa, distribua livros, recomende livros e leituras com frequência e consistência.

25. Permita que os funcionários trabalhem remotamente de suas casas.

26. Coloque quadros e pinturas ENGRAÇADAS na sala séria de reuniões da empresa.

27. Quebre o gelo antes do início de qualquer tipo de reunião, exemplos de quebra-gelo: Qual foi o seu primeiro trabalho? Se você pudesse ir para qualquer lugar do planeta, para onde você iria? Qual foi a sua maior realização profissional? Qual foi a última coisa realmente bonita que você viu?

28. Celebre o sucesso das pessoas, reconheça os vencedores na frente de todos.

29. Quando alguém for a uma conferência fora da empresa, assegure-se que o cidadão irá compartilhar o que viu com todos os colegas.

30. Crie um sistema de Mentor, principalmente para os novos funcionários.

31. Permita que os funcionários tragam fotos da família e dos filhos. Crie um mural com as fotos da família.

32. Distribua sorvete nos dias de calor, distribua chocolate quente nos dias de frio.

33. Lidere uma reunião chamada "Questões e Oportunidades" onde a turma lista as questões prioritárias que devem ser atacadas. Defina um líder para cada questão. Conduza essas reuniões semestralmente.

34. Sorria mais!

É óbvio que Você não precisa colocar em pratica todas essas idéias, entretanto, é também óbvio que você deve colocar em prática no mínimo metade delas.

Vamos dar um banho de loja na empresa!

quinta-feira, novembro 16, 2006

Profissionais X Atletas, Trabalho X Competições

Pegando um gancho na discussão do post Ivan Sanchez, sobre características de bons profissionais, vou um pouco mais longe e relacionar exportes X trabalho.
Quem já foi atleta, sabe que levar a sério um esporte exige dedicação, perseverança, paciência, planejamento entre outras características. Os técnicos estão ai para ajudar atletas no planejamento, motivar e ajudar na parte técnica. Um bom profissional se compara a um atleta. Mesmo sem um técnico por perto, ele busca se manter motivado, planeja seu desenvolvimento (isso pode ter uma ajuda do chefe), são dedicados e pacientes.

Assim como no esporte, o trabalho é um processo de constante evolução. Muita gente por ai se acomoda no trabalho e prefere ficar fazendo o “arroz com feijão” a vida toda. Certamente essas pessoas não seriam grandes atletas, a não ser que deus tenha as presenteado com muito talento (chance de 1 em 1 milhão). Muitos ambientes de trabalho abafam a competitividade, justamente porque muita gente não se sente a vontade com esse clima. Hipocrisia.

Competição é saudável. Aprender a ganhar e perder. Perder principalmente. Remuneração variável estimula competição, motiva os funcionários (através do dinheiro... mas porque não um período de férias maior?). Talvez muitos acomodados precisem de um empurrãozinho para entrar em um clima saudável de competição no trabalho. Aquela dedicação um pouco maior, implementar aquele código “melhor” mesmo que de mais trabalho, escrever boa documentação mesmo que não seja obrigatório, testes sem esperar que alguém teste pra você etc...

Eu tenho como objetivo abrir uma empresa e certamente vou buscar recursos humanos que tenham essas características. Administrar vaidades é papel do gerente e um papel extremamente importante. Como os gerentes(a maioria) não sabem administrar isso corretamente, fica tudo meio que no “ar”. Porque será que a maioria dos profissionais não diz o valor do seu salário abertamente? Porque tem muita gente pouco produtiva que chegou ao bom salário sem méritos. Todo mundo conhece alguém desse tipo.

No futebol os melhores ganham mais, muito mais. Os intermediários ganham o que tem que ganhar (muito mais do que nós analistas diga-se de passagem). Isso independe de idade, experiência etc.. Como os intermediários são maioria, essa política semelhante a dos esportes não é vista com bons olhos. Inveja.

Acho que existe um número grande de pessoas que pensa como eu, e acredito que muitas empresas hoje já funcionam de forma semelhante a que eu descrevi. Os preguiçosos de plantão que se cuidem....

terça-feira, novembro 07, 2006

Leitura recomendada

Fala sobre como alguns profissionais não Java dominam conceitos melhor do que muitos profissionais Java, porque a maioria destes dominam a tecnologia apenas.

Non Java Programmers, are often the best Java EE developers (Sad But True) :-)


terça-feira, outubro 31, 2006

Satisfação no trabalho...

Toda semana eu perco um tempo pensando nisso e você? Está satisfeito com a forma que você trabalha? 100%?

Eu não estou 100% satisfeito. A cabeça das pessoas que estão no comando da maioria das empresas não acompanhou os avanços tecnológicos no mesmo ritmo, assim como nossas leis também não.

Os diretores e/ou gerentes tem que prestar mais atenção nas características de seus funcionários. Um funcionário feliz realiza um trabalho melhor, isso vale em qualquer profissão. Cada funcionário deveria ser gerenciado de acordo com suas características.

Alguns produzem muito em pouco tempo e precisam de um tempo de descanço. Outros tem um ritmo mais lento, porem mais constante. São como corredores que precisam correr 1km. Um deles opta por correr com o máximo de potência 500m, parar para beber uma água, descançar e depois terminar os outros 500m. O outro prefere correr mais devagar mas em velocidade constante todo o 1km.

Essa característica citada é a mais fácil de ser notada. Sem entrar no mérito técnico (a forma como eles correm, ou, a qualidade do produto produzido) são funcionários que devem ser gerenciados de formas específicas.

Se precisamos de 2 atletas para um revezamento de uma prova de 1km, o óbvio é usar 2 atletas que correm forte 500m, aproveitando melhor o potencial de cada um. Se for proibido parar para descançar durante a corrida, usamos os atletas que não precisam de descanço.

Essa analogia, vale muito para quem trabalha com tecnologia. O erro de muitos gerentes as vezes é querer exigir agilidade de quem não é ágil, e exigir linearidade de quem é inconstante.

Quantas vezes, seu gerente foi conversar com você sobre o prazo, te dando oportunidade de explicar qual estratégia te agrada mais? Geralmente ele te diz: “você deve entregar isso até o dia X”, ai você pensa “eu poderia entregar isso até o dia X-5 e depois ficar 5 dias sem ir ao trabalho. Isso parece um absurdo para 95% das pessoas. Mas eu me pergunto.. Qual o problema? O único problema que eu consegui ver é que você mantém no escritório um funcionário que não tem o que fazer e o deixa insatisfeito.

Essa situação leva a enormes discussões....

Assim como no futebol existem jogadores normais e existem os “Ronaldinhos Gaúchos”, na área de TI temos profissionais que de destacam mais e outros menos. Assim como no futebol também, o número de craques é muito menor do que o número de profissionais regulares, mas todos tem o seu valor. Cabe aos gerentes usar melhor seus “jogadores” e impedir a criação de um clima de inveja ou ciúme(não existem outras palavras).

Aí que começa toda a discussão...

A maioria das pessoas não vai achar justo alguém ter dias de folga porque pode terminar as tarefas com mais rapidez, inclusive muitos gerentes que vão querer exigir o máximo dos mais ágeis, causando um stress no indivíduo.

Pra mim isso é burrice...

Existem formas diferentes de manter a satisfação pessoal e profissional de todo tipo de funcionário, inclusive estimulando todos a chegar ao máximo de seu potencial. Alguns alcançam seu auge mais tarde, outros mais cedo. Isso é variável. Esta na hora de pensarmos com a cabeça mais aberta a respeito dos recursos humanos das empresas.

Esse é um dos valores que queremos levar conosco.

“Você cumpre seu dever, não importa como, desde que de uma forma ética.”

Nós queremos ter acima de tudo, qualidade de vida! Queremos praticar esportes, queremos ler livros, ir ao cinema, museu, viajar pelo mundo etc... Queremos conciliar isso com o trabalho e queremos que o trabalho acrescente algo para nós.

Hoje em dia, tem épocas em que eu acordo com satisfação de ter que ir ao trabalho e resolver problemas interessantes e tem épocas que eu acordo sabendo que vou ao trabalho apenas para cumprir as 40h semanais.

É tão difícil aceitar que isso é ultrapassado?

Antes que falem, que quando estamos cumprindo tabela, podemos realizar tarefas mais simples(que não correspondem a sua formação acadêmica) eu respondo que isso se chama “assédio moral”.

http://www.assediomoral.org/

Inicio de uma caminhada!

O objetivo desse blog é falar sobre tecnologia em geral, não só na parte prática e quanto teórica, mas também sobre aspectos gerenciais e de mercado.

O início de tudo começa aqui: http://felipeecruz.blogspot.com/

Vale a pena ler o antigo blog para entender um pouco da nossa forma de pensar.

Queremos montar uma empresa diferente, de acordo com nossos valores e opiniões. Tecnologicamente, não queremos ser mais uma empresa brasileira, que na maioria dos casos fazem apenas cadastros, mas sim, queremos gerar tecnologia, fazer coisas novas e se possível inovadoras.

Começa uma difícil caminhada. Sintam-se a vontade para opinar, criticar etc..

Felipe Cruz