Upload
rafael-amaral
View
397
Download
3
Embed Size (px)
DESCRIPTION
Minha palestra para o curso Técnico em Informática Pronatec em Santos Dumond/MG, onde falei sobre falhas durante a construção de software e exemplifiquei algumas boas práticas (técnicas) para se fazer um processo de software.
Citation preview
Aplicando
Boas práticas
Metodologias
Por que Projetos
falham?
Gestão e Processospara construção
de Software
Rafael AmaralAnalista de Sistemas / PSM I
- Professional Scrum Master I
- Conhecimentos em metodologias de desenvolvimento de software: SCRUM, Kanban, RUP e CMMI;
- Experiência em Análise de Sistemas e Gestão de Projetos - implementação de Processos de Software, Especificação de Sistemas (Casos de Uso, Levantamento de Requisitos, Padrões de Desenvolvimento, etc);
- Programador PHP e VB.Net;
- Experiente em modelagem de banco de dados;
- Sólidos conhecimentos em POO, CakePHP, Arquitetura MVC, SQL, Ajax, JavaScript, jQuery, CSS, SEO, UML, MySql e Postgres;
- Ferramental: Enterprise Architect, Axure, MS Project, Dreamweaver, Fireworks, Coreldraw, Photoshop.
Twitter: @rafaelamaralllFacebook: rafaelamaralllLinkedIn: @rafaelamaralllProfissionais TI: rafaelamaralll
www.rafaelamaral.com.br
Desafio
Orçamento
Prazo
Custo
Desafio
Quanto vai custar???Quando fica pronto???
O meu site cresceu, e por consequência, preciso obter mais informações dos
meus clientes por meio de uma página de contato de forma a aprimorar algumas estratégias e conhecer mais o meu público alvo. Para isso, preciso
criar uma simples página contendo um simples formulário de contato.A princípio, preciso saber do cliente os seguintes dados:
NomeE-mailTelefoneEndereçoSexo
Motivo do contato
Gestão e Processos Rafael Amaral Pág. 4
Desafio
Nome
Telefone
Endereço
Sexo
Motivo contato
Enviar
Gestão e Processos Rafael Amaral Pág. 5
Desafio
Nome
Telefone
CEP
Rua
Bairro
Cidade
Estado
Motivo do contato
Enviar
Preencher de forma automática os campos de endereço após preenchido o CEP
* Fields bloqueados
Gestão e Processos Rafael Amaral Pág. 6
Desafio
Nome
Telefone
CEP
Rua
Bairro
Cidade
Estado
Motivo do contato
Enviar
* Tratamento de erros de preenchimento em tempo real
contatomeudominio.com.br
* Este campo é de preenchimento obrigatório.
* Verifique se você digitou um e-mail válido.
Gestão e Processos Rafael Amaral Pág. 7
Desafio
Nome
Telefone
CEP
Rua
Bairro
Cidade
Estado
Motivo do contato
Enviar
(_ _) _ _ _ _ - _ _ _ _
Máscara de preenchimento
Lembrando que, telefones de São Paulo têm 9 dígitos e o sistema deverá reconhecer automaticamente pelo preenchimento do CEP.
Gestão e Processos Rafael Amaral Pág. 8
* O CEP deverá ser preenchido primeiro?
Conclusão
O que podemos concluir?
Gestão e Processos Rafael Amaral Pág. 9
Conclusão
O que podemos concluir?
Gestão e Processos Rafael Amaral Pág. 10
Conclusão
Desenolvedor
Cliente
- Fechamos um valor fixo no início da negociação, e agora?
- Quem vai levar o prejuízo?
- O cliente não soube explicar ao certo o que queria..- O cliente disse que seria um SIMPLES formulário...
- Vocês cobraram X para construir meu projeto e agora quer que eu pague 3X?- Sua empresa e serviços são péssimos...
Gestão e Processos Rafael Amaral Pág. 11
Conclusão
Fizemos uma analogia utilizando como exemplo, um simples formulário de
contato.
Agora, imagine se o cliente pedisse para construir uma loja virtual.
Gestão e Processos Rafael Amaral Pág. 12
Por que Projetos Falham?
Cliente
não sabe
o que quer
Mudanças de
requisitos
Falha de
comunicação
Estimativas
fantasiosas
Por que projetos falham?
Gestão e Processos Rafael Amaral Pág. 14
Cliente não sabe o que quer...
- Cliente NÃO sabe o que quer ou nem sempre consegue expressar o que
pensa
- E em muitos casos, explicam totalmente o contrário do que realmente queriam explicar
- Falta de conhecimento de tendências- Falta de sensibilidade
- Falta de conhecimento técnico- Conhecimento de mundos diferentes...
Motivos:
Gestão e Processos Rafael Amaral Pág. 15
- Você entendeu realmente o que seu cliente precisa? Como você validou
isso?
- E seu cliente, consegue entender quando você diz que as mensagens do
sistema serão exibidas através de uma Janela Modal?
Falha de comunicação...
Gestão e Processos Rafael Amaral Pág. 16
Falha de comunicação...
Dr. esse comprimido
tem problema se tomar
com diarréia?
Olha! Eu costumo
tomar com água, mas o
Sr. quem sabe!
Gestão e Processos Rafael Amaral Pág. 17
Mudanças de requisitos...
Seu Manuel,
precisamos fazer uma
pequena mudança!
Gestão e Processos Rafael Amaral Pág. 18
Estimativas fantasiosas...
Gasto cerca de 20 minutos de casa ao trabalho...
Gestão e Processos Rafael Amaral Pág. 19
Estimativas fantasiosas...
Será?!
Gestão e Processos Rafael Amaral Pág. 20
Produtos fora de conformidade
Gestão e Processos Rafael Amaral Pág. 21
Produtos sem aceitação ao usuário final
Gestão e Processos Rafael Amaral Pág. 22
Vamos construir um software para um contador...
Produtos sem aceitação ao usuário final
Gestão e Processos Rafael Amaral Pág. 23
Conclusão
- Não é complicado programar, é complicado desenvolver uma solução que
automatize as tarefas do usuário final- A TI deve ser o braço direito das demais áreas dentro da organização não
uma pedra de tropeço
- É preciso planejar
- Criar procedimentos- Investir tempo em construir modelos e processos
- Validar modelos e processos
Gestão e Processos Rafael Amaral Pág. 24
Processos de Software
CMMI
RUP
Scrum
Introdução
A utilização de um processo de software têm sido apontada como um fator
primordial para o sucesso de empresas de desenvolvimento de software.
‘’é um conjunto de atividades, ligadas por padrões de relacionamento entre ela, pelas quais se as atividades operarem corretamente e de acordo com os
padrões requeridos, o resultado desejado é produzido. O resultado desejado é
um software de alta qualidade e baixo custo. Obviamente , um processo que não aumenta a produção (não suporta projetos de software grandes) ou não
pode produzir software com boa qualidade não é um processo adequado.’’Jalote
Gestão e Processos Rafael Amaral Pág. 26
Razões
- Qualidade do software (Custo, Escopo e Tempo)
Gestão e Processos Rafael Amaral Pág. 27
Atividades do Processo de Software
- Especificação
- Análise de Requisitos
- Especificação de Sistema
- Projeto
- Modelo conceitual- Projeto de Interface
- Implementação
- Codificação
- Validação
- Testes
- Manutenção e Evolução
Gestão e Processos Rafael Amaral Pág. 28
Modelos de Processos de Software
- CMMI
- RUP
- XP
- Scrum
- Etc.
Gestão e Processos Rafael Amaral Pág. 29
Aplicando ‘‘Boas Práticas’’
Um pouco
daqui
Um bocado
deste...
Escopo do produto
- O que vai ser construído?
- Braimstorm- Defina os limites do projeto:
- O que está dentro e o que está fora do projeto
Gestão e Processos Rafael Amaral Pág. 31
Defina seu Stakeholder
- Identifique quem responderá pelo projeto
- Quem fornecerá os requisitos- Quem tem o conhecimento de domínio
- Quem é o patrocinador- Quem receberá feedback
Gestão e Processos Rafael Amaral Pág. 32
Defina seu Stakeholder
- Tome cuidado quando se tem vários fornecedores de requisitos...
Especialistas de domínio ou alta gestão:
- Têm visão diferente - Explicam diferente- Pedem de formas diferentes
Gestão e Processos Rafael Amaral Pág. 33
Requisitos
- Colete requisitos (as necessidades) do seu cliente
- Reuniões formais/ não formais- Conversas face a face
- Brainstorm- Observação
Como coletar?
Gestão e Processos Rafael Amaral Pág. 34
Casos de Uso
- Comece com o que tem e crie cenários
- Desenhe diagramas (se necessário)
- Descobre novas informações
- Descobre requisitos escondidos
- Valide seu entendimento
Primeiro...
Com isso, você...
E, por fim...
Gestão e Processos Rafael Amaral Pág. 35
Ponto de partida
A esta altura, você já terá uma ideia:
- do que será construído
- do que precisará fazer para construir
- do tempo que precisará para construir- custos do projeto
Gestão e Processos Rafael Amaral Pág. 36
Planeje seus passos
- Crie um canal de comunicação com o cliente de fácil entendimento e acesso
para ele
- Crie um passo a passo das atividades de entregas do projeto (EAP)
- Para cada atividade da EAP, verifique os recursos que precisará (e sua disponibilidade) para concluir a mesma
- Crie um plano para que este recurso esteja disponível
- Defina prazos de conclusão das atividades da EAP
- Criar uma linguagem (termologia) comum entre você e o cliente (comunicação)
- Fazer uma breve documentação- Criar diagramas de alto nível
- Elaborar contratos (se achar necessário)- Envolver o cliente no projeto
Não se esqueça de:
Gestão e Processos Rafael Amaral Pág. 37
Pintar uma sala
Prepararmateriais
Prepararsala
Pintarsala
Limparsala
Ÿ Comprar tintaŸ Comprar escadaŸ Comprar rolosŸ Comprar removedor de
papel de parede
1.
1.1.
1.2.1. 1.2.2.
1.2.2.1. 1.2.2.2. 1.2.2.3.
1.2. 1.3. 1.4.
Nível 1
Nível 2
Nível 3
Nível 4
Gestão e Processos Rafael Amaral Pág. 38
EAP (Estrutura Analítica do Projeto)
Prototipação
- Antes de pisar fundo no acelerador, crie protótipos de telas...
- Simule as principais funcionalidades e a suas interações com o usuário
Projeto aceito?
SIM
- Crie Casos de Testes
NÃO
- Anote as mudanças- Revise a documentação e os modelos de diagramas (RTF)
- Refaça o protótipo
Gestão e Processos Rafael Amaral Pág. 39
Desenvolva com qualidade
Outras pessoas poderão utilizar/reaproveitar seu código, então, mantenha um padrão e sensibilidade ao criar variáveis, métodos, funções e principalmente o
cuidado ao documentar seu código.
- Codifique com qualidade
- Crie variáveis e/ou álias que caracterizam o contexto- Idente seu código
- Faça bons comentários
- Programe em par
Lembre-se...
Gestão e Processos Rafael Amaral Pág. 40
Desenvolva com qualidade
Olhe a cara de quem não identa o código!
Gestão e Processos Rafael Amaral Pág. 41
Desenvolvendo...
Precisa se concentrar, sim. Porém, não se isole!
Gestão e Processos Rafael Amaral Pág. 42
Feedback
- Desenvolva mas não se isole do mundo, principalmente do seu cliente!
- Mantenha o cliente a par do projeto- Mantenha um histórico das conversas
- Peça-lhe feedbacks
- Tire dúvidas constantemente (mesmo que elas sejam óbvias/absurdas)
Gestão e Processos Rafael Amaral Pág. 43
Feedback
- Mantenha os stakeholders a par do projeto
Gestão e Processos Rafael Amaral Pág. 44
Quase lá...
- Faça testes do que estiver pronto
- Valide o que você desenvolveu com o que o cliente pediu (documentação)- Faça uma RTF
Gestão e Processos Rafael Amaral Pág. 45
Fase pronta!
- Forneça o que está pronto ao cliente
- Valide o que você desenvolveu com o que combinou com ele- Faça Testes de Aceitação
- Crie um termo de aceitação
Gestão e Processos Rafael Amaral Pág. 46
Lembre-se
- Seu cliente é usuário e seu usuário é seu cliente
- Faça uma aplicação que alguém irá utilizar (usabilidade)
Um dos maiores desafios no desenvolvimento é o da construção do sistema certo, que preencha as necessidades dos usuários a um preço razoável.
O grande desafio do analista não se limita apenas em implementar melhores soluções tecnológicas, mas sim em mudar a cultura de uma empresa.
Rafael Amaral
Gestão e Processos Rafael Amaral Pág. 47
Lembre-se
- Seu cliente é usuário e seu usuário é seu cliente
- Faça uma aplicação que alguém irá utilizar (usabilidade)
Um dos maiores desafios no desenvolvimento é o da construção do sistema certo, que preencha as necessidades dos usuários a um preço razoável.
O grande desafio do analista não se limita apenas em implementar melhores soluções tecnológicas, mas sim em mudar a cultura de uma empresa.
Rafael Amaral
Gestão e Processos Rafael Amaral Pág. 48
Gestão e Processos Rafael Amaral Pág. 49
Rafael AmaralAnalista de Sistemas / PSM I
Twitter: @rafaelamaralllFacebook: rafaelamaralllLinkedIn: @rafaelamaralllProfissionais TI: rafaelamaralll
www.rafaelamaral.com.br