Gerenciando times de software remotamente
-
Upload
mario-nogueira-ramos -
Category
Technology
-
view
667 -
download
1
description
Transcript of Gerenciando times de software remotamente
Gerenciando times de software remotamente
Mario Nogueira Ramos
07 de novembro de 2009
Tuesday, December 22, 2009
• ou: “quero começar uma startup web mas não sei como”
Tuesday, December 22, 2009
• capítulo: desenvolvimento de software
Tuesday, December 22, 2009
• audiência: não-programadores
Tuesday, December 22, 2009
O que vamos ouvir?
• com a própria web é possível criar times de desenvolvimento muito rapidamente
• com ferramentas e processos simples, não importa se seu time de desenvolvedores trabalha remotamente ou não
• há vantagens em times remotos
• custa muito pouco por em prática
• nada substiui a disciplina
Tuesday, December 22, 2009
Por que eu deveria me importar?
• você quer ser um empreendedor digital, certo?
• o que empresas como Google, Apple, Facebook, Twitter e YouTube têm em comum?
• estratégia, investimento, criatividade?
Tuesday, December 22, 2009
Por que eu deveria me importar?
• elas conseguem produzir software!
Tuesday, December 22, 2009
Por que eu deveria me importar?
• arrume a casa primeiro: aprenda a entregar software, com qualidade, prazos e custos bem controlados
• seja “criativo” depois: estratégia, criatividade e tudo mais devem vir depois disso
Tuesday, December 22, 2009
Por que eu deveria me importar?
• a propósito: nem todas foram fundadas ou são administradas por engenheiros de software
Tuesday, December 22, 2009
“Por que eu deveria me importar com você?”
• Pagestacker:
• ótimo time (quase todos no mesmo local)
• ainda não foi um grande sucesso (em reformulação)
• primariamente questões de gestão
Tuesday, December 22, 2009
“Por que eu deveria me importar com você?”
• Amanaiê:
• ótimo time (quase todos remotos)
• ótimos resultados
• ótimas perspectivas
• o mérito é do time
Tuesday, December 22, 2009
“Por que eu deveria me importar com você?”
• são paulo, sp
• vitória, es
• toledo, pr
• maceió, al
• teresina, pi
• new york, ny
nosso time hoje está nas seguintes cidades:
Tuesday, December 22, 2009
Por onde eu começo?
• Time
Tuesday, December 22, 2009
Time
• “A players hire A players”
• competência sustentada
• “B players hire C players... C players hire D players...”
• incompetência exponencial
Tuesday, December 22, 2009
Time
• competência vs. potencial
Tuesday, December 22, 2009
Time
• competência é prática!
Tuesday, December 22, 2009
Time
• contratação ou sócios
Tuesday, December 22, 2009
Time• onde?
• faculdade
• escola
• amigos e colegas
• recomendações da sua rede de contatos
• mercado
• ferramentas online: LinkedIn, WorkingWithRails, fórums
Tuesday, December 22, 2009
Time
• por que alguém trabalharia comigo ou pra mim?
Tuesday, December 22, 2009
Time
• quem são os demais membros do time?
Tuesday, December 22, 2009
Time
• reputação: “contrate” ou desenvolva uma
Tuesday, December 22, 2009
Time
• visão, estratégia, valores e criatividade podem ajudar a atrair talentos
Tuesday, December 22, 2009
Time
• software é custo ou é receita?
Tuesday, December 22, 2009
Time
• projetos ou produtos?
Tuesday, December 22, 2009
Time
• empowerment
• empresa menor
• agilidade
• impacto individual
Tuesday, December 22, 2009
Time
• que tecnologias são empregadas?
Tuesday, December 22, 2009
Time
• trabalhos menos prazerosos às vezes pagam melhor
• não raramente, bons programadores preferem ganhar menos se puderem ter benefícios nos itens anteriores
Tuesday, December 22, 2009
Time
• selecionando:
• “smart & gets things done”
Tuesday, December 22, 2009
Time
• smart:
• o que já sabe fazer?
• o que já fez?
• consegue aprender rápido?
Tuesday, December 22, 2009
Time
• get things done:
• o que já fez? terminou? qual foi o resultado?
• precisa ser “gerenciado”?
• com quem trabalhou? (cheque referências)
• por que saiu?
Tuesday, December 22, 2009
Time
• blog?
• open source?
• “show me the code!”
Tuesday, December 22, 2009
• Time
• Ferramentas
Por onde eu começo?
Tuesday, December 22, 2009
Ferramentas
• equipamentos
• programação & operação
• comunicação
• gestão de projeto
Tuesday, December 22, 2009
Ferramentas
• equipamentos:
• notebooks
• banda larga
Tuesday, December 22, 2009
Ferramentas
• programação & operação
• python, php, java, ruby, javascript
• apache, nginx, mongrel
• linux, unix
• mysql, couchdb, mongodb, memcached
• monit, god, dtrace
Tuesday, December 22, 2009
Ferramentas
• operação:
• locaweb
• slicehost
• amazon web services
Tuesday, December 22, 2009
Ferramentas
• comunicação;
• chat/IM: gtalk, campfire etc.
• skype
• google docs
• dropbox
Tuesday, December 22, 2009
Ferramentas
• gestão de projeto:
• basecamp, pivotal tracker
• trac, fogbugz, bugzilla
• subversion, git, github
Tuesday, December 22, 2009
Ferramentas
• como nós trabalhamos:
• campfire, skype;
• google docs, dropbox;
• basecamp, pivotal tracker, github;
• slicehost, rubyonrails, javascript, mysql;
Tuesday, December 22, 2009
• Time
• Ferramentas
• Processos
Por onde eu começo?
Tuesday, December 22, 2009
Processos
• técnicas ágeis de desenvolvimento de software
• XP
• Scrum
• Kanban
Tuesday, December 22, 2009
Processos
• times pequenos
• cross functional
• processo iterativo
• ciclos curtos
Tuesday, December 22, 2009
Processos
• foco em software funcional vs. documentação extensa
Tuesday, December 22, 2009
Processos
• foco em cenários de uso
Tuesday, December 22, 2009
Processos
• papéis:
• “dono” do produto
• facilitador
• desenvolvedores
Tuesday, December 22, 2009
Processos
• “dono” do produto:
• voz do usuário final do software
• responsável pela documentação dos cenários de uso
Tuesday, December 22, 2009
Processos
• facilitador:
• mediador da comunicação
• removedor de impedimentos
• “juiz”
Tuesday, December 22, 2009
Processos
• desenvolvedores:
• responsáveis diretos pela criação das funcionalidades do software e de sua interface de apresentação e uso para o usuário
• auto-gerenciados
• proativos
• comunicação
Tuesday, December 22, 2009
Processos
• documentação
• backlog de produto
• backlog de sprint
• gráfico de burndown
Tuesday, December 22, 2009
Processos• backlog de produto:
• “dono” do produto
• “o que”
• cenários de uso
• orientação comercial
• priorização
Tuesday, December 22, 2009
Processos
• backlog de sprint:
• desenvolvedores
• “como”
• janelas de tempo curtas (dias ou semanas)
• tarefas técnicas precisas
• estimativas curtas (horas)
Tuesday, December 22, 2009
Processos• gráfico de burndown:
• performance do sprint
• ferramenta visual
• trabalho restante vs. tempo
• estimativa vs. realidade
Tuesday, December 22, 2009
Processos
• típico dia de trabalho:
• reunião diária no começo do dia
• 15 min
• o que foi feito ontem?
• o que vai ser feito hoje?
• dependências entre tarefas?
• problemas ou impedimentos?
Tuesday, December 22, 2009
Processos
• típica semana de trabalho:
• planejamento de sprint
• revisão de sprint
• testes e demonstrações
Tuesday, December 22, 2009
Processos
• resultados:
• previsibilidade
• agilidade
• adaptação
• transparência
• controle de custos
Tuesday, December 22, 2009
Processos• particularmente adequado para aplicativos web:
• distribuição instantânea
• lançar cedo e com frequência
• “se a sua primeira versão não for constrangedora, demorou demais”
Tuesday, December 22, 2009
Processos• particularmente adequado para aplicativos web:
• assimilação de feedback
• expansão incremental
• educação do usuário
Tuesday, December 22, 2009
• Time
• Ferramentas
• Processos
• Time remoto vs. Time presencial?
Por onde eu começo?
Tuesday, December 22, 2009
Time Remoto
• Vantagens
• Desvantagens
Tuesday, December 22, 2009
Time Remoto
• Vantagens
• alcance geográfico
• custo
• eficiência
• produtividade
Tuesday, December 22, 2009
Time Remoto
• Desvantagens:
• menos proximidade social;
• menos informalidade;
• ambiente de trabalho vs. ambiente de casa
Tuesday, December 22, 2009
• Time
• Ferramentas
• Processos
• Time remoto vs. Time presencial?
• Outsourcing
Por onde eu começo?
Tuesday, December 22, 2009
Outsourcing
• vantagens
• desvantagens
Tuesday, December 22, 2009
Outsourcing
• vantagens
• atendimento de demandas específicas
• custos
• networking
• aprendizado
Tuesday, December 22, 2009
Outsourcing
• desvantagens
• menos compromisso ou paixão (“gun for hire, not a true believer”)
• retenção de conhecimento acumulado
• sigilo
Tuesday, December 22, 2009
Outsourcing
• faça o seu dever de casa antes de precisar!
Tuesday, December 22, 2009
Outsourcing
• ferramentas (Brasil):
• http://www.freela.com.br/
• http://ondetrabalhar.com/
Tuesday, December 22, 2009
Outsourcing
• ferramentas (internacional):
• http://www.crunchboard.com/jobs/
• http://jobs.joelonsoftware.com/
• http://jobs.37signals.com/jobs
• http://haystack.com/
• http://www.elance.com/
Tuesday, December 22, 2009
• Time
• Ferramentas
• Processos
• Time remoto vs. Time presencial?
• Outsourcing
Por onde eu começo?
Tuesday, December 22, 2009
Considerações finais
Tuesday, December 22, 2009
Considerações finais
• “não sou um programador”
“Nem eu”
Tuesday, December 22, 2009
Considerações finais
• “o que construir?”
Tuesday, December 22, 2009
Considerações finais• construa o que as pessoas quiserem usar
• o que falta no mundo?
• cenários de uso
• técnicas ágeis de desenvolvimento e ajustes incrementais
• tecnicamente realista
• modelos comerciais
Tuesday, December 22, 2009
Considerações finais
• modelos de receita:
• publicidade
• geração de leads de vendas
• assinatura de serviços
• venda de software
Tuesday, December 22, 2009
Considerações finais
• consultoria vs. produtos
Tuesday, December 22, 2009
Considerações finais
• Exemplos nacionais:
• Be on the Net (http://beonthe.net/)
• Aprex (http://www.aprex.com.br/)
Tuesday, December 22, 2009
Considerações finais
• Exemplos nacionais:
• Pagestacker (http://pagestacker.com)
• Buzz Volume (http://buzzvolume.com)
• Spesa (http://spesa.com.br)
Tuesday, December 22, 2009
Considerações finais
• Exemplos nacionais:
• Buscapé (http://buscapecom.br)
• Compra3 (http://compra3.com.br)
• Amanaiê (http://amanaie.com.br)
Tuesday, December 22, 2009
Considerações finais
• Exemplos internacionais:
• 37signals (http://37signals.com)
• Balsamiq (http://balsamiq.com)
• Craigslist (http://craigslist.org)
• Apple (http://apple.com)
Tuesday, December 22, 2009
Considerações finais
• “não tenho capital”
Tuesday, December 22, 2009
Considerações finais
• “eu não deveria primeiro tentar levantar capital?”
Tuesday, December 22, 2009
Considerações finais
• Don’t be a dick!!
Tuesday, December 22, 2009
Leitura recomendada
• blogs (Brasil):
• ReadWriteWeb Brasil (http://readwriteweb.com.br)
• Startupi (http://startupi.com.br)
Tuesday, December 22, 2009
Leitura recomendada
• blogs (internacionais):
• Paul Graham (http://paulgraham.com)
• Joel on Software (http://joelonsoftware.com)
• Rands in Repose (http://randsinrepose.com)
• Signal vs. Noise (http://37signals.com/svn)
Tuesday, December 22, 2009
Leitura recomendada
• livros:
• The Art of Start (Guy Kawasaki)
• Founders at Work (Jessica Livingston)
• Smart & Gets Things Done (Joel Spolsky)
• Getting Real (37signals)
• Managing Humans (Michael Lopp)
Tuesday, December 22, 2009
Obrigado!
• @marionogueira
Tuesday, December 22, 2009