Java Programação para Fábrica de Software. Fernando Lozano Consultor 4Linux lozano@4linux.com.br

Documentos relacionados
Analista de Negócio Pleno

Formando Desenvolvedores Efetivos. Fernando Lozano Arquiteto de Soluções 4Linux

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

Desenvolvendo Software Livre com Programação extrema

CPqD Developer Suite WAMPS outubro/2010

Desktop em minutos com genesis, Matisse, Java WebStart e JSR-296

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

SCRUM Discussão e reflexão sobre Agilidade. Fernando Wanderley

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

5. Métodos ágeis de desenvolvimento de software

Manual de Procedimentos para Desenvolvimento de Softwares

Gestão de Modificações. Fabrício de Sousa

Jonas de Souza H2W SYSTEMS

Introdução a Métodos Ágeis de Desenvolvimento de Software

Oportunidades em SP. Experiência no mercado financeiro / instituições bancárias / produtos de tesouraria.

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Como contribuir com projetos de software livre

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Como contribuir com projetos de software livre

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

UM CASE DE IMPLANTAÇÃO DA GERÊNCIA DE CONFIGURAÇÃO E MUDANÇA (NÍVEL F) DO MPS.BR UTILIZANDO PADRÕES ABERTO PARA O DESENVOLVIMENTO CORPORATIVO

JVM s Livres. Paloma Costa. javawoman@portaljava.com.br

Tuning de Servidores de Aplicação Java EE

Plataforma Open Source de Desenvolvimento e Sustentação de Sistemas. Daniel Darlen Lucius Curado Ridai Pombo

Gestão Ágil de Requisitos e Scrum

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Trilha Agile TDD e 20 coisas que você precisa saber

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Modelo V e a Qualidade de Software Wall Street institute

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

RESULTADOS PRÁTICOS DO USO DE INTEGRAÇÃO CONTÍNUA COM O JENKINS. Emerson Cordeiro Vieira. emerson@7comm.com.br

Gerência de Configuração. Profº Rômulo César

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

Gerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia

Sobre a Prime Control

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

OPORTUNIDADES CWI: Analista de Sistemas

PMBOK e Cobit - Uma Experiência na Reformulação de Sistemas em Angola Marcelo Etcheverry Torres,PMP,Cobit)

Desenvolvendo aplicações desktop em Java: presente e futuro

o desenvolvimento, o crescimento e a disseminação moral, honestidade e cooperação real transparência, alta qualidade e preços justos

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br

Sistemas de Informação I

Projetos Corporativos Baseados na Tecnologia Java Que Falham: O Que Podemos Aprender Deles?

ATO Nº 91/2015/GP/TRT 19ª, DE 1º DE JUNHO DE 2015

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO

Demoiselle Framework. Palestrante: Flávio Gomes da Silva Lisboa JUN/2009

Retorno de Investimento em Testes. Robert Pereira Pinto

Fábrica de Software 29/04/2015

PROJETO DE FÁBRICA DE SOFTWARE

Área de Desenvolvimento de Novos Projetos

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

ANEXO 06 AMBIENTE PROCERGS. Desenvolvimento / Testes / Homologação / Produção

Desenvolvimento de um aplicativo básico usando o Google Android

ENGENHARIA DE SOFTWARE I

COLABORANDO COM O GNOME Aprendendo os primeiros passos de como colaborar com o projeto GNOME

Academia de Software Pró Informática

Integração Contínua com Rational Team Concert, Jenkins e SonarQube

Guilherme Augusto de Assis

Quem estiver interessado favor mandar currículo para As vagas são as seguintes: *Analista de BI (2 vagas)*

Prof. Me. Marcos Echevarria

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

CBSOFT Praticando os princípios ágeis nas atividades de teste em projetos de aplicativos móveis"

Katia Werneck

Ferramentas de planejamento e acompanhamento

PROJETOS E SERVIÇOS ESPECIAIS

Grails: o que isso quer dizer? Gilliard Cordeiro

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Métodos Ágeis e Gestão de Dados Moderna

Com metodologias de desenvolvimento

Relatorio de Estágio

As Novas Profissões em Computação. Integrantes Eder Leão Leonardo Jorente Rafael Stéfano Vinícius Akihiro Kuwabara

Controle de Versão de Software. Luiz Jácome Júnior

Oportunidades 30/05/2014

Segurança de Aplicações Aula 6

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

ACOMPANHAMENTO GERENCIAL SANKHYA

Projetos Ágeis aplicados a TI. Júlio Cesar da Silva Msc.

A PRIMMER possui casos importantes nesta área. Venha compartilhar conosco desta experiência magnífica no mundo das metodologias ágeis.

GTI Gestão Tecnologia Da Informação. Analisador de logs

Desenvolvimento Ágil de Software

Um relato dos desafios encontrados e dos benefícios conseguidos com a implantação das práticas propostas pelo nível F do modelo de referência de

Os IDE s (Ambientes de Desenvolvimento Integrado) como ferramentas de trabalho em informática

Grupo LWART: Case de migração JDE 9.0

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Inovação na utilização de Método Ágil aderente ao CMMI. Palestrante: Anderson Donas, PMP, CFPS Consultor Sênior - DISYS

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Estudo de Caso. Cliente: Rafael Marques. Coach: Rodrigo Santiago. Duração do processo: 12 meses

MINISTÉRIO DA JUSTIÇA SECRETARIA DE ASSUNTOS LEGISLATIVOS - EDITAL PROCESSO SELETIVO SIMPLIFICADO 11/2014

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

Jonas de Souza H2W SYSTEMS

Programação Orientada a Testes Rodrigo Rebouças de Almeida


Transcrição:

Java Programação para Fábrica de Software Fernando Lozano Consultor 4Linux lozano@4linux.com.br

Quem É o Lozano? Atua há mais de 15 anos em TI Consultoria para Amsterdam Sauer, Banco Bovorantim, Bob's, Caixa, Compra Fácil, Exército, Golden Cross, Marinha, Wet'n'Wild Ex-professor da UFLA, SENAC, Estácio de Sá e UniAbeu Ex-colunista da Java Magazine e colaborador do IBM Developer's Works Palestrante no JustJava, CONISLI, FISLI, Latinoware e JavaOne

3 Agenda Java na faculdade x Java no mercado Desenvolvimento terceirizado em fábricas de software (FSW) Trabalho em Equipe e Controle de Qualidade Metodologias Ágeis (Scrum, XP, Lean, etc) no mundo Java Sistemas de Controle de Versão e de Acompanhamento de Incidentes / Bugs

4 Java na Faculdade x Java no Mercado

5 Java na Faculdade Linguagem de programação Teoria de orientação a objetos IDE Eclipse ou NetBeans para compilar e depurar aplicações passo-a-passo Aplicações gráficas (Swing) Aplicações novas, pequenas, feitas por você sozinho Roda só uma vez (mostrar ao professor)

6 Java no Mercado Java EE: computação web e enterprise GRANDES sistemas críticos Frameworks: Hibernate, Struts, Spring Sistemas de controle de versão, requisitos, timesheet, bugs, testes, etc Desenvolvimento em equipes multidisplinares Manutenção e integração de aplicações antigas

7 Formação Profissional Sua faculdade realmente ensinou o Java que o mercado demanda? Ou você teve que correr por fora?

8 Desenvolvimento em Fábrica de Software Grandes empresas preferem não ter (exclusivamente) seus próprios funcionários desenvolvendo sistemas Além dos pacotes prontos, a maior parte do desenvolvimento customizado é terceirizado Fábricas de Software (FSW) são empresas especializadas em desenvolver sob encomenda para grandes empresas

9 Desenvolvimento In-House x Terceirizado Comunicação informal de requisitos Formalização de modelos e casos de uso Entrega quando pronto Prazos de entrega pré-defindos Donos de projetos e sistemas Cada um trabalha onde for necessário Desenvolvedor faztudo Desenvolvedores especializados em tecnologias específicas

10 Formação Profissional Você aprendeu na faculdade como trabalhar com programas escritos por outros? Você teve que trabalhar, durante a faculdade, em um ambiente formal e controlado?

11 Trabalho em Equipe Como uma FSW acompanha o trabalho e produtividade de cada programador? Como as tarefas são divididas entre os programadores disponíveis Como impedir que um programador perca tempo testando, corrigindo ou evoluindo a versão errada do código? Como impedir que um programador mele o trabalho do outro?

12 Controle de Qualidade Como a FSW garante que os pedaços de um mesmo sistema, desenvolvidos por diferentes programadores, funcionem juntos? Como a FSW verifica que está entregando o que o cliente contratou? Como a FSW verifica que o sistema tem a performance, segurança, etc que o cliente demandou?

13 Formação Profissional Você realmente teve que trabalhar em equipe, na faculdade? Seus trabalhos na faculdade tinham que fazer algo além de funcionar? O funcionamento dos seus trabalhos foi realmente avalidado pelo seu professor? Você teve que aprefeiçoar seus trabalhos?

14 Metodologias de Desenvolvimento Responder às questões de trabalho em equipe e controle de qualidade em software é a rasão de existirem metodologias de desenvolvimento Só que tradicionalmente as metodologias eram focadas na documentação e não no resultado final, que é o sistema executável e seus fontes Java

15 Metodologias Ágeis Incorporam princípios de qualidade e otimização industriais japoneses ao desenvolvimento de software Foco na interação entre pessoas, nas contribuições concretas ao resultado final e em automação Não eliminam documentação e burocracia, apenas focam elas para que atinjam resultados concretos!

16 Metodologias Ágeis com Java Parcialmente embutidas nos IDEs modernos, como o Eclipse Mas não basta o IDE, é necessário incorporar também ferramentas para: Automação Ant, Maven Test-Driven Development JUnit, DBUnit, Selenium, JMeter, Hudson Análise de código JDepends, PMD

17 O Mínimo Para Um Processo de Desenvolvimento Seja adotado um processo ágil (Scrum, XP) ou tradicional (RUP) há um conjunto mínimo de ferramentas para o trabalho em equipe e controle de qualidade de software: Sistemas de Controle de Versões Sistemas de Acompanhamento de Incidentes, Requisições e Bugs

18 Sistemas de Controle de Versões Repositório central de código-fonte Registram quem fez o que e quando Permitem voltar a uma situação anterior que era estável Permitem linhas paralelas de desenvolvimento: evolução e correção Exemplos: CVS, Subversion, GIT

19 Sistemas de Acompanhamento Registram demandas por novas funcionalidades e correção de erros Permitem priorizar pendências e acompanhar dependências entre demandas Controlam fluxo de demanda / estimativa / aprovação / execução / validação Exemplos: Bugzilla, Trac, Mantis, RT

20 Fluxo Simplificado da Fábrica de Software Eu quero! Acompanhamento Acompanhamento De De Chamados Chamados Quem pediu? Usuário Eu faço! Pronto! Controle Controle de de Versões Versões Quem fez? Desenvolvedor Gerente

21 Programador Java em FSW É parte de uma equipe, atuando em um pedaço de um sistema, que ele possivelmente não viu desde o início e nem conhece em sua totalidade Lida com várias APIs, frameworks e tecnologias Java EE nada a ver com desenvolvimento gŕafico ou GUI Seu trabalho é controlado por sistemas de Acompanhamento de Requisições e Controle de Versões

22 Obrigado lozano@4linux.com.br www.4linux.com.br