SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Ferramentas úteis para
projetos de software
Sobre o autor
Luiz Alessandro Nörnberg
Bacharel em Ciência da Computação pela UCPel
Diretor de Tecnologia do Izyplay Game Studio
Editor do blog Abrindo o Jogo
luiz.nornberg@izyplay.com.br
www.abrindoojogo.com.br
Pontos importantes em
projetos de software
Saber estimar tarefas, trabalho, prazo, custo.
- Ter visão geral do “produto”.
- Saber seu tempo, saber os tempos externos.
- Incluindo compra de hardware e software, terceiros.
Saber organizar o trabalho: código, materiais e colaboração.
- Cronograma (macro), tarefas (micro), prazos, progresso.
- Documentação (projeto, arte).
- Código fonte: versões, plataformas.
- QA e produção: testes e correções, novos recursos, melhorias.
Ser produtivo.
Organização e colaboração
Google Drive
Mantenha seus docs na nuvem.
Evite formatos proprietários.
Organize em pastas, mas crie nomes completos,
para facilitar identificação nas buscas.
Exemplo:
Projeto A
Cronograma do Projeto A
Projeto B
Cronograma do Projeto B
Acostume-se a utilizar a estrela e a categoria “recentes”.
Google Inbox
Organize seu tempo, olhe os e-mails quando for
a hora, não quando chegarem.
Adie e-mails para não esquecer, ou crie lembretes.
Fixe e-mails contendo dados que você
procura freqüentemente.
Force a utilização do mesmo assunto.
Trello
Ferramenta de organização genérica,
útil para qualquer tipo de projeto.
Quadros: listas: cartões: checklists.
Crie sua metodologia e melhore com o uso.
Dicas:
- Detalhe as tarefas, crie títulos descritivos.
- Separe logicamente os cards em listas.
- Utilize categorias para uma segunda separação lógica.
- Utilize checklists para controlar quando um card está feito.
- Não deixe um card pendurado por 1 item de checklist: converta
o item em um card próprio e feche o card original.
Produtividade no
desenvolvimento
VCS - Version Control System
Mercurial / Tortoise HG / Bitbucket
Acostumar-se a usar, tirar proveito do que a ferramenta
oferece. Não usar apenas para backup.
Usar como undo, histórico de ações.
Comite frequentemente.
Sempre coloque comentários úteis. Comite os arquivos
agrupados por tarefa.
Na dúvida, comite. Muito cuidado ao descartar alterações - é a única
ação que não tem volta.
Não comite binários que são gerados (executável, por exemplo).
Utilize um auto organizador de código sempre que possível.
Debugger / Profiler
Aprenda a usar o depurador (debugger).
- Acelera muito a solução de problemas (bugs).
- Permite entender a fundo o código.
Use condições de breakpoints para agilizar
depuração repetitiva.
Use tracepoints para evitar sujar o código e
para colocar logs durante a depuração.
Procure um profiler e aprendar a usar.
- Acelera o processo de otimização.
- Ajuda a achar problemas de desempenho e memória.
MSI Afterburner
Ferramenta genérica para medição de carga de GPU.
Muito útil para medição de desenpenho de jogos.
A taxa de frames (FPS) é um indicador importante de
desempenho, mas fique de olho em memória e CPU/GPU.
Principalmente se sua máquina for acima da média.
Você pode nunca ter problema de baixo FPS.
Esta ferramenta permite salvar relatórios e gravar vídeos.
Bônus:
Acompanhamento do produto
Google Analytics
Game Analytics
Permitem marcar eventos em pontos importantes do código,
e ver estatísticas depois.
Exemplo: registrar toques em botões, telas visualizadas,
tempo de uso, recursos mais utilizados, etc.
É preciso entender como os relatórios funcionam, para distribuir da
melhor forma os eventos pelo código. Estude estas ferramentas.
É necessário ter um SDK para integrar com sua tecnologia.
Sessão de
perguntas e respostas
DICA: Cursos na área de jogos em Pelotas
Q&A Session
luiz.nornberg@izyplay.com.br
www.abrindoojogo.com.br
pt.slideshare.net/luiznornberg/palestra-sacee2015
CURSOS LIKE :)
Flexxo
(53) 3028-2900
www.facebook.com/izyplay
www.facebook.com/abrindoojogo
Links
Google Drive - https://www.google.com/intl/pt-BR/drive/
Trello - https://trello.com/
Inbox - http://www.google.com/intl/pt-BR/inbox
Mercurial / Tortoise HG - http://tortoisehg.bitbucket.org/
Bitbucket - https://bitbucket.org/
MSI AfterBurner - http://gaming.msi.com/features/afterburner
Google Analytics - http://www.google.com/analytics/
Game Analytics - http://www.gameanalytics.com/

Mais conteúdo relacionado

Semelhante a SACEE 2015 - Ferramentas úteis para projetos de software

Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo Neto
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Softblue logic-ide
Softblue logic-ideSoftblue logic-ide
Softblue logic-idemateusvini
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingMarcelo Láias
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmáticaelliando dias
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...Luiz Lemos
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Gabriel Rubens
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptBrennoPimenta
 
Engenharia de Software - Unimep/Pronatec - Aula 6
Engenharia de Software - Unimep/Pronatec - Aula 6Engenharia de Software - Unimep/Pronatec - Aula 6
Engenharia de Software - Unimep/Pronatec - Aula 6André Phillip Bertoletti
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
 
Programação defensiva
Programação defensivaProgramação defensiva
Programação defensivaKayo Rayner
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinariaPatrese Renan
 
Sete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoSete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoPlaneta Código
 

Semelhante a SACEE 2015 - Ferramentas úteis para projetos de software (20)

Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
eXtreme Programming
eXtreme ProgrammingeXtreme Programming
eXtreme Programming
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Softblue logic-ide
Softblue logic-ideSoftblue logic-ide
Softblue logic-ide
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmática
 
Gt 2 – ferramentas
Gt 2 – ferramentasGt 2 – ferramentas
Gt 2 – ferramentas
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.ppt
 
Engenharia de Software - Unimep/Pronatec - Aula 6
Engenharia de Software - Unimep/Pronatec - Aula 6Engenharia de Software - Unimep/Pronatec - Aula 6
Engenharia de Software - Unimep/Pronatec - Aula 6
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
Programação defensiva
Programação defensivaProgramação defensiva
Programação defensiva
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinaria
 
Sete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoSete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De Sucesso
 

Mais de Luiz Nörnberg

TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarTechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarLuiz Nörnberg
 
Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Luiz Nörnberg
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Luiz Nörnberg
 
Uma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogosUma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogosLuiz Nörnberg
 
Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Luiz Nörnberg
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioLuiz Nörnberg
 
Desafio do desenvolvimento multiplataforma, 2º SouWebPel
Desafio do desenvolvimento multiplataforma, 2º SouWebPelDesafio do desenvolvimento multiplataforma, 2º SouWebPel
Desafio do desenvolvimento multiplataforma, 2º SouWebPelLuiz Nörnberg
 

Mais de Luiz Nörnberg (7)

TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarTechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
 
Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Palestra AnimeBomb 2015
Palestra AnimeBomb 2015
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)
 
Uma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogosUma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogos
 
Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
 
Desafio do desenvolvimento multiplataforma, 2º SouWebPel
Desafio do desenvolvimento multiplataforma, 2º SouWebPelDesafio do desenvolvimento multiplataforma, 2º SouWebPel
Desafio do desenvolvimento multiplataforma, 2º SouWebPel
 

SACEE 2015 - Ferramentas úteis para projetos de software

  • 2. Sobre o autor Luiz Alessandro Nörnberg Bacharel em Ciência da Computação pela UCPel Diretor de Tecnologia do Izyplay Game Studio Editor do blog Abrindo o Jogo luiz.nornberg@izyplay.com.br www.abrindoojogo.com.br
  • 3. Pontos importantes em projetos de software Saber estimar tarefas, trabalho, prazo, custo. - Ter visão geral do “produto”. - Saber seu tempo, saber os tempos externos. - Incluindo compra de hardware e software, terceiros. Saber organizar o trabalho: código, materiais e colaboração. - Cronograma (macro), tarefas (micro), prazos, progresso. - Documentação (projeto, arte). - Código fonte: versões, plataformas. - QA e produção: testes e correções, novos recursos, melhorias. Ser produtivo.
  • 5. Google Drive Mantenha seus docs na nuvem. Evite formatos proprietários. Organize em pastas, mas crie nomes completos, para facilitar identificação nas buscas. Exemplo: Projeto A Cronograma do Projeto A Projeto B Cronograma do Projeto B Acostume-se a utilizar a estrela e a categoria “recentes”.
  • 6. Google Inbox Organize seu tempo, olhe os e-mails quando for a hora, não quando chegarem. Adie e-mails para não esquecer, ou crie lembretes. Fixe e-mails contendo dados que você procura freqüentemente. Force a utilização do mesmo assunto.
  • 7. Trello Ferramenta de organização genérica, útil para qualquer tipo de projeto. Quadros: listas: cartões: checklists. Crie sua metodologia e melhore com o uso. Dicas: - Detalhe as tarefas, crie títulos descritivos. - Separe logicamente os cards em listas. - Utilize categorias para uma segunda separação lógica. - Utilize checklists para controlar quando um card está feito. - Não deixe um card pendurado por 1 item de checklist: converta o item em um card próprio e feche o card original.
  • 9. VCS - Version Control System Mercurial / Tortoise HG / Bitbucket Acostumar-se a usar, tirar proveito do que a ferramenta oferece. Não usar apenas para backup. Usar como undo, histórico de ações. Comite frequentemente. Sempre coloque comentários úteis. Comite os arquivos agrupados por tarefa. Na dúvida, comite. Muito cuidado ao descartar alterações - é a única ação que não tem volta. Não comite binários que são gerados (executável, por exemplo). Utilize um auto organizador de código sempre que possível.
  • 10. Debugger / Profiler Aprenda a usar o depurador (debugger). - Acelera muito a solução de problemas (bugs). - Permite entender a fundo o código. Use condições de breakpoints para agilizar depuração repetitiva. Use tracepoints para evitar sujar o código e para colocar logs durante a depuração. Procure um profiler e aprendar a usar. - Acelera o processo de otimização. - Ajuda a achar problemas de desempenho e memória.
  • 11. MSI Afterburner Ferramenta genérica para medição de carga de GPU. Muito útil para medição de desenpenho de jogos. A taxa de frames (FPS) é um indicador importante de desempenho, mas fique de olho em memória e CPU/GPU. Principalmente se sua máquina for acima da média. Você pode nunca ter problema de baixo FPS. Esta ferramenta permite salvar relatórios e gravar vídeos.
  • 12. Bônus: Acompanhamento do produto Google Analytics Game Analytics Permitem marcar eventos em pontos importantes do código, e ver estatísticas depois. Exemplo: registrar toques em botões, telas visualizadas, tempo de uso, recursos mais utilizados, etc. É preciso entender como os relatórios funcionam, para distribuir da melhor forma os eventos pelo código. Estude estas ferramentas. É necessário ter um SDK para integrar com sua tecnologia.
  • 14. DICA: Cursos na área de jogos em Pelotas
  • 16. Links Google Drive - https://www.google.com/intl/pt-BR/drive/ Trello - https://trello.com/ Inbox - http://www.google.com/intl/pt-BR/inbox Mercurial / Tortoise HG - http://tortoisehg.bitbucket.org/ Bitbucket - https://bitbucket.org/ MSI AfterBurner - http://gaming.msi.com/features/afterburner Google Analytics - http://www.google.com/analytics/ Game Analytics - http://www.gameanalytics.com/