Há seis anos o CPqD vem utilizando um conjunto de ferramentas de software livre (e algumas comerciais de baixo custo) para suportar uma equipe de ~800 pessoas envolvidas com o desenvolvimento de seus produtos de software. O CPqD Developer Suite, como ficou conhecido, consiste atualmente em ferramentas para controle de versão, revisão de código, gestão de tarefas e de projetos ágeis, modelagem, integração contínua, testes e qualidade de código . Nesta palestra mostraremos como as ferramentas estão integradas, como elas são utilizadas e como o CPqD se organizou internamente para garantir o suporte e a evolução da suíte.
4. CPqD Developer Suite
Um conjunto de ferramentas
● de software livre e de baixo-custo,
● de qualidade comprovada,
● líderes de mercado em suas categorias,
● integradas para propiciar o
● desenvolvimento eficiente de
● software de qualidade.
16. Modelagem UML
Diagrama de
Sequência
ESTRUTURAIS
Diagrama de
Caso de Uso
Diagrama de
Classe
Diagrama de
Colaboração
Diagrama de
Objeto
Modelos
Diagrama de
Estado
COMPORTAMENTAIS
Diagrama de
Componente
Diagrama de
Atividade
Diagrama de
Distribuição
25. “For those of you that have been living
under a rock, the single biggest change
in developers’ lives in the last decade is
Distributed Version Control.”
-- Joel Spolsky
http://www.joelonsoftware.com/items/2013/03/11.html
38. OK, a revisão de código ajuda a encontrar bugs
mais cedo. Mas ela não atrasa o processo de
desenvolvimento?
Sim. A revisão de código gasta aproximadamente
5% do tempo que se leva pra desenvolvê-lo.
5%, ok?
Só 5%, OK?!
49. Jenkins integrado ao CDS
AS
Repositorio de Artefatos
Construção
Automação de Teste
maven
egit
Qualidade
subversive
IDE
Integração Contínua
Gestão de Mudança
Controle de Versão
Revisão de Código
Controle de Versão
67. Inspeção contínua
●
Análise estática automatizada de código
○
○
●
Dezenas de métricas de qualidade
○
○
●
Disparada pelo Jenkins
Java, C/C++, C#, PHP, Javascript, XML, etc.
Complexidade, documentação, cobertura de testes, duplicação
de código, coding standards, etc.
Métrica fora dos limites aceitáveis quebra a build.
Apresentação multidimensional dos resultados
○
Hotspots, tendências, issue drilldown, timeline, etc.
73. Por que coletar métricas?
●
É preciso medir pra saber o que melhorar
○
Sonar is a quality profiler
●
É preciso medir pra poder convencer
●
“Teoria da Janela Quebrada”
●
“É melhor prevenir do que remediar”
●
Planejar e priorizar
●
Controlar o débito técnico