242 dicas de engenharia de software e gestão - Blog CMMI & MPS.Br

242 dicas de engenharia de software e gestão

By on July 10, 2011

Olá pessoal, a lista abaixo ajudará as empresas que estão ou não em um programa de melhoria de processos como CMMI ou MPS.Br. Implementando-as com certeza sua empresa ficará mais competitiva e estará mais aderente ao CMMI e MPS.Br.

    Dicas gerais

  1. A alta direção deve patrocinar as iniciativas de engenharia de software e gestão
  2. A organização deve ter um grupo de engenharia de software estruturado (EPG)
  3. A organização deve ter um grupo de garantia de qualidade do processo (PPQA)
  4. Analistas de garantia da qualidade do processo são excelentes aceleradores para programas de melhoria de processos de software
  5. Defina um mecanismo online para que todos tenham acesso aos ativos (processos, templates, guias, etc) de software
  6. Tenha políticas (engenharia de software e gestão) para nortear o desenvolvimento
  7. Defina processos que foquem no atendimento dos objetivos de negócio
  8. Garanta (e documente) que recursos e fundos foram providos
  9. Estabeleça um Ciclo de Vida de Desenvolvimento de Software
  10. Tenha critérios definidos para adaptações no Ciclo de Vida do Projeto
  11. Se aplicável ao seu negócio, tenha (ou utilize) uma estrutura de fábrica
  12. Capacite seus gerentes de projeto nas práticas do PMI e nas áreas de processo do CMMI relacionadas à Planejamento, Acompanhamento, Gerenciamento
  13. Integrado e Gerenciamento de Riscos
  14. Estruture um framework de processos
  15. Defina responsabilidades e forneça autoridade aos envolvidos
  16. Treine todos os envolvidos
  17. Se possível tenha uma estrutura de coaching para agilizar a curva de aprendizagem
  18. Obtenha aprovação formal dos produtos e serviços
  19. Capacite a organização em modelos como CMMI ou MPS.Br
  20. Considere o CMMI para Serviços se sua empresa foca em outsourcing, sustentação ou integração de serviços
  21. Considere o CMMI para Aquisições se sua empresa compra muito serviços de software
  22. Gestão de configuração

  23. Planeje quais produtos serão mantidos em controle de configuração
  24. Planeje as datas que os produtos serão colocados em baseline
  25. Tenha ambientes distintos para trabalho e baseline
  26. O acesso às informações do projeto deve ser liberado apenas aos membros do mesmo
  27. O acesso ao baseline deve ser de exclusividade do gerente de configuração
  28. Faça auditorias independentes no ambiente de configuração para garantir que o processo esta sendo seguido
  29. Documente todas as alterações nos produtos em baseline
  30. Somente realize manutenções nas versões homologadas
  31. Medição e análise
  32. Utilize indicadores de mercado
  33. Cada processo deve ter pelo menos um indicador que demonstre seu desempenho
  34. Defina de onde os dados vêm
  35. Os indicadores devem estar alinhados aos objetivos de negócio
  36. Defina os objetivos do projeto
  37. Defina os objetivos organizacionais
  38. Os dados devem ter uma e somente uma fonte (pegar um determinado dado em duas fontes pode fazer com que o mesmo tenha dois valores diferentes)
  39. Estabeleça um bom mecanismo de coleta e armazenamento de medições
  40. Analise periodicamente os resultados das medições
  41. Divulgue os resultados de medições
  42. Independente de você ter um controle interno sobre os números, os dados que valem são os das fontes definidas pela organização
  43. Garantia de qualidade de processo e produto

  44. Utilize checklists
  45. Planeje as atividades de PPQA
  46. A área de PPQA deve impreterivelmente ser independente
  47. Crie mecanismos para escalonamento dos desvios não resolvidos
  48. Crie indicadores de qualidade baseado nos resultados de PPQA
  49. Avalie se o processo esta sendo seguido (ele deve ser seguido sempre)
  50. Avalie a qualidade dos produtos desenvolvidos
  51. A área de garantia da qualidade de processo e produto deve sempre fornecer visibilidade sobre o desempenho do projeto à alta direção
  52. Programe auditorias periódicas independentes na área de garantia de qualidade
  53. Lembre-se de auditar também as atividades organizacionais, pré-projetos, orçamentos, projetos de melhoria e outros tipos de serviços que sejam escopo da unidade organizacional
  54. Gerenciamento de requisitos

  55. Entenda o que deve ser feito no projeto – quais são seus requisitos
  56. Lembre-se que o escopo deve ser gerenciado
  57. Estabeleça critérios para aceitação dos produtos e serviços (o combinado não sai caro)
  58. Estime tudo – cada fase, atividade, produto, etc.
  59. Preferencialmente quem deve aprovar um produto ou serviço deve ser a mesma pessoa que passou suas definições
  60. Tenha a rastreabilidade total dos requisitos
  61. Elabore e utilize sempre o cronograma
  62. Peça para as pessoas lhe falaram o que entenderam que deve ser feito – você verá que nem sempre o que é óbvio para você é óbvio para os outros
  63. Tão importante quanto definir o que é escopo, é importante também dizer o que não é escopo
  64. Lembre-se de documentar tudo – você verá a diferença de ter a documentação principalmente em eventos críticos
  65. Mantenha o histórico dos requisitos, alterações, versões, enfim, utilize bem seu controle de configuração
  66. Sempre, sempre mesmo comunique a equipe de mudanças
  67. Planeje como cada requisitos será atendido
  68. Em momento de planejamento defina datas para levantamento de cada um dos requisitos
  69. Tome medidas corretivas sempre que houver inconsistências em requisitos
  70. Gerenciamento de acordos com fornecedores

  71. Defina um processo para seleção de fornecedores
  72. Tenha um processo para gerenciamento de fornecedores
  73. Mantenha uma base de fornecedores com dados de desempenho
  74. Crie critérios para aquisições
  75. Tenha SLA’s estabelecidos para projetos e serviços
  76. Selecione seus fornecedores com base em critérios pré-estabelecidos
  77. Mantenha dados históricos de como foi o processo de seleção de um determinado fornecedor
  78. Mantenha dados históricos de como foi o desempenho de seus fornecedores em seus últimos serviços
  79. Monitore o desempenho dos serviços de seus fornecedores
  80. Tenha contratos formais
  81. Planejamento de projeto

  82. Estime tudo nos projetos
  83. Elabore a EAP do seu projeto e utilize-a durante todo o ciclo do mesmo
  84. Obtenha aprovações formais
  85. Utilize dados históricos para as estimativas
  86. Formalize o entendimento do escopo por ambas as partes
  87. Deixe claro à todos o que será entregue
  88. Em grandes projetos uma boa prática é dividir o projeto em partes menores (sub-projetos)
  89. Desenvolva o cronograma do projeto e divulgue-o à equipe
  90. Documente toda atividade a ser realizada no projeto
  91. Identifique e gerencie dependências críticas do projeto
  92. Defina metas para os projetos
  93. Planeje os recursos necessários
  94. Planeje os compromissos
  95. Planeje os eventos de auditoria de qualidade
  96. Planeje o envolvimento dos stakeholders do projeto
  97. Elabore um plano de gerenciamento de riscos coerente
  98. Considere a utilização de um plano para gerenciamento do projeto (o CMMI não fala nada disto, mas eu recomendo)
  99. Documente o planejamento (isto pode ser um doc, sistema, excel, etc)
  100. Obtenha aprovação do plano de projetos
  101. Em alta maturidade CMMI ou MPS.Br lembre-se que diversos outros elementos devem ser planejados. Se este é seu caso, não esqueça de contemplar estes elementos em seu plano
  102. Monitoramento e controle

  103. Monitore seu projeto contra o planejado (utilize o plano que você mesmo montou)
  104. O básico é monitorar custo e prazo
  105. Trate o custo do projeto como se o dinheiro fosse seu
  106. Monitore o progresso diáriamente
  107. Realize eventos de acompanhamento interno
  108. Realize eventos de acompanhamento com o cliente
  109. Apresente aos seus clientes os mesmos indicadores que você monitora internamente
  110. Gerencie os riscos de seu projeto
  111. Perióricamente verifique se você está atendendo as metas estabelecidas e defina ações quando não estiver
  112. Um plano de ação deve pelo menos ter “o que”, “quem” e “quando”, mas você pode evoluir com a técnica 5W2H
  113. Verifique como está o gerenciamento de configuração
  114. Documente todos os eventos de monitoramento e controle (interno, externo, etc)
  115. Tenha ações de gerenciamento preventivo – não deixe possíveis problemas virarem problemas de fato
  116. Gerencie bem o escopo do projeto – Lembre-se que foi contratado X, qualquer mudança neste X deve ter uma análise de impacto e ser realizada apenas quando aprovado pelos envolvidos
  117. Forneça visibilidade completa a todos envolvidos no projeto
  118. Monitore a qualidade do projeto
  119. Veja como seu projeto pode contribuir para a base de conhecimento da organização. Basicamente todo projeto tem algo a contribuir
  120. Após o projeto analise o que aconteceu e documente as lições aprendidas (preferencialmente a organização não deve errar na mesma coisa duas vezes)
  121. Estabeleça planos de ações para os desvios no projeto
  122. Se EVM foi considerado, assegure que os envolvidos entendem este método
  123. Monitore a correção dos desvios – lembre-se que um desvio é um problema que precisa ser corrigido
  124. Por ultimo, não basta apenas acompanhar o projeto, você precisa gerenciá-lo
  125. Tenha um painel mostrando todos os projetos da organização e seus principais indicadores
  126. Analise quais projetos necessitam de maior suporte em gestão e engenharia de software
  127. Decisão Formal

  128. Crie um guia para orientar as tomadas de decisões formais
  129. Crie critérios que definam quando um processo de decisão formal deve ser realizado
  130. Defina critérios para a seleção de alternativas
  131. Identifique as soluções alternativas
  132. Analise o que normalmente é feito em processos similares
  133. Defina claramente o método que será utilizado para análise das alternativas
  134. Nunca, jamais se esqueça de analisar as alternativas e documentar esta análise
  135. Analise os riscos associados a escolha ou não de uma solução
  136. Documente todo o processo de decisão formal
  137. Mantenha os dados em gestão de conhecimento para consulta posterior
  138. Gerenciamento integrado

  139. Seu framework de processos deve tratar os trabalhos integrados
  140. As equipes integradas devem utilizar os mesmos processos
  141. Considere a figura do “integrador”, sua tarefa é exclusivamente integrar os diversos produtos recebidos das equipes
  142. Mantenha uma base de melhores documentos, lições aprendidas, modelos, templates e outros
  143. Mantenha um plano integrado de trabalho que contemple as atividades de outros grupos bem como previsão de alocação
  144. Em projetos integrados mais do que nunca você precisará definir uma EAP e comunicá-la
  145. Definam como conflitos serão tratados
  146. Defina critérios de entrada e saída para as atividades
  147. Utilize um sistema de gerenciamento de configuração comum entre todas equipes
  148. Periodicamente atualize a base de conhecimento da organização
  149. Mantenha um canal para entrada de sugestões
  150. Avalie as sugestões e forneça feedback de como estão as sugestões
  151. Defina o envolvimento dos stakeholders e comunique-os de suas responsabilidades
  152. Identifique e gerencie as dependências e compromissos do projeto
  153. Documente as ações preventivas e corretivas
  154. Definição de processo

  155. Crie padrões para definição de processos
  156. Elabore os processos para engenharia de software, gestão, suporte e organizacionais
  157. Elabore uma matriz contendo os processos, produtos, atividades e responsabilidades
  158. Documente o relacionamento entre os processos e produtos
  159. Defina os SDLC’s para os principais tipos de projeto
  160. Defina critérios para tailoring
  161. Documente as necessidades de tailoring
  162. Defina indicadores para os processos
  163. Periodicamente verifique se há necessidades de ajustes nos processos
  164. Estabeleça padrões de infra-estrutura e ativos de processo de acordo com o papel
  165. Realize revisão entre pares sempre que houver alterações nos processos
  166. Foco no processo

  167. Documente os objetivos de negócio da organização
  168. Tenha um plano de melhoria contínua de médio-longo prazo (mínimo de dois anos)
  169. Elabore um mapa de objetivos
  170. Considere a utilização de um Balanced Score Card
  171. Monitore se os indicadores dos processos estão atingindo os objetivos
  172. Defina uma equipe de engenharia de software e gestão para manter o processo vivo na organização
  173. Mantenha registros das alterações nos processos
  174. Considere a criação de um portal contendo os processos, templates, ações de melhoria e outros
  175. Quando houver alterações nos processos, divulgue o que houve de mudança aos envolvidos
  176. Corrija ou melhore os processos conforme necessário
  177. Mantenha uma base de dados de melhorias sugeridas e mantenha o histórico de evolução
  178. Defina um critério para realização de melhorias
  179. Não esqueça de monitorar a evolução das melhorias
  180. Elabore projetos piloto para as melhorias quando necessário
  181. Avalie se as melhorias trouxeram resultados reais à organização
  182. Avalie a implementação de um programa Six Sigma
  183. Tenha metas de evolução natural dos processos
  184. Capacitação

  185. Tenha um mapa de treinamentos necessários para cada função
  186. Defina um programa de capacitação periódico
  187. Planeje as capacitações necessárias para seu projeto e defina como atende-las
  188. Envolva a área de treinamento no planejamento do projeto
  189. Identifique quais são os treinamentos necessários para atender os objetivos estratégicos da empresa
  190. Colete informações de desempenho dos treinamentos
  191. Verifique se após os treinamentos houve melhora de desempenho dos envolvidos
  192. Tenha uma descrição de responsabilidades e autoridades de cada função
  193. Planeje o investimento com treinamentos e periodicamente verifique os benefícios
  194. Armazene os dados de treinamentos
  195. Integração de produto

  196. Identifique as necessidades de integração entre produtos e componentes?Planeje como será a sequência de integração
  197. Crie critérios para garantir que os produtos estão prontos para serem integrados
  198. Tenha métodos alternativos de integração e selecione o melhor (se possível com DAR)
  199. Armazene informações sobre o processo de decisão sobre integrações
  200. Tenha guias ou processos de como as atividades de integração devem ser realizadas
  201. Verifique a compatibilidade entre as interfaces
  202. Documente os ajustes necessários nas interfaces
  203. Crie mecanismos que garantam que o produto final contem as versões corretas dos códigos e componentes
  204. Desenvolvimento de requisitos

  205. Identifique como os requisitos serão atendidos
  206. Considere a utilização de mockups e protótipos
  207. Analise o que pode ser reaproveitado de projeto anteriores ou da base de reutilização
  208. Identifique as expectativas que os envolvidos tem com o projeto
  209. Tenha guias que auxiliem o desenvolvimento de requisitos
  210. Traduza os requisitos de negócio e necessidades em requisitos técnicos
  211. Verifique a qualidade antes da validação com cliente
  212. Defina critérios que liberem os produtos para validação com cliente
  213. Assegure o entendimento correto dos requisitos – valide formalmente com o cliente
  214. Faça o mapeamento dos requisitos com funções, códigos, componentes, aquisições, etc.
  215. Gerenciamento de riscos

  216. Identifique os riscos que podem afetar o projeto
  217. Tenha uma base de riscos com o histórico de cada risco
  218. Identifique as fontes de riscos
  219. Categorize os riscos

  220. Além dos riscos identifique as oportunidades
  221. Planeje contingências
  222. Tenha planos de mitigação
  223. Defina datas e responsabilidades (não deixe nada sem um responsável)
  224. Monitore periodicamente os riscos e nos eventos de acompanhamento
  225. Solução técnica

  226. Identifique soluções alternativas para atendimento aos requisitos
  227. Defina como os requisitos serão atendidos como: desenvolvimento, reutilização, aquisição, tercerização, etc.
  228. Utilize DAR para selecionar a melhor solução (boa prática)
  229. Considere a utilização de componentes externos ou de mercado
  230. Documente a solução técnica e requisitos técnicos
  231. Validação

  232. Valide formalmente os produtos
  233. Valide os requisitos contra suas especificações
  234. Assegure que as necessidades definidas pelo cliente foram implementadas
  235. Não tenha surpresas, simule uma validação “in house” antes
  236. Assegure-se que o ambiente para validação é similar ao de desenvolvimento
  237. Tenha critérios definidos para a realização dos eventos de validação
  238. Documente os resultados da validações
  239. Verificação

  240. Planeje os produtos que passarão por verificação
  241. Tenha um checklist de verificação
  242. Faça revisão entre pares nos requisitos críticos do projeto
  243. Assegure-se que os desvios foram corrigidos
  244. Defina critérios que permitam ou não um produto ser liberado após verificação
  245. Documente os resultados de verificação
  246. Análise de causa

  247. Analise as causas raiz dos problemas
  248. Considere a utilização de fishbone
  249. Identifique os fatores de influência nos processos
  250. Conheça o comportamento destes fatores e defina meios para utilizar o melhor resultado para melhorar o desempenho do processo
  251. Mantenha as análises de causa em uma base para consulta posterior
  252. Alta maturidade

  253. Não se esqueça que seus processos devem estar estáveis antes de iniciar em alta maturidade
  254. Conheça o desempenho dos seus processos e sua variação
  255. Considere a contratação de um estatístico ou black belt para apoio nas atividades de alta maturidade
  256. Crie modelos de desempenho estatístico para predizer o comportamento futuro de seus processos
  257. Utilize gráficos de controle para monitorar o desempenho dos processos
  258. Durante o projeto, realize simulações de cenários nos processos gerenciados estatísticamente
  259. Documente os baselines de desempenho dos principais indicadores e dos fatores de influência
  260. Estabeleça um painel apresentando a evolução do desempenho dos processos
  261. Comprove estatísticamente a melhoria

About Washington Souza

Black Belt, Washington Souza tem mais de 10 anos de experiência com gestão. Participou de implantações em todos os níveis CMMI e MPS.Br A. Gosta muito de Six Sigma e gestão como um todo.

2 Comments

  1. Julio Burba

    March 25, 2017 at 8:36 pm

    It is the best time to make some plans for the future and it is time to be happy. I have read this post and if I could I want to suggest you some interesting things or tips. Perhaps you can write next articles referring to this article. I want to read even more things about it!

  2. Dalia Tarufelli

    April 16, 2017 at 6:14 pm

    Thanks for the blog article.Really looking forward to read more. Really Great.

Leave a Reply

Your email address will not be published. Required fields are marked *