Gestão e Processos para Desenvolvimento de Software

1,044 views

Published on

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.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,044
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
53
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Gestão e Processos para Desenvolvimento de Software

  1. 1. AplicandoBoas práticasMetodologiasPor queProjetosfalham?Gestão e Processospara construçãode Software
  2. 2. Rafael AmaralAnalista 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: @rafaelamaralllFacebook: rafaelamaralllLinkedIn: @rafaelamaralllProfissionais TI: rafaelamaralllwww.rafaelamaral.com.br
  3. 3. DesafioOrçamentoPrazoCusto
  4. 4. DesafioQuanto vai custar???Quando fica pronto???O meu site cresceu, e por consequência, preciso obter mais informações dosmeus clientes por meio de uma página de contato de forma a aprimoraralgumas estratégias e conhecer mais o meu público alvo. Para isso, precisocriar uma simples página contendo um simples formulário de contato.A princípio, preciso saber do cliente os seguintes dados:NomeE-mailTelefoneEndereçoSexoMotivo do contatoGestão e Processos Rafael Amaral Pág. 4
  5. 5. DesafioNomeE-mailTelefoneEndereçoSexoMotivo contatoEnviarGestão e Processos Rafael Amaral Pág. 5
  6. 6. DesafioNomeE-mailTelefoneCEPRuaBairroCidadeEstadoMotivo do contatoEnviarPreencher de forma automática os campos de endereço após preenchido o CEP* Fields bloqueadosGestão e Processos Rafael Amaral Pág. 6
  7. 7. DesafioNomeE-mailTelefoneCEPRuaBairroCidadeEstadoMotivo do contatoEnviar* Tratamento de erros de preenchimento em tempo realcontatomeudominio.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
  8. 8. DesafioNomeE-mailTelefoneCEPRuaBairroCidadeEstadoMotivo do contatoEnviar(_ _) _ _ _ _ - _ _ _ _Máscara de preenchimentoLembrando que, telefones de São Paulo têm 9 dígitos e o sistema deverá reconhecerautomaticamente pelo preenchimento do CEP.Gestão e Processos Rafael Amaral Pág. 8* O CEP deverá ser preenchido primeiro?
  9. 9. ConclusãoO que podemos concluir?Gestão e Processos Rafael Amaral Pág. 9
  10. 10. ConclusãoO que podemos concluir?Gestão e Processos Rafael Amaral Pág. 10
  11. 11. ConclusãoDesenolvedorCliente- 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 pague3X?- Sua empresa e serviços são péssimos...Gestão e Processos Rafael Amaral Pág. 11
  12. 12. ConclusãoFizemos uma analogia utilizando como exemplo, um simples formulário decontato.Agora, imagine se o cliente pedisse para construir uma loja virtual.Gestão e Processos Rafael Amaral Pág. 12
  13. 13. Por que Projetos Falham?Clientenão sabeo que querMudanças derequisitosFalha decomunicaçãoEstimativasfantasiosas
  14. 14. Por que projetos falham?Gestão e Processos Rafael Amaral Pág. 14
  15. 15. Cliente não sabe o que quer...- Cliente NÃO sabe o que quer ou nem sempre consegue expressar o quepensa- E em muitos casos, explicam totalmente o contrário do que realmentequeriam 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. 16. - Você entendeu realmente o que seu cliente precisa? Como você validouisso?- E seu cliente, consegue entender quando você diz que as mensagens dosistema serão exibidas através de uma Janela Modal?Falha de comunicação...Gestão e Processos Rafael Amaral Pág. 16
  17. 17. Falha de comunicação...Dr. esse comprimidotem problema se tomarcom diarréia?Olha! Eu costumotomar com água, mas oSr. quem sabe!Gestão e Processos Rafael Amaral Pág. 17
  18. 18. Mudanças de requisitos...Seu Manuel,precisamos fazer umapequena mudança!Gestão e Processos Rafael Amaral Pág. 18
  19. 19. Estimativas fantasiosas...Gasto cerca de20 minutos de casa ao trabalho...Gestão e Processos Rafael Amaral Pág. 19
  20. 20. Estimativas fantasiosas...Será?!Gestão e Processos Rafael Amaral Pág. 20
  21. 21. Produtos fora de conformidadeGestão e Processos Rafael Amaral Pág. 21
  22. 22. Produtos sem aceitação ao usuário finalGestão e Processos Rafael Amaral Pág. 22Vamos construir um software para um contador...
  23. 23. Produtos sem aceitação ao usuário finalGestão e Processos Rafael Amaral Pág. 23
  24. 24. Conclusão- Não é complicado programar, é complicado desenvolver uma solução queautomatize as tarefas do usuário final- A TI deve ser o braço direito das demais áreas dentro da organização nãouma pedra de tropeço- É preciso planejar- Criar procedimentos- Investir tempo em construir modelos e processos- Validar modelos e processosGestão e Processos Rafael Amaral Pág. 24
  25. 25. Processos de SoftwareCMMIRUPScrum
  26. 26. IntroduçãoA utilização de um processo de software têm sido apontada como um fatorprimordial 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 ospadrões requeridos, o resultado desejado é produzido. O resultado desejado éum software de alta qualidade e baixo custo. Obviamente , um processo quenão aumenta a produção (não suporta projetos de software grandes) ou nãopode produzir software com boa qualidade não é um processo adequado.’’JaloteGestão e Processos Rafael Amaral Pág. 26
  27. 27. Razões- Qualidade do software (Custo, Escopo e Tempo)Gestão e Processos Rafael Amaral Pág. 27
  28. 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çãoGestão e Processos Rafael Amaral Pág. 28
  29. 29. Modelos de Processos de Software- CMMI- RUP- XP- Scrum- Etc.Gestão e Processos Rafael Amaral Pág. 29
  30. 30. Aplicando ‘‘Boas Práticas’’Um poucodaquiUm bocadodeste...
  31. 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 projetoGestão e Processos Rafael Amaral Pág. 31
  32. 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á feedbackGestão e Processos Rafael Amaral Pág. 32
  33. 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 diferentesGestão e Processos Rafael Amaral Pág. 33
  34. 34. Requisitos- Colete requisitos (as necessidades) do seu cliente- Reuniões formais/ não formais- Conversas face a face- Brainstorm- ObservaçãoComo coletar?Gestão e Processos Rafael Amaral Pág. 34
  35. 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 entendimentoPrimeiro...Com isso, você...E, por fim...Gestão e Processos Rafael Amaral Pág. 35
  36. 36. Ponto de partidaA 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 projetoGestão e Processos Rafael Amaral Pág. 36
  37. 37. Planeje seus passos- Crie um canal de comunicação com o cliente de fácil entendimento e acessopara ele- Crie um passo a passo das atividades de entregas do projeto (EAP)- Para cada atividade da EAP, verifique os recursos que precisará (e suadisponibilidade) 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 projetoNão se esqueça de:Gestão e Processos Rafael Amaral Pág. 37
  38. 38. Pintar uma salaPrepararmateriaisPrepararsalaPintarsalaLimparsalaŸ Comprar tintaŸ Comprar escadaŸ Comprar rolosŸ Comprar removedor depapel de parede1.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 1Nível 2Nível 3Nível 4Gestão e Processos Rafael Amaral Pág. 38EAP (Estrutura Analítica do Projeto)
  39. 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árioProjeto aceito?SIM- Crie Casos de TestesNÃO- Anote as mudanças- Revise a documentação e os modelos de diagramas (RTF)- Refaça o protótipoGestão e Processos Rafael Amaral Pág. 39
  40. 40. Desenvolva com qualidadeOutras pessoas poderão utilizar/reaproveitar seu código, então, mantenha umpadrão e sensibilidade ao criar variáveis, métodos, funções e principalmente ocuidado 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 parLembre-se...Gestão e Processos Rafael Amaral Pág. 40
  41. 41. Desenvolva com qualidadeOlhe a cara de quem não identa o código!Gestão e Processos Rafael Amaral Pág. 41
  42. 42. Desenvolvendo...Precisa se concentrar, sim. Porém, não se isole!Gestão e Processos Rafael Amaral Pág. 42
  43. 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. 44. Feedback- Mantenha os stakeholders a par do projetoGestão e Processos Rafael Amaral Pág. 44
  45. 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 RTFGestão e Processos Rafael Amaral Pág. 45
  46. 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çãoGestão e Processos Rafael Amaral Pág. 46
  47. 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 sistemacerto, 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 melhoressoluções tecnológicas, mas sim em mudar a cultura de uma empresa.Rafael AmaralGestão e Processos Rafael Amaral Pág. 47
  48. 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 sistemacerto, 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 melhoressoluções tecnológicas, mas sim em mudar a cultura de uma empresa.Rafael AmaralGestão e Processos Rafael Amaral Pág. 48
  49. 49. Gestão e Processos Rafael Amaral Pág. 49
  50. 50. Rafael AmaralAnalista de Sistemas / PSM ITwitter: @rafaelamaralllFacebook: rafaelamaralllLinkedIn: @rafaelamaralllProfissionais TI: rafaelamaralllwww.rafaelamaral.com.br

×