Your SlideShare is downloading. ×
  • Like
Gerenciando times de software remotamente
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Gerenciando times de software remotamente

  • 636 views
Published

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. …

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
636
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
12
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • + propósito, qual a diferença entre “startup” e pequena e micro empresa?

    + segundo a definição tradicional de startup, elas são empresas criadas com vistas ao rápido crescimento baseado em inovação tecnológica... são normalmente financiadas por capital de risco, com todas as suas implicações

    + a porção sobre “rápido crescimento” anda cada vez mais em cheque na medida em que muitas empresas optam por seguir um caminho de auto-sustentação financeira desde o início, optando por um crescimento mais lento
  • + a premissa é a que, com as ferramentas e os processos de desenvolvimento de software minimamente adequados, não faz muita diferença se o seu time trabalha numa mesma localização geográfica ou não (ou se você está com eles ou não).

    + o mais importante portanto, é organizar os seus processos de produção de software
  • + a premissa é a que, com as ferramentas e os processos de desenvolvimento de software minimamente adequados, não faz muita diferença se o seu time trabalha numa mesma localização geográfica ou não (ou se você está com eles ou não).

    + o mais importante portanto, é organizar os seus processos de produção de software
  • + a premissa é a que, com as ferramentas e os processos de desenvolvimento de software minimamente adequados, não faz muita diferença se o seu time trabalha numa mesma localização geográfica ou não (ou se você está com eles ou não).

    + o mais importante portanto, é organizar os seus processos de produção de software
  • + a premissa é a que, com as ferramentas e os processos de desenvolvimento de software minimamente adequados, não faz muita diferença se o seu time trabalha numa mesma localização geográfica ou não (ou se você está com eles ou não).

    + o mais importante portanto, é organizar os seus processos de produção de software
  • + a premissa é a que, com as ferramentas e os processos de desenvolvimento de software minimamente adequados, não faz muita diferença se o seu time trabalha numa mesma localização geográfica ou não (ou se você está com eles ou não).

    + o mais importante portanto, é organizar os seus processos de produção de software
  • + corolário: existe método para se colocar uma operação de produção de software mesmo sem participar diretamente da sua programação propriamente dita
  • + nunca tenha receio de contratar ou de se associar a pessoas que saibam muito mais do que você em determinados assuntos (inclusive de até pagar salários mais altos que o seu próprio, se for preciso)

    + ter receio de fazer isso é suicídio
  • + nunca tenha receio de contratar ou de se associar a pessoas que saibam muito mais do que você em determinados assuntos (inclusive de até pagar salários mais altos que o seu próprio, se for preciso)

    + ter receio de fazer isso é suicídio
  • + nunca tenha receio de contratar ou de se associar a pessoas que saibam muito mais do que você em determinados assuntos (inclusive de até pagar salários mais altos que o seu próprio, se for preciso)

    + ter receio de fazer isso é suicídio
  • + nunca tenha receio de contratar ou de se associar a pessoas que saibam muito mais do que você em determinados assuntos (inclusive de até pagar salários mais altos que o seu próprio, se for preciso)

    + ter receio de fazer isso é suicídio
  • + nem sempre é possível contratar competência “pronta”

    + às vezes vale a pena trazer alguns profissinais de comptência “pronta” e colocá-los como mentores de profissionais com grande potencial
  • + vale tanto para profissionais consagrados que não se atualizam como para desconhecidos que se esforçam para se aperfeiçoar
  • + sociedade é casamento e portanto exige maiores cuidados na escolha de parceiros

    + contratação não
  • + se você é programador, as coisas são mais fáceis uma vez que você já faz parte da comunidade (se você é programador e não conhece muitos bins programadores, talvez você não seja tão bom ou talvez devesse sair mais).

    + se você não é programador é mais difícil, mas não é impossível
  • + se você é programador, as coisas são mais fáceis uma vez que você já faz parte da comunidade (se você é programador e não conhece muitos bins programadores, talvez você não seja tão bom ou talvez devesse sair mais).

    + se você não é programador é mais difícil, mas não é impossível
  • + se você é programador, as coisas são mais fáceis uma vez que você já faz parte da comunidade (se você é programador e não conhece muitos bins programadores, talvez você não seja tão bom ou talvez devesse sair mais).

    + se você não é programador é mais difícil, mas não é impossível
  • + se você é programador, as coisas são mais fáceis uma vez que você já faz parte da comunidade (se você é programador e não conhece muitos bins programadores, talvez você não seja tão bom ou talvez devesse sair mais).

    + se você não é programador é mais difícil, mas não é impossível
  • + se você é programador, as coisas são mais fáceis uma vez que você já faz parte da comunidade (se você é programador e não conhece muitos bins programadores, talvez você não seja tão bom ou talvez devesse sair mais).

    + se você não é programador é mais difícil, mas não é impossível
  • + se você é programador, as coisas são mais fáceis uma vez que você já faz parte da comunidade (se você é programador e não conhece muitos bins programadores, talvez você não seja tão bom ou talvez devesse sair mais).

    + se você não é programador é mais difícil, mas não é impossível
  • + se você é programador, as coisas são mais fáceis uma vez que você já faz parte da comunidade (se você é programador e não conhece muitos bins programadores, talvez você não seja tão bom ou talvez devesse sair mais).

    + se você não é programador é mais difícil, mas não é impossível
  • + A players hire A players

    + os melhores programadores querem trabalhar com os melhores programadores

    + os melhores aspirantes a programadores competentes também
  • + você pode tanto primeiro desenvolver uma reputação como programador trabalhando em empresas de terceiros ou em projetos de código aberto antes de abrir a sua empresa ou, mais imediatamente, você pode atrair um grande talento para a sua startup a fim de, entre outras coisas, atrair outros talentos que gostariam de trabalhar com ele ou que vêem na entrada dele na sua startup uma forma de endosso.
  • + paradoxalmente: visão e tudo mais ajudam a “arrumar a casa” primeiro no lado da capacidade de produção de software (na medida em que são fator de atração de talentos em software) para depois pôr em prática a visão
  • + na empresa onde um alvo de contratação trabalha, o software que ele faz consome ou ganha dinheiro?

    + isso tem grandes repercussões no ambiente de trabalho, de reconhecimento a remuneração
  • + trabalhar em produtos é melhor e mais satisfatório do que ser um “gun for hire” trabalhando em projetos com os quais não há identificação
  • +numa empresa menor, um bom programador tem mais chances de criar impacto, de inovar e, portanto, de ter maior satisfação profissional
  • +numa empresa menor, um bom programador tem mais chances de criar impacto, de inovar e, portanto, de ter maior satisfação profissional
  • +numa empresa menor, um bom programador tem mais chances de criar impacto, de inovar e, portanto, de ter maior satisfação profissional
  • +numa empresa menor, um bom programador tem mais chances de criar impacto, de inovar e, portanto, de ter maior satisfação profissional
  • + vai haver a chance de usar as tecnlogias mais recentes e interessantes para o programador ou o trabalho vai envolver ferramentas de programação, plataformas e práticas mais “consagradas”, cansadas e “seguras”?
  • + não importa tanto a faculdade: há muitos exemplos que comprovam isso nos dois extremos
  • + não importa tanto a faculdade: há muitos exemplos que comprovam isso nos dois extremos
  • + mais do que o domínio ou experiência com essa ferramenta ou aquela prática de desenvolvimento, qual a inteligência bruta do cara?

    + ele é capaz de aprender furiosamente rápido?

    + há evidência passada disso?
  • + mais do que o domínio ou experiência com essa ferramenta ou aquela prática de desenvolvimento, qual a inteligência bruta do cara?

    + ele é capaz de aprender furiosamente rápido?

    + há evidência passada disso?
  • + mais do que o domínio ou experiência com essa ferramenta ou aquela prática de desenvolvimento, qual a inteligência bruta do cara?

    + ele é capaz de aprender furiosamente rápido?

    + há evidência passada disso?
  • + mais do que o domínio ou experiência com essa ferramenta ou aquela prática de desenvolvimento, qual a inteligência bruta do cara?

    + ele é capaz de aprender furiosamente rápido?

    + há evidência passada disso?
  • + mesmo bons programadores podem sofrer de excesso de iniciativa e entusiasmo pela “latest shining thing” e falta de “acabativa”, isto é, tendem a desanimar ou perder o interesse quando o projeto entra numa fase mais avançada em que já não muito mais a aprender, o trabalho é mais “braçal” e não tão intelectualmente desafiante e o mais importante passa a ser a qualidade operacional em termos de prazos e orçamentos

    + bons programadores que não sofrem disso são verdadeiros assets!!

    + Steve Jobs on the original Mac: “True artists ship!”
  • + mesmo bons programadores podem sofrer de excesso de iniciativa e entusiasmo pela “latest shining thing” e falta de “acabativa”, isto é, tendem a desanimar ou perder o interesse quando o projeto entra numa fase mais avançada em que já não muito mais a aprender, o trabalho é mais “braçal” e não tão intelectualmente desafiante e o mais importante passa a ser a qualidade operacional em termos de prazos e orçamentos

    + bons programadores que não sofrem disso são verdadeiros assets!!

    + Steve Jobs on the original Mac: “True artists ship!”
  • + mesmo bons programadores podem sofrer de excesso de iniciativa e entusiasmo pela “latest shining thing” e falta de “acabativa”, isto é, tendem a desanimar ou perder o interesse quando o projeto entra numa fase mais avançada em que já não muito mais a aprender, o trabalho é mais “braçal” e não tão intelectualmente desafiante e o mais importante passa a ser a qualidade operacional em termos de prazos e orçamentos

    + bons programadores que não sofrem disso são verdadeiros assets!!

    + Steve Jobs on the original Mac: “True artists ship!”
  • + mesmo bons programadores podem sofrer de excesso de iniciativa e entusiasmo pela “latest shining thing” e falta de “acabativa”, isto é, tendem a desanimar ou perder o interesse quando o projeto entra numa fase mais avançada em que já não muito mais a aprender, o trabalho é mais “braçal” e não tão intelectualmente desafiante e o mais importante passa a ser a qualidade operacional em termos de prazos e orçamentos

    + bons programadores que não sofrem disso são verdadeiros assets!!

    + Steve Jobs on the original Mac: “True artists ship!”
  • + mesmo bons programadores podem sofrer de excesso de iniciativa e entusiasmo pela “latest shining thing” e falta de “acabativa”, isto é, tendem a desanimar ou perder o interesse quando o projeto entra numa fase mais avançada em que já não muito mais a aprender, o trabalho é mais “braçal” e não tão intelectualmente desafiante e o mais importante passa a ser a qualidade operacional em termos de prazos e orçamentos

    + bons programadores que não sofrem disso são verdadeiros assets!!

    + Steve Jobs on the original Mac: “True artists ship!”
  • + bons programadores geralmente mantêm blogs e neles costumam discutir assuntos ligados à criação de software, muitas vezes com “snippets” de código de exemplo

    + programadores realmente bons são contibuidores ativos de projetos de open source, cujo código pode ser livremente consultado

    + nesse ponto, a avaliação de competência ténica é incontornável: se você não é um (bom) programador, você vai ter que ter ao menos uma pessoa que seja no seu time e essa primeira pessoas deverá ter sido avaliada indiretamente (reputação no mercado, performance acadêmica, histórico profissional etc.)

    + de qualquer forma, mesmo que não se tenha a intenção de ser um programador na equipe, ajuda muito desenvolver uma compreensão funcional de como eles trabalham e de como as suas ferramentas de trabalho funcionam
  • + bons programadores geralmente mantêm blogs e neles costumam discutir assuntos ligados à criação de software, muitas vezes com “snippets” de código de exemplo

    + programadores realmente bons são contibuidores ativos de projetos de open source, cujo código pode ser livremente consultado

    + nesse ponto, a avaliação de competência ténica é incontornável: se você não é um (bom) programador, você vai ter que ter ao menos uma pessoa que seja no seu time e essa primeira pessoas deverá ter sido avaliada indiretamente (reputação no mercado, performance acadêmica, histórico profissional etc.)

    + de qualquer forma, mesmo que não se tenha a intenção de ser um programador na equipe, ajuda muito desenvolver uma compreensão funcional de como eles trabalham e de como as suas ferramentas de trabalho funcionam
  • + bons programadores geralmente mantêm blogs e neles costumam discutir assuntos ligados à criação de software, muitas vezes com “snippets” de código de exemplo

    + programadores realmente bons são contibuidores ativos de projetos de open source, cujo código pode ser livremente consultado

    + nesse ponto, a avaliação de competência ténica é incontornável: se você não é um (bom) programador, você vai ter que ter ao menos uma pessoa que seja no seu time e essa primeira pessoas deverá ter sido avaliada indiretamente (reputação no mercado, performance acadêmica, histórico profissional etc.)

    + de qualquer forma, mesmo que não se tenha a intenção de ser um programador na equipe, ajuda muito desenvolver uma compreensão funcional de como eles trabalham e de como as suas ferramentas de trabalho funcionam
  • + o objetivo aqui é mostrar que não são caras, que sãa facilmente assimiláveis e que de fato ajudam a formatar e enforçar processos

    + cada grupo de ferraemenats será muito rapidamente descrita nesses termos

    + tudo muito rápido, apenas para identificação e futura pesquisa
  • + o objetivo aqui é mostrar que não são caras, que sãa facilmente assimiláveis e que de fato ajudam a formatar e enforçar processos

    + cada grupo de ferraemenats será muito rapidamente descrita nesses termos

    + tudo muito rápido, apenas para identificação e futura pesquisa
  • + o objetivo aqui é mostrar que não são caras, que sãa facilmente assimiláveis e que de fato ajudam a formatar e enforçar processos

    + cada grupo de ferraemenats será muito rapidamente descrita nesses termos

    + tudo muito rápido, apenas para identificação e futura pesquisa
  • + o objetivo aqui é mostrar que não são caras, que sãa facilmente assimiláveis e que de fato ajudam a formatar e enforçar processos

    + cada grupo de ferraemenats será muito rapidamente descrita nesses termos

    + tudo muito rápido, apenas para identificação e futura pesquisa
  • + identificar processos úteis para futura referência e pesquisa

    + breve descrição com ênfase na facilidade de aplicação e em adequação à criação de aplicativos web

    + não é preciso seguir nenhuma à risca, você pode basear-se em mais de uma para chegar a um modelo que funcione melhor pra você e o seu time
  • + identificar processos úteis para futura referência e pesquisa

    + breve descrição com ênfase na facilidade de aplicação e em adequação à criação de aplicativos web

    + não é preciso seguir nenhuma à risca, você pode basear-se em mais de uma para chegar a um modelo que funcione melhor pra você e o seu time
  • + identificar processos úteis para futura referência e pesquisa

    + breve descrição com ênfase na facilidade de aplicação e em adequação à criação de aplicativos web

    + não é preciso seguir nenhuma à risca, você pode basear-se em mais de uma para chegar a um modelo que funcione melhor pra você e o seu time
  • + identificar processos úteis para futura referência e pesquisa

    + breve descrição com ênfase na facilidade de aplicação e em adequação à criação de aplicativos web

    + não é preciso seguir nenhuma à risca, você pode basear-se em mais de uma para chegar a um modelo que funcione melhor pra você e o seu time
  • + nesse ponto, retomar a afirmação feita anteriormente de que, com as ferramentas e os processos adequados (que tb são simples e custam pouco), dá quase na mesma operar um time de desenvolvimento local ou remoto

    + mencionar as sutilezas distintas em cada caso
  • + nesse ponto, retomar a afirmação feita anteriormente de que, com as ferramentas e os processos adequados (que tb são simples e custam pouco), dá quase na mesma operar um time de desenvolvimento local ou remoto

    + mencionar as sutilezas distintas em cada caso
  • + nesse ponto, retomar a afirmação feita anteriormente de que, com as ferramentas e os processos adequados (que tb são simples e custam pouco), dá quase na mesma operar um time de desenvolvimento local ou remoto

    + mencionar as sutilezas distintas em cada caso
  • + nesse ponto, retomar a afirmação feita anteriormente de que, com as ferramentas e os processos adequados (que tb são simples e custam pouco), dá quase na mesma operar um time de desenvolvimento local ou remoto

    + mencionar as sutilezas distintas em cada caso
  • + eficiência: comunicação mais “straight to the point”

    + produtividade: manos horas no trânsito (ponto especialmente sensível se você mora em São Paulo)
  • + eficiência: comunicação mais “straight to the point”

    + produtividade: manos horas no trânsito (ponto especialmente sensível se você mora em São Paulo)
  • + eficiência: comunicação mais “straight to the point”

    + produtividade: manos horas no trânsito (ponto especialmente sensível se você mora em São Paulo)
  • + eficiência: comunicação mais “straight to the point”

    + produtividade: manos horas no trânsito (ponto especialmente sensível se você mora em São Paulo)
  • + eficiência: comunicação mais “straight to the point”

    + produtividade: manos horas no trânsito (ponto especialmente sensível se você mora em São Paulo)
  • + não é possível sair pra almoçar, tomar um cafézinho ou até ficar apenas de papo por uns minutos com membros remotos

    + menos serendipidade

    + algumas pessoas têm dificuldade em entrar no estado de espírito de trabalho se não saírem de casa e forem até um local específico para trabalhar (isso pode ser resolvido trabalhando-se fora de casa alguns dias por semana em locais como bibliotecas, cafés ou mesmo espaços de co-working).
  • + não é possível sair pra almoçar, tomar um cafézinho ou até ficar apenas de papo por uns minutos com membros remotos

    + menos serendipidade

    + algumas pessoas têm dificuldade em entrar no estado de espírito de trabalho se não saírem de casa e forem até um local específico para trabalhar (isso pode ser resolvido trabalhando-se fora de casa alguns dias por semana em locais como bibliotecas, cafés ou mesmo espaços de co-working).
  • + não é possível sair pra almoçar, tomar um cafézinho ou até ficar apenas de papo por uns minutos com membros remotos

    + menos serendipidade

    + algumas pessoas têm dificuldade em entrar no estado de espírito de trabalho se não saírem de casa e forem até um local específico para trabalhar (isso pode ser resolvido trabalhando-se fora de casa alguns dias por semana em locais como bibliotecas, cafés ou mesmo espaços de co-working).
  • + não é possível sair pra almoçar, tomar um cafézinho ou até ficar apenas de papo por uns minutos com membros remotos

    + menos serendipidade

    + algumas pessoas têm dificuldade em entrar no estado de espírito de trabalho se não saírem de casa e forem até um local específico para trabalhar (isso pode ser resolvido trabalhando-se fora de casa alguns dias por semana em locais como bibliotecas, cafés ou mesmo espaços de co-working).
  • + destacar a diferença entre ter um time fixo trabalhando remotamente e o ato de fazer outsourcing ocasional

    + empresa de software tem que ter time fixo para o core da sua atividade

    + como e pra o quê fazer outsorucing direito
  • + retomar o espírito do ciclo de apresentações com o tema mais amplo de empreendedorismo digital

    + levantar a bola para os próximos palestrantes

    + passar rapidamente
  • + mencionar rapidamente os pontos cobertos na apresentação no sentido que isso não é impedimento

    + tem muito bom programador por aí com ótimas idéias que pensa “não entendo nada de produtos, marketing ou negócios”
  • + mencionar rapidamente os pontos cobertos na apresentação no sentido que isso não é impedimento

    + tem muito bom programador por aí com ótimas idéias que pensa “não entendo nada de produtos, marketing ou negócios”
  • + uma vez que eu tenha aprendido a colocar uma operação de produção de software em prática, o que eu vou construir?

    + que fatores levar em consideração?

    + exemplos
    + nacionais e internacionais
    + grandes e pequenos empreendimentos
  • * começou como uma consultoria de projetos de software

    ** fundada e administrada por não-programadores
  • * começou como uma consultoria de projetos de software

    ** fundada e administrada por não-programadores
  • * começou como uma consultoria de projetos de software

    ** fundada e administrada por não-programadores
  • * fundadas e administradas por não-programadores

    * ambas com palestras no mesmo ciclo mais adiante no evento
  • * fundadas e administradas por não-programadores

    * ambas com palestras no mesmo ciclo mais adiante no evento
  • * fundadas e administradas por não-programadores

    * ambas com palestras no mesmo ciclo mais adiante no evento
  • * fundadas e administradas por não-programadores

    * ambas com palestras no mesmo ciclo mais adiante no evento
  • + no começo a Apple operava da seguinte maneira:

    + obtenção de carta de intenção de compra de lote de computadores em uma cadeia local de varejo de eletrônicos;
    + de posse dessa carta, obtenção de crédito junto a um banco local de crédito para a compra de componentes para a produção desse lote;
    + montagem manual dos computadores em casa;
    + entrega do lote de computadores e recebimento de pagamento;
    + pagamento do crédito junto ao banco;
    + “enxaguar e repetir”;

    Foi só depois de vários meses nesse modelo que um investidor se interessou pela empresa.
  • + no começo a Apple operava da seguinte maneira:

    + obtenção de carta de intenção de compra de lote de computadores em uma cadeia local de varejo de eletrônicos;
    + de posse dessa carta, obtenção de crédito junto a um banco local de crédito para a compra de componentes para a produção desse lote;
    + montagem manual dos computadores em casa;
    + entrega do lote de computadores e recebimento de pagamento;
    + pagamento do crédito junto ao banco;
    + “enxaguar e repetir”;

    Foi só depois de vários meses nesse modelo que um investidor se interessou pela empresa.
  • + no começo a Apple operava da seguinte maneira:

    + obtenção de carta de intenção de compra de lote de computadores em uma cadeia local de varejo de eletrônicos;
    + de posse dessa carta, obtenção de crédito junto a um banco local de crédito para a compra de componentes para a produção desse lote;
    + montagem manual dos computadores em casa;
    + entrega do lote de computadores e recebimento de pagamento;
    + pagamento do crédito junto ao banco;
    + “enxaguar e repetir”;

    Foi só depois de vários meses nesse modelo que um investidor se interessou pela empresa.
  • + no começo a Apple operava da seguinte maneira:

    + obtenção de carta de intenção de compra de lote de computadores em uma cadeia local de varejo de eletrônicos;
    + de posse dessa carta, obtenção de crédito junto a um banco local de crédito para a compra de componentes para a produção desse lote;
    + montagem manual dos computadores em casa;
    + entrega do lote de computadores e recebimento de pagamento;
    + pagamento do crédito junto ao banco;
    + “enxaguar e repetir”;

    Foi só depois de vários meses nesse modelo que um investidor se interessou pela empresa.
  • + no começo a Apple operava da seguinte maneira:

    + obtenção de carta de intenção de compra de lote de computadores em uma cadeia local de varejo de eletrônicos;
    + de posse dessa carta, obtenção de crédito junto a um banco local de crédito para a compra de componentes para a produção desse lote;
    + montagem manual dos computadores em casa;
    + entrega do lote de computadores e recebimento de pagamento;
    + pagamento do crédito junto ao banco;
    + “enxaguar e repetir”;

    Foi só depois de vários meses nesse modelo que um investidor se interessou pela empresa.
  • + como visto, com poucos equipamentos, ferramentas e serviços, é possível por em prática uma operação de criação de software

    + custo inicial: >R$ 3k

    + custo mensal: > R$ 1k
  • + é possível começar com muito pouco

    + comprovação de demanda dessa fase atrai investidores

    + com clientes, receitas e crescimento, o poder de barganha do empreendedor é maior numa negociação com investidores
  • + relationships matter

    + people get offend easily & startup are very intense work environments

    + work = identity (specially for high performers)
  • + relationships matter

    + people get offend easily & startup are very intense work environments

    + work = identity (specially for high performers)

Transcript

  • 1. Gerenciando times de software remotamente Mario Nogueira Ramos 07 de novembro de 2009 Tuesday, December 22, 2009
  • 2. • ou: “quero começar uma startup web mas não sei como” Tuesday, December 22, 2009
  • 3. • capítulo: desenvolvimento de software Tuesday, December 22, 2009
  • 4. • audiência: não-programadores Tuesday, December 22, 2009
  • 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. 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. Por que eu deveria me importar? • elas conseguem produzir software! Tuesday, December 22, 2009
  • 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. 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. “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. “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. “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. Por onde eu começo? • Time Tuesday, December 22, 2009
  • 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. Time • competência vs. potencial Tuesday, December 22, 2009
  • 16. Time • competência é prática! Tuesday, December 22, 2009
  • 17. Time • contratação ou sócios Tuesday, December 22, 2009
  • 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. Time • por que alguém trabalharia comigo ou pra mim? Tuesday, December 22, 2009
  • 20. Time • quem são os demais membros do time? Tuesday, December 22, 2009
  • 21. Time • reputação: “contrate” ou desenvolva uma Tuesday, December 22, 2009
  • 22. Time • visão, estratégia, valores e criatividade podem ajudar a atrair talentos Tuesday, December 22, 2009
  • 23. Time • software é custo ou é receita? Tuesday, December 22, 2009
  • 24. Time • projetos ou produtos? Tuesday, December 22, 2009
  • 25. Time • empowerment • empresa menor • agilidade • impacto individual Tuesday, December 22, 2009
  • 26. Time • que tecnologias são empregadas? Tuesday, December 22, 2009
  • 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. Time • selecionando: • “smart & gets things done” Tuesday, December 22, 2009
  • 29. Time • smart: • o que já sabe fazer? • o que já fez? • consegue aprender rápido? Tuesday, December 22, 2009
  • 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. Time • blog? • open source? • “show me the code!” Tuesday, December 22, 2009
  • 32. Por onde eu começo? • Time • Ferramentas Tuesday, December 22, 2009
  • 33. Ferramentas • equipamentos • programação & operação • comunicação • gestão de projeto Tuesday, December 22, 2009
  • 34. Ferramentas • equipamentos: • notebooks • banda larga Tuesday, December 22, 2009
  • 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. Ferramentas • operação: • locaweb • slicehost • amazon web services Tuesday, December 22, 2009
  • 37. Ferramentas • comunicação; • chat/IM: gtalk, campfire etc. • skype • google docs • dropbox Tuesday, December 22, 2009
  • 38. Ferramentas • gestão de projeto: • basecamp, pivotal tracker • trac, fogbugz, bugzilla • subversion, git, github Tuesday, December 22, 2009
  • 39. Ferramentas • como nós trabalhamos: • campfire, skype; • google docs, dropbox; • basecamp, pivotal tracker, github; • slicehost, rubyonrails, javascript, mysql; Tuesday, December 22, 2009
  • 40. Por onde eu começo? • Time • Ferramentas • Processos Tuesday, December 22, 2009
  • 41. Processos • técnicas ágeis de desenvolvimento de software • XP • Scrum • Kanban Tuesday, December 22, 2009
  • 42. Processos • times pequenos • cross functional • processo iterativo • ciclos curtos Tuesday, December 22, 2009
  • 43. Processos • foco em software funcional vs. documentação extensa Tuesday, December 22, 2009
  • 44. Processos • foco em cenários de uso Tuesday, December 22, 2009
  • 45. Processos • papéis: • “dono” do produto • facilitador • desenvolvedores Tuesday, December 22, 2009
  • 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. Processos • facilitador: • mediador da comunicação • removedor de impedimentos • “juiz” Tuesday, December 22, 2009
  • 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. Processos • documentação • backlog de produto • backlog de sprint • gráfico de burndown Tuesday, December 22, 2009
  • 50. Processos • backlog de produto: • “dono” do produto • “o que” • cenários de uso • orientação comercial • priorização Tuesday, December 22, 2009
  • 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. Processos • gráfico de burndown: • performance do sprint • ferramenta visual • trabalho restante vs. tempo • estimativa vs. realidade Tuesday, December 22, 2009
  • 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. Processos • típica semana de trabalho: • planejamento de sprint • revisão de sprint • testes e demonstrações Tuesday, December 22, 2009
  • 55. Processos • resultados: • previsibilidade • agilidade • adaptação • transparência • controle de custos Tuesday, December 22, 2009
  • 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. Processos • particularmente adequado para aplicativos web: • assimilação de feedback • expansão incremental • educação do usuário Tuesday, December 22, 2009
  • 58. Por onde eu começo? • Time • Ferramentas • Processos • Time remoto vs. Time presencial? Tuesday, December 22, 2009
  • 59. Time Remoto • Vantagens • Desvantagens Tuesday, December 22, 2009
  • 60. Time Remoto • Vantagens • alcance geográfico • custo • eficiência • produtividade Tuesday, December 22, 2009
  • 61. Time Remoto • Desvantagens: • menos proximidade social; • menos informalidade; • ambiente de trabalho vs. ambiente de casa Tuesday, December 22, 2009
  • 62. Por onde eu começo? • Time • Ferramentas • Processos • Time remoto vs. Time presencial? • Outsourcing Tuesday, December 22, 2009
  • 63. Outsourcing • vantagens • desvantagens Tuesday, December 22, 2009
  • 64. Outsourcing • vantagens • atendimento de demandas específicas • custos • networking • aprendizado Tuesday, December 22, 2009
  • 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. Outsourcing • faça o seu dever de casa antes de precisar! Tuesday, December 22, 2009
  • 67. Outsourcing • ferramentas (Brasil): • http://www.freela.com.br/ • http://ondetrabalhar.com/ Tuesday, December 22, 2009
  • 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. Por onde eu começo? • Time • Ferramentas • Processos • Time remoto vs. Time presencial? • Outsourcing Tuesday, December 22, 2009
  • 70. Considerações finais Tuesday, December 22, 2009
  • 71. Considerações finais • “não sou um programador” “Nem eu” Tuesday, December 22, 2009
  • 72. Considerações finais • “o que construir?” Tuesday, December 22, 2009
  • 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. 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. Considerações finais • consultoria vs. produtos Tuesday, December 22, 2009
  • 76. Considerações finais • Exemplos nacionais: • Be on the Net (http://beonthe.net/) • Aprex (http://www.aprex.com.br/) Tuesday, December 22, 2009
  • 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. Considerações finais • Exemplos nacionais: • Buscapé (http://buscapecom.br) • Compra3 (http://compra3.com.br) • Amanaiê (http://amanaie.com.br) Tuesday, December 22, 2009
  • 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. Considerações finais • “não tenho capital” Tuesday, December 22, 2009
  • 81. Considerações finais • “eu não deveria primeiro tentar levantar capital?” Tuesday, December 22, 2009
  • 82. Considerações finais • Don’t be a dick!! Tuesday, December 22, 2009
  • 83. Leitura recomendada • blogs (Brasil): • ReadWriteWeb Brasil (http:// readwriteweb.com.br) • Startupi (http://startupi.com.br) Tuesday, December 22, 2009
  • 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. 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. Obrigado! • mario.nogueira@amanaie.com.br • @marionogueira Tuesday, December 22, 2009