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.
2. Rafael Amaral
Analista de Sistemas / PSM I
- Professional Scrum Master I
- Conhecimentos em metodologias de desenvolvimento de software: SCRUM, Kanban, RUPe 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 PHPe 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: EnterpriseArchitect,Axure, MS Project, Dreamweaver, Fireworks, Coreldraw, Photoshop.
Twitter: @rafaelamaralll
Facebook: rafaelamaralll
LinkedIn: @rafaelamaralll
Profissionais TI: rafaelamaralll
www.rafaelamaral.com.br
4. 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:
Nome
E-mail
Telefone
Endereço
Sexo
Motivo do contato
Gestão e Processos Rafael Amaral Pág. 4
11. 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
12. 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
13. Por que Projetos Falham?
Cliente
não sabe
o que quer
Mudanças de
requisitos
Falha de
comunicação
Estimativas
fantasiosas
14. Por que projetos falham?
Gestão e Processos Rafael Amaral Pág. 14
15. 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
16. - 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
17. 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
18. Mudanças de requisitos...
Seu Manuel,
precisamos fazer uma
pequena mudança!
Gestão e Processos Rafael Amaral Pág. 18
24. 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
26. 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
27. Razões
- Qualidade do software (Custo, Escopo e Tempo)
Gestão e Processos Rafael Amaral Pág. 27
28. 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
29. Modelos de Processos de Software
- CMMI
- RUP
- XP
- Scrum
- Etc.
Gestão e Processos Rafael Amaral Pág. 29
31. 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
32. 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
33. 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
34. 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
35. 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
36. 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
37. 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
38. Pintar uma sala
Preparar
materiais
Preparar
sala
Pintar
sala
Limpar
sala
Ÿ 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)
39. 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
40. 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
43. 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
44. Feedback
- Mantenha os stakeholders a par do projeto
Gestão e Processos Rafael Amaral Pág. 44
45. 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
46. 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
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. 47
48. 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