scrum

39
the real time web Desenvolvimento ágil com Python Christiano Anderson diretor de desenvolvimento [email protected] Twitter: @dump / @nodeware Blog: http://christiano.me

Upload: christiano-anderson

Post on 01-Nov-2014

806 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Scrum

the real time web

Desenvolvimento ágil com Python

Christiano Andersondiretor de desenvolvimento

[email protected]: @dump / @nodewareBlog: http://christiano.me

Page 2: Scrum

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

Page 3: Scrum

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

Page 4: Scrum

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

Page 5: Scrum

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

Page 6: Scrum

Metodologia SCRUM?

● Processo de desenvolvimento ágil, iterativo e

incremental;

● Entregas menores, mas regulares;

● Equipes multi-disciplinares;

Twitter: @dump

Page 7: Scrum

Twitter: @dump

Rugby

Page 8: Scrum

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

Page 9: Scrum

Papeis

● Scrum Master;

● Product Owner;

● Equipe;

Twitter: @dump

Page 10: Scrum

Sprint

Twitter: @dump

Page 11: Scrum

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

Page 12: Scrum

Gráfico de Burndown

Twitter: @dump

Page 13: Scrum

Kanban

Twitter: @dump

Page 14: Scrum

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

Page 15: Scrum

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

Page 16: Scrum

Links● http://www.trello.com/

● http://www.pivotaltracker.com/

● http://www.rallydev.com/

● http://www.myintervals.com/

Twitter: @dump

Page 17: Scrum

A metodologia foi definida, agora vamos à linguagem de programação

Twitter: @dump

Page 18: Scrum

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

Page 19: Scrum

Python?

● Muito utilizada por grandes empresas, como

Google, Amazon, Governo Federal, Globo.com,

etc;

● Possui uma comunidade forte e atuante;

Twitter: @dump

Page 20: Scrum

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

Page 21: Scrum

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

Page 22: Scrum

Criando jogos com Python

Twitter: @dump

Page 23: Scrum

Criando jogos com Python

Twitter: @dump

Page 24: Scrum

Criando jogos com Python

Twitter: @dump

Page 25: Scrum

Criando jogos com Python

Twitter: @dump

Page 26: Scrum

Criando jogos com Python

Twitter: @dump

http://www.pygame.org/

Page 27: Scrum

Aplicações Desktop com Python

Twitter: @dump

Page 28: Scrum

Aplicações Desktop com Python

Twitter: @dump

Page 29: Scrum

Aplicações Desktop com Python

Twitter: @dump

http://www.wxpython.org/

Page 30: Scrum

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

Page 31: Scrum

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

Page 32: Scrum

Django?

● Além disso, ótimo para trabalhar com

metodologias ágeis, como SCRUM;

Twitter: @dump

Page 33: Scrum

Sites feitos em Django

Twitter: @dump

Page 34: Scrum

Sites feitos em Django

Twitter: @dump

Page 35: Scrum

Sites feitos em Django

Twitter: @dump

Page 36: Scrum

DRY - Don't Repeat Yourself

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

Twitter: @dump

Page 37: Scrum

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

Page 38: Scrum

Perguntas?

Twitter: @dump

Page 39: Scrum

Obrigado!!!!

Christiano Anderson

[email protected]

http://christiano.me

@dump

Twitter: @dump

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