Gerenciando times de software remotamente

915 views

Published on

Começar uma startup web envolve muitas questões diferentes, dentre as quais o desenvolvimento de software é crucial, embora esteja longe de ser a única que importa.

Esta apresentação é uma breve introdução sobre o processo de criação dessa operação numa startup web. Ela é especialmente voltada a não-desenvolvedores de software, procura desfazer alguns mitos (como o de que é preciso ser um programador para começar empresas web bem-sucedidas) e contém muitas referências que podem ser seguidas posteriormente.

Published in: Technology
  • Be the first to comment

Gerenciando times de software remotamente

  1. 1. Gerenciando times de software remotamente Mario Nogueira Ramos 07 de novembro de 2009 Tuesday, December 22, 2009
  2. 2. • ou: “quero começar uma startup web mas não sei como” Tuesday, December 22, 2009
  3. 3. • capítulo: desenvolvimento de software Tuesday, December 22, 2009
  4. 4. • audiência: não-programadores Tuesday, December 22, 2009
  5. 5. 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
  6. 6. 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
  7. 7. Por que eu deveria me importar? • elas conseguem produzir software! Tuesday, December 22, 2009
  8. 8. 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
  9. 9. 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
  10. 10. “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
  11. 11. “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
  12. 12. “Por que eu deveria me importar com você?” • são paulo, sp • vitória, es nosso time hoje está nas • toledo, pr seguintes cidades: • maceió, al • teresina, pi • new york, ny Tuesday, December 22, 2009
  13. 13. Por onde eu começo? • Time Tuesday, December 22, 2009
  14. 14. 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
  15. 15. Time • competência vs. potencial Tuesday, December 22, 2009
  16. 16. Time • competência é prática! Tuesday, December 22, 2009
  17. 17. Time • contratação ou sócios Tuesday, December 22, 2009
  18. 18. 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
  19. 19. Time • por que alguém trabalharia comigo ou pra mim? Tuesday, December 22, 2009
  20. 20. Time • quem são os demais membros do time? Tuesday, December 22, 2009
  21. 21. Time • reputação: “contrate” ou desenvolva uma Tuesday, December 22, 2009
  22. 22. Time • visão, estratégia, valores e criatividade podem ajudar a atrair talentos Tuesday, December 22, 2009
  23. 23. Time • software é custo ou é receita? Tuesday, December 22, 2009
  24. 24. Time • projetos ou produtos? Tuesday, December 22, 2009
  25. 25. Time • empowerment • empresa menor • agilidade • impacto individual Tuesday, December 22, 2009
  26. 26. Time • que tecnologias são empregadas? Tuesday, December 22, 2009
  27. 27. 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
  28. 28. Time • selecionando: • “smart & gets things done” Tuesday, December 22, 2009
  29. 29. Time • smart: • o que já sabe fazer? • o que já fez? • consegue aprender rápido? Tuesday, December 22, 2009
  30. 30. 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
  31. 31. Time • blog? • open source? • “show me the code!” Tuesday, December 22, 2009
  32. 32. Por onde eu começo? • Time • Ferramentas Tuesday, December 22, 2009
  33. 33. Ferramentas • equipamentos • programação & operação • comunicação • gestão de projeto Tuesday, December 22, 2009
  34. 34. Ferramentas • equipamentos: • notebooks • banda larga Tuesday, December 22, 2009
  35. 35. 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
  36. 36. Ferramentas • operação: • locaweb • slicehost • amazon web services Tuesday, December 22, 2009
  37. 37. Ferramentas • comunicação; • chat/IM: gtalk, campfire etc. • skype • google docs • dropbox Tuesday, December 22, 2009
  38. 38. Ferramentas • gestão de projeto: • basecamp, pivotal tracker • trac, fogbugz, bugzilla • subversion, git, github Tuesday, December 22, 2009
  39. 39. Ferramentas • como nós trabalhamos: • campfire, skype; • google docs, dropbox; • basecamp, pivotal tracker, github; • slicehost, rubyonrails, javascript, mysql; Tuesday, December 22, 2009
  40. 40. Por onde eu começo? • Time • Ferramentas • Processos Tuesday, December 22, 2009
  41. 41. Processos • técnicas ágeis de desenvolvimento de software • XP • Scrum • Kanban Tuesday, December 22, 2009
  42. 42. Processos • times pequenos • cross functional • processo iterativo • ciclos curtos Tuesday, December 22, 2009
  43. 43. Processos • foco em software funcional vs. documentação extensa Tuesday, December 22, 2009
  44. 44. Processos • foco em cenários de uso Tuesday, December 22, 2009
  45. 45. Processos • papéis: • “dono” do produto • facilitador • desenvolvedores Tuesday, December 22, 2009
  46. 46. 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
  47. 47. Processos • facilitador: • mediador da comunicação • removedor de impedimentos • “juiz” Tuesday, December 22, 2009
  48. 48. 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
  49. 49. Processos • documentação • backlog de produto • backlog de sprint • gráfico de burndown Tuesday, December 22, 2009
  50. 50. Processos • backlog de produto: • “dono” do produto • “o que” • cenários de uso • orientação comercial • priorização Tuesday, December 22, 2009
  51. 51. Processos • backlog de sprint: • desenvolvedores • “como” • janelas de tempo curtas (dias ou semanas) • tarefas técnicas precisas • estimativas curtas (horas) Tuesday, December 22, 2009
  52. 52. Processos • gráfico de burndown: • performance do sprint • ferramenta visual • trabalho restante vs. tempo • estimativa vs. realidade Tuesday, December 22, 2009
  53. 53. 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
  54. 54. Processos • típica semana de trabalho: • planejamento de sprint • revisão de sprint • testes e demonstrações Tuesday, December 22, 2009
  55. 55. Processos • resultados: • previsibilidade • agilidade • adaptação • transparência • controle de custos Tuesday, December 22, 2009
  56. 56. 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
  57. 57. Processos • particularmente adequado para aplicativos web: • assimilação de feedback • expansão incremental • educação do usuário Tuesday, December 22, 2009
  58. 58. Por onde eu começo? • Time • Ferramentas • Processos • Time remoto vs. Time presencial? Tuesday, December 22, 2009
  59. 59. Time Remoto • Vantagens • Desvantagens Tuesday, December 22, 2009
  60. 60. Time Remoto • Vantagens • alcance geográfico • custo • eficiência • produtividade Tuesday, December 22, 2009
  61. 61. Time Remoto • Desvantagens: • menos proximidade social; • menos informalidade; • ambiente de trabalho vs. ambiente de casa Tuesday, December 22, 2009
  62. 62. Por onde eu começo? • Time • Ferramentas • Processos • Time remoto vs. Time presencial? • Outsourcing Tuesday, December 22, 2009
  63. 63. Outsourcing • vantagens • desvantagens Tuesday, December 22, 2009
  64. 64. Outsourcing • vantagens • atendimento de demandas específicas • custos • networking • aprendizado Tuesday, December 22, 2009
  65. 65. Outsourcing • desvantagens • menos compromisso ou paixão (“gun for hire, not a true believer”) • retenção de conhecimento acumulado • sigilo Tuesday, December 22, 2009
  66. 66. Outsourcing • faça o seu dever de casa antes de precisar! Tuesday, December 22, 2009
  67. 67. Outsourcing • ferramentas (Brasil): • http://www.freela.com.br/ • http://ondetrabalhar.com/ Tuesday, December 22, 2009
  68. 68. 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
  69. 69. Por onde eu começo? • Time • Ferramentas • Processos • Time remoto vs. Time presencial? • Outsourcing Tuesday, December 22, 2009
  70. 70. Considerações finais Tuesday, December 22, 2009
  71. 71. Considerações finais • “não sou um programador” “Nem eu” Tuesday, December 22, 2009
  72. 72. Considerações finais • “o que construir?” Tuesday, December 22, 2009
  73. 73. 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
  74. 74. Considerações finais • modelos de receita: • publicidade • geração de leads de vendas • assinatura de serviços • venda de software Tuesday, December 22, 2009
  75. 75. Considerações finais • consultoria vs. produtos Tuesday, December 22, 2009
  76. 76. Considerações finais • Exemplos nacionais: • Be on the Net (http://beonthe.net/) • Aprex (http://www.aprex.com.br/) Tuesday, December 22, 2009
  77. 77. Considerações finais • Exemplos nacionais: • Pagestacker (http://pagestacker.com) • Buzz Volume (http://buzzvolume.com) • Spesa (http://spesa.com.br) Tuesday, December 22, 2009
  78. 78. Considerações finais • Exemplos nacionais: • Buscapé (http://buscapecom.br) • Compra3 (http://compra3.com.br) • Amanaiê (http://amanaie.com.br) Tuesday, December 22, 2009
  79. 79. 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
  80. 80. Considerações finais • “não tenho capital” Tuesday, December 22, 2009
  81. 81. Considerações finais • “eu não deveria primeiro tentar levantar capital?” Tuesday, December 22, 2009
  82. 82. Considerações finais • Don’t be a dick!! Tuesday, December 22, 2009
  83. 83. Leitura recomendada • blogs (Brasil): • ReadWriteWeb Brasil (http:// readwriteweb.com.br) • Startupi (http://startupi.com.br) Tuesday, December 22, 2009
  84. 84. 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
  85. 85. 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
  86. 86. Obrigado! • mario.nogueira@amanaie.com.br • @marionogueira Tuesday, December 22, 2009

×