SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
the real time web




Desenvolvimento ágil com Python


                  Christiano Anderson
                  diretor de desenvolvimento

                  anderson@nodeware.com.br
                  Twitter: @dump / @nodeware
                  Blog: http://christiano.me
Sobre o palestrante
● Trabalha com software livre desde 1995;
● Sócio fundador da Nodeware;
● Ex-desenvolvedor do Projeto GNU;
● Trabalha com Python desde 2000;
● Evangelista NoSQL, Django e Node.JS
● Colabora com equipe de tradução do MongoDB;
● Fundador do MUG-SP
Twitter: @dump
Sobre a Nodeware




● Empresa nova, mas com corpo técnico atuante
  desde o início da internet comercial no Brasil;
● Foco em Python, soluções emergentes, nuvem,
  NoSQL, Node.JS, georreferenciamento e CMS;
● Parceira 10gen, Amazon AWS;
● Conheça mais em http://www.nodeware.com.br
Twitter: @dump
Qual o desafio?
● Toda empresa de software precisa estar inovar, estar vários
  passos à frente de seus concorrentes;
● Precisa desenvolver soluções rapidamente;
● Precisa reduzir ao máximo qualquer desperdício (seja
  tempo, código mal escrito, bugs, etc);
● Manter equipe sempre motivada e produtiva;
● Colaborar com a comunidade de software livre;
● Ter tempo para tomar uma cerveja, ninguém vive só de
  trabalho! :-)



Twitter: @dump
O que fazer...
● Escolher uma boa metodologia para desenvolvimento de
  software;


● Criar padrões e metas de qualidade;


● Reduzir ao máximo qualquer desperdício (seja tempo,
  código mal escrito, bugs, etc);


● Motivação, um dos fatores de sucesso;


Twitter: @dump
Metodologia SCRUM?


● Processo de desenvolvimento ágil, iterativo e
     incremental;
● Entregas menores, mas regulares;
● Equipes multi-disciplinares;




Twitter: @dump
Rugby




Twitter: @dump
União faz a força


● A equipe precisa estar unida;
● Se um membro da equipe SCRUM cair, pode
     levar todo o time junto;
● Todo mundo se ajuda;
● Equipes são auto-gerenciáveis;


Twitter: @dump
Papeis


● Scrum Master;
● Product Owner;
● Equipe;




Twitter: @dump
Sprint




Twitter: @dump
Sprint
● Um Backlog (conjunto de requisições) é
     definida nas reuniões de Sprint;
● Cada Sprint dura de 2 a 4 semanas (geralmente
     fazemos de 2 semanas);
● Ao finalizar um Sprint, uma retrospectiva é
     feita para verificar prós e contras;


Twitter: @dump
Gráfico de Burndown




Twitter: @dump
Kanban




Twitter: @dump
Kanban
● Ótima ferramenta para controlar backlog e
     manter a equipe motivada;
● Cada postit representa uma tarefa que deve ser
     realizada naquele dia;
● No fim de cada dia, as tarefas devem ser
     movidas para a coluna "feito".


Twitter: @dump
Kanban
● É uma maneira eficiente para identificar rapidamente
     impedimentos;
● Em caso de impedimentos, o gerente de projetos deve agir
     imediatamente e determinar a solução mais rápida para não
     prejudicar o Sprint;
● Sprint bom é Sprint concluído sem impedimentos;
● Dica: Ótima ferramenta para Kanban Online: http://trello.
     com


Twitter: @dump
Links
● http://www.trello.com/


● http://www.pivotaltracker.com/


● http://www.rallydev.com/


● http://www.myintervals.com/



Twitter: @dump
A metodologia foi definida, agora vamos
     à linguagem de programação




Twitter: @dump
Python?


● Criada em 1991 por Guido van Rossum;
● Linguagem de alto nível, interpretada, orientada
     a documentos e com tipagem forte;
● Pode ser aplicada para servidores, desktop,
     desenvolvimento web e mobile;


Twitter: @dump
Python?


● Muito utilizada por grandes empresas, como
     Google, Amazon, Governo Federal, Globo.com,
     etc;
● Possui uma comunidade forte e atuante;




Twitter: @dump
Python?


● Linguagem madura, estável, segura
● Possui uma ótima curva de aprendizado;
● Um ótimo mercado de trabalho, muitas vagas
     em aberto! Está na hora de aprender Python!




Twitter: @dump
Python para ciência


● Módulo SciPy permite usar Python para
     aplicações científicas, cálculos, matplotlib, entre
     outros.
● http://www.scipy.org/




Twitter: @dump
Criando jogos com Python




Twitter: @dump
Criando jogos com Python




Twitter: @dump
Criando jogos com Python




Twitter: @dump
Criando jogos com Python




Twitter: @dump
Criando jogos com Python




http://www.pygame.org/




Twitter: @dump
Aplicações Desktop com Python




Twitter: @dump
Aplicações Desktop com Python




Twitter: @dump
Aplicações Desktop com Python




http://www.wxpython.org/




Twitter: @dump
Django?


● Framework web, desenvolvido em Python;
● Permite desenvolvimento de aplicações web de forma ágil,
     com alto índice de reaproveitamento de código;
● Utiliza modelo MVC (ou melhor, MTV);
● O framework para quem se preocupa com prazos!




Twitter: @dump
Django?


● Possui suporte completo a GIS
     (georreferenciamento);
● Sistema de templates avançado;
● ORM bastante poderoso;
● Permite dividir o projeto em aplicações
     separadas;
Twitter: @dump
Django?


● Além disso, ótimo para trabalhar com
     metodologias ágeis, como SCRUM;




Twitter: @dump
Sites feitos em Django




Twitter: @dump
Sites feitos em Django




Twitter: @dump
Sites feitos em Django




Twitter: @dump
DRY - Don't Repeat Yourself

     Não faça repetições, seja produtivo!




Twitter: @dump
Conclusão
● Qualquer indivíduo ou empresa pode desenvolver
     softwares com qualidade e agilidade, escolhendo as
     ferramentas e metodologias adequadas;
● Python com Scrum fez da Nodeware uma empresa
     altamente produtiva, capaz de desenvolver softwares
     complexos com eficiência;
● O mercado está precisando de bons programadores Python
     que pensem de forma ágil. #ficadica


Twitter: @dump
Perguntas?




Twitter: @dump
Obrigado!!!!
  Se não deu tempo de responder sua dúvida durante a
  palestra, me pare no corredor ou entre em contato:


                 Christiano Anderson
                 anderson@nodeware.com.br
                 http://christiano.me
                 @dump


Twitter: @dump

Weitere ähnliche Inhalte

Was ist angesagt?

Agil das trincheiras
Agil das trincheirasAgil das trincheiras
Agil das trincheirasFelipe Zampa
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?tdc-globalcode
 
Otimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesOtimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesCaelum
 
Mauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep LearningMauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep LearningAgile Trends
 
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...Pedro Moreira da Silva
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Wagner Mendes Voltz Fusca
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHubBruno Furtado
 
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Git: O que eu preciso saber para entrar no mercado? -  - Marcos Echevarria - ...Git: O que eu preciso saber para entrar no mercado? -  - Marcos Echevarria - ...
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...Tchelinux
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineDr. Spock
 
10 lições que eu aprendi implantando o Scrum e que ninguém me contou antes
10 lições que eu aprendi implantando o Scrum e que ninguém me contou antes10 lições que eu aprendi implantando o Scrum e que ninguém me contou antes
10 lições que eu aprendi implantando o Scrum e que ninguém me contou antespriscilaelpo
 
Programe na Velocidade da Luz
Programe na Velocidade da LuzPrograme na Velocidade da Luz
Programe na Velocidade da LuzDaniel Polito
 
LPUG #10 agenda e community updates - 2020-09-16
LPUG #10   agenda e community updates - 2020-09-16LPUG #10   agenda e community updates - 2020-09-16
LPUG #10 agenda e community updates - 2020-09-16Fernando Fernández
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 
Agilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC FlorianópolisAgilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC FlorianópolisWagner Mendes Voltz Fusca
 

Was ist angesagt? (20)

Agil das trincheiras
Agil das trincheirasAgil das trincheiras
Agil das trincheiras
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
 
Developer anarchy
Developer anarchyDeveloper anarchy
Developer anarchy
 
Otimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesOtimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iterações
 
Mauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep LearningMauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep Learning
 
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
 
Metodologias ágeis no desenvolvimento Wordpress
Metodologias ágeis no desenvolvimento WordpressMetodologias ágeis no desenvolvimento Wordpress
Metodologias ágeis no desenvolvimento Wordpress
 
A transformação ágil com scrum
A transformação ágil com scrumA transformação ágil com scrum
A transformação ágil com scrum
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHub
 
Minicurso Git
Minicurso GitMinicurso Git
Minicurso Git
 
2 meetup. sprint architecture
2 meetup. sprint architecture2 meetup. sprint architecture
2 meetup. sprint architecture
 
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Git: O que eu preciso saber para entrar no mercado? -  - Marcos Echevarria - ...Git: O que eu preciso saber para entrar no mercado? -  - Marcos Echevarria - ...
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
 
A transformação ágil com Scrum
A transformação ágil com ScrumA transformação ágil com Scrum
A transformação ágil com Scrum
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App Engine
 
10 lições que eu aprendi implantando o Scrum e que ninguém me contou antes
10 lições que eu aprendi implantando o Scrum e que ninguém me contou antes10 lições que eu aprendi implantando o Scrum e que ninguém me contou antes
10 lições que eu aprendi implantando o Scrum e que ninguém me contou antes
 
Programe na Velocidade da Luz
Programe na Velocidade da LuzPrograme na Velocidade da Luz
Programe na Velocidade da Luz
 
LPUG #10 agenda e community updates - 2020-09-16
LPUG #10   agenda e community updates - 2020-09-16LPUG #10   agenda e community updates - 2020-09-16
LPUG #10 agenda e community updates - 2020-09-16
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 
Agilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC FlorianópolisAgilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC Florianópolis
 

Ähnlich wie Scrum

Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwarePablo Dall'Oglio
 
Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Vinta Software
 
Scrum - Faça o dobro do trabalho na metade do tempo
Scrum - Faça o dobro do trabalho na metade do tempoScrum - Faça o dobro do trabalho na metade do tempo
Scrum - Faça o dobro do trabalho na metade do tempoFernando Fagonde
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPPablo Dall'Oglio
 
Ferramentas de Gerenciamento de Projetos
Ferramentas de Gerenciamento de ProjetosFerramentas de Gerenciamento de Projetos
Ferramentas de Gerenciamento de ProjetosVMayfair
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilIsrael Santiago
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.Yan Magalhães
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaHenrique Nunes Bez Fontana
 
Métodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XPMétodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XPJoaquim Lopes Júnior
 
Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.James Moreira
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...Rosa Sampaio
 
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...
Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...Rosa Sampaio
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
PARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAPARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAFrederico Augusto Do Carmo Moreira
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMLucas Vinícius
 

Ähnlich wie Scrum (20)

Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Scrum - Faça o dobro do trabalho na metade do tempo
Scrum - Faça o dobro do trabalho na metade do tempoScrum - Faça o dobro do trabalho na metade do tempo
Scrum - Faça o dobro do trabalho na metade do tempo
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHP
 
Ferramentas de Gerenciamento de Projetos
Ferramentas de Gerenciamento de ProjetosFerramentas de Gerenciamento de Projetos
Ferramentas de Gerenciamento de Projetos
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento Ágil
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresa
 
2PHP_Metodologia
2PHP_Metodologia2PHP_Metodologia
2PHP_Metodologia
 
Métodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XPMétodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XP
 
Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
Scrum | Estimativas Ágil Consciente | Apresentação para Empresa Desenvolvedor...
 
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...
Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...Scrum | Estimativa ágil | Apresentação para  QA | Desenvolvedores  | e para o...
Scrum | Estimativa ágil | Apresentação para QA | Desenvolvedores | e para o...
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
PARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAPARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QA
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUM
 

Mehr von Christiano Anderson

MongoDB - Tudo o que você precisa saber - FISL16
MongoDB - Tudo o que você precisa saber - FISL16MongoDB - Tudo o que você precisa saber - FISL16
MongoDB - Tudo o que você precisa saber - FISL16Christiano Anderson
 
Mapeando a Terra com soluções livres e GeoDjango
Mapeando a Terra com soluções livres e GeoDjangoMapeando a Terra com soluções livres e GeoDjango
Mapeando a Terra com soluções livres e GeoDjangoChristiano Anderson
 
MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014Christiano Anderson
 
Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014Christiano Anderson
 
MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014Christiano Anderson
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Christiano Anderson
 
Geo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERI
Geo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERIGeo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERI
Geo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERIChristiano Anderson
 
MongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberMongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberChristiano Anderson
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Christiano Anderson
 

Mehr von Christiano Anderson (20)

Meetup MUG-RS KingHost
Meetup MUG-RS KingHostMeetup MUG-RS KingHost
Meetup MUG-RS KingHost
 
certificadoTDC2016Floripa
certificadoTDC2016FloripacertificadoTDC2016Floripa
certificadoTDC2016Floripa
 
MongoDB - Tudo o que você precisa saber - FISL16
MongoDB - Tudo o que você precisa saber - FISL16MongoDB - Tudo o que você precisa saber - FISL16
MongoDB - Tudo o que você precisa saber - FISL16
 
Mapeando a Terra com soluções livres e GeoDjango
Mapeando a Terra com soluções livres e GeoDjangoMapeando a Terra com soluções livres e GeoDjango
Mapeando a Terra com soluções livres e GeoDjango
 
MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014
 
Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014
 
MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014
 
Big Data Latinoware 2014
Big Data Latinoware 2014Big Data Latinoware 2014
Big Data Latinoware 2014
 
Big Data - Conceitos Básicos
Big Data - Conceitos BásicosBig Data - Conceitos Básicos
Big Data - Conceitos Básicos
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
Geo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERI
Geo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERIGeo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERI
Geo Django - Fórum Goiano de Software Livre - 10 FGSL e 1 ERI
 
MongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberMongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saber
 
Django - Muito além do básico
Django - Muito além do básicoDjango - Muito além do básico
Django - Muito além do básico
 
GeoDjango
GeoDjangoGeoDjango
GeoDjango
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
MongoDB na Campus Party
MongoDB na Campus PartyMongoDB na Campus Party
MongoDB na Campus Party
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7
 
Python MongoDB no MongoSP
Python MongoDB no MongoSPPython MongoDB no MongoSP
Python MongoDB no MongoSP
 
Python e MongoDB - Ensol
Python e MongoDB - EnsolPython e MongoDB - Ensol
Python e MongoDB - Ensol
 

Scrum

  • 1. the real time web Desenvolvimento ágil com Python Christiano Anderson diretor de desenvolvimento anderson@nodeware.com.br Twitter: @dump / @nodeware Blog: http://christiano.me
  • 2. Sobre o palestrante ● Trabalha com software livre desde 1995; ● Sócio fundador da Nodeware; ● Ex-desenvolvedor do Projeto GNU; ● Trabalha com Python desde 2000; ● Evangelista NoSQL, Django e Node.JS ● Colabora com equipe de tradução do MongoDB; ● Fundador do MUG-SP Twitter: @dump
  • 3. Sobre a Nodeware ● Empresa nova, mas com corpo técnico atuante desde o início da internet comercial no Brasil; ● Foco em Python, soluções emergentes, nuvem, NoSQL, Node.JS, georreferenciamento e CMS; ● Parceira 10gen, Amazon AWS; ● Conheça mais em http://www.nodeware.com.br Twitter: @dump
  • 4. Qual o desafio? ● Toda empresa de software precisa estar inovar, estar vários passos à frente de seus concorrentes; ● Precisa desenvolver soluções rapidamente; ● Precisa reduzir ao máximo qualquer desperdício (seja tempo, código mal escrito, bugs, etc); ● Manter equipe sempre motivada e produtiva; ● Colaborar com a comunidade de software livre; ● Ter tempo para tomar uma cerveja, ninguém vive só de trabalho! :-) Twitter: @dump
  • 5. O que fazer... ● Escolher uma boa metodologia para desenvolvimento de software; ● Criar padrões e metas de qualidade; ● Reduzir ao máximo qualquer desperdício (seja tempo, código mal escrito, bugs, etc); ● Motivação, um dos fatores de sucesso; Twitter: @dump
  • 6. Metodologia SCRUM? ● Processo de desenvolvimento ágil, iterativo e incremental; ● Entregas menores, mas regulares; ● Equipes multi-disciplinares; Twitter: @dump
  • 8. União faz a força ● A equipe precisa estar unida; ● Se um membro da equipe SCRUM cair, pode levar todo o time junto; ● Todo mundo se ajuda; ● Equipes são auto-gerenciáveis; Twitter: @dump
  • 9. Papeis ● Scrum Master; ● Product Owner; ● Equipe; Twitter: @dump
  • 11. Sprint ● Um Backlog (conjunto de requisições) é definida nas reuniões de Sprint; ● Cada Sprint dura de 2 a 4 semanas (geralmente fazemos de 2 semanas); ● Ao finalizar um Sprint, uma retrospectiva é feita para verificar prós e contras; Twitter: @dump
  • 14. Kanban ● Ótima ferramenta para controlar backlog e manter a equipe motivada; ● Cada postit representa uma tarefa que deve ser realizada naquele dia; ● No fim de cada dia, as tarefas devem ser movidas para a coluna "feito". Twitter: @dump
  • 15. Kanban ● É uma maneira eficiente para identificar rapidamente impedimentos; ● Em caso de impedimentos, o gerente de projetos deve agir imediatamente e determinar a solução mais rápida para não prejudicar o Sprint; ● Sprint bom é Sprint concluído sem impedimentos; ● Dica: Ótima ferramenta para Kanban Online: http://trello. com Twitter: @dump
  • 16. Links ● http://www.trello.com/ ● http://www.pivotaltracker.com/ ● http://www.rallydev.com/ ● http://www.myintervals.com/ Twitter: @dump
  • 17. A metodologia foi definida, agora vamos à linguagem de programação Twitter: @dump
  • 18. Python? ● Criada em 1991 por Guido van Rossum; ● Linguagem de alto nível, interpretada, orientada a documentos e com tipagem forte; ● Pode ser aplicada para servidores, desktop, desenvolvimento web e mobile; Twitter: @dump
  • 19. Python? ● Muito utilizada por grandes empresas, como Google, Amazon, Governo Federal, Globo.com, etc; ● Possui uma comunidade forte e atuante; Twitter: @dump
  • 20. Python? ● Linguagem madura, estável, segura ● Possui uma ótima curva de aprendizado; ● Um ótimo mercado de trabalho, muitas vagas em aberto! Está na hora de aprender Python! Twitter: @dump
  • 21. Python para ciência ● Módulo SciPy permite usar Python para aplicações científicas, cálculos, matplotlib, entre outros. ● http://www.scipy.org/ Twitter: @dump
  • 22. Criando jogos com Python Twitter: @dump
  • 23. Criando jogos com Python Twitter: @dump
  • 24. Criando jogos com Python Twitter: @dump
  • 25. Criando jogos com Python Twitter: @dump
  • 26. Criando jogos com Python http://www.pygame.org/ Twitter: @dump
  • 27. Aplicações Desktop com Python Twitter: @dump
  • 28. Aplicações Desktop com Python Twitter: @dump
  • 29. Aplicações Desktop com Python http://www.wxpython.org/ Twitter: @dump
  • 30. Django? ● Framework web, desenvolvido em Python; ● Permite desenvolvimento de aplicações web de forma ágil, com alto índice de reaproveitamento de código; ● Utiliza modelo MVC (ou melhor, MTV); ● O framework para quem se preocupa com prazos! Twitter: @dump
  • 31. Django? ● Possui suporte completo a GIS (georreferenciamento); ● Sistema de templates avançado; ● ORM bastante poderoso; ● Permite dividir o projeto em aplicações separadas; Twitter: @dump
  • 32. Django? ● Além disso, ótimo para trabalhar com metodologias ágeis, como SCRUM; Twitter: @dump
  • 33. Sites feitos em Django Twitter: @dump
  • 34. Sites feitos em Django Twitter: @dump
  • 35. Sites feitos em Django Twitter: @dump
  • 36. DRY - Don't Repeat Yourself Não faça repetições, seja produtivo! Twitter: @dump
  • 37. Conclusão ● Qualquer indivíduo ou empresa pode desenvolver softwares com qualidade e agilidade, escolhendo as ferramentas e metodologias adequadas; ● Python com Scrum fez da Nodeware uma empresa altamente produtiva, capaz de desenvolver softwares complexos com eficiência; ● O mercado está precisando de bons programadores Python que pensem de forma ágil. #ficadica Twitter: @dump
  • 39. Obrigado!!!! Se não deu tempo de responder sua dúvida durante a palestra, me pare no corredor ou entre em contato: Christiano Anderson anderson@nodeware.com.br http://christiano.me @dump Twitter: @dump