1. O documento discute a importância de processos de qualidade para o desenvolvimento de software e prestação de serviços de TI.
2. É apresentada a noção de fábrica de software e discutidos modelos de maturidade para avaliar a qualidade dos processos, como CMMI e MPS.
3. O documento também aborda desafios trazidos por novas abordagens ágeis de desenvolvimento, como no Facebook, e a necessidade de atenção à gestão de serviços ao longo de todo o ciclo de vida do produto.
2. Por que Fábricas de Software precisam de um
bom processo?
Em última instância, vantagem competitiva...
Fábrica de Software: conjunto de
recursos (humanos e materiais),
processos e metodologias estruturados
de forma semelhante àqueles das
indústrias tradicionais, utilizando as
melhores práticas criadas para o processo
de desenvolvimento, testes e
manutenções dos softwares.
3. Como aferir a qualidade de um processo?
Como definir um processo de qualidade?
Os modelos de maturidade estão aí para isso...
Os métodos ágeis (e outros modelos de
processo) estão aí para isso...
Análise de
requisitos
Projeto
Testes
Codificação
Engenharia
de sistemas
Implantação/
Manutenção
4. Desenvolvimento no Facebook
4
Fonte: Feitelson, D. G., Franchtenberg, E., Beck, K. L., Development and Deployment at
Facebook, IEEE Internet Computing, jul/ago 2013.
Que novos desafios esse cenário traz?
5. Medição / Gerência de Configuração / Aquisição /
Garantia da Qualidade / Gerência de Portfólio de
Projetos
Avaliação e Melhoria do Processo Organizacional
Definição do Processo Organizacional
Gerência de Reutilização / Gerência de Recursos
Humanos / Gerência de Projetos (evolução)
Desenvolvimento de Requisitos
Projeto e Construção do Produto
Integração do Produto
Verificação / Validação
Gerência de Decisões
Desenvolvimento para Reutilização
Gerência de Riscos
G
F
E
D
C
Gerência de Requisitos
Gerência de Projetos
(sem processos adicionais)
A
B
Parcialmente
Gerenciado
Gerenciado
Parcialmente
Definido
Largamente
Definido
Definido
Gerenciado
Quantitativamente
Em Otimização
Gerência de Projetos (evolução)
~ CMMI 2
~ CMMI 3
~ CMMI 4
~ CMMI 5
Níveis de Maturidade MR-MPS-SW
6. DevOps: Software (+ Serviços)
• Desenvolvimento de Requisitos
• Gerência de Requisitos
Requisitos
• Projeto e Construção
(Solução Técnica)
• Verificação e Validação
• Integração do Produto
• Gerência de Configuração
Desenvolvimento
• Boas práticas de modelos de
maturidade de serviços
Transição e
Operação
Desenvolvimento e Entrega de um Produto
7. Uso de Processos
Há uma relação entre a qualidade de produto e a qualidade
dos processos utilizados para construí-los.
A implantação de um Programa de Qualidade começa pela
definição e implantação de um processo.
Necessidades do Negócio
Qualidade do processo
Qualidade do produto
E se a entrega do produto for
tratada como a prestação de
um serviço de TI? 7
8. 8
Serviços de TI e sua gestão
Um serviço de TI é um conjunto de recursos, TI e não-TI,
percebidos pelo cliente como um todo coerente e mantidos
por um provedor de TI
– Atende a uma ou mais necessidades de um cliente
– Apoia os objetivos estratégicos do seu negócio
Um serviço:
– É um produto não tangível e não estocável
– É um meio de entregar valor aos clientes
– Facilita o resultado a ser alcançado
» Menos riscos e custos específicos
» Maior qualidade
9. 9
Serviços de TI e sua gestão
Quanto mais as organizações se tornam dependentes de
tecnologia, a necessidade de serviços confiáveis e bem
administrados aumenta
A interrupção em um serviço de TI necessário para a
continuidade dos negócios, pode causar:
– Perda de milhares a milhões de reais de receita por hora
– Interrupção dos processos críticos
– Danos à imagem e às ações
A governança de serviços de TI busca evitar a ocorrência de
problemas na entrega e operação dos serviços prestados
– Melhora o desempenho do provedor de serviços
– Melhora a qualidade percebida por clientes e usuário
10. 10
Serviços de TI e sua gestão
CMMI-DEV, MPS-SW e ISO/IEC 12207 apresentam modelo para
melhoria de processos de software
– Atuam no desenvolvimento do software e não na operação
Modelos de maturidade e gestão de serviços de TI foram
propostos
– ITIL, COBIT, ISO/IEC 20.000, CMMI-SVC e MR-MPS-SV
– Orientam as organizações na definição e melhoria de processos
de gerenciamento de serviços
– Modelos voltados aos processos de empresas prestadoras de
serviços
– Além de tratar a operação do software (suporte, manutenção,
monitoramento), abrange os outros diversos tipos de serviços
de TI
11. 11
Gerenciado
Quantitativamente
Medição / Gerência de Configuração / Aquisição /
Garantia da Qualidade / Gerência de Portfólio da
Operação de Serviços / Gerência de Problemas
Avaliação e Melhoria do Processo Organizacional
Definição do Processo Organizacional
Gerência de Mudanças / Gerência de Recursos Humanos /
Gerência da Operação do Serviço (evolução)
Desenvolvimento do Sistema de Serviços
Orçamento e Contabilização de Serviços
Gerência de Capacidade
Gerência da Continuidade e Disponibilidade
dos Serviços / Gerência de Decisões
Gerência de Liberação / Gerência de Riscos /
Gerência da Segurança da Informação
Relato de Serviços
G
F
E
D
C
Gerência da Operação do Serviço
Gerência de Nível de Serviço
Gerência de Incidentes e Solicitação de Serviço
(sem processos adicionais)
A
B
Parcialmente
Gerenciado
Gerenciado
Parcialmente
Definido
Largamente
Definido
Definido
Em Otimização
Gerência da Operação do Serviço (evolução)
Níveis de Maturidade MR-MPS-SV
12. 12
DevOps: Software + Serviços
•Gerência de Continuidade e Disponibilidade dos
Serviços
•Gerência de Nível de Serviços
Desenvolvimento
de Requisitos
•Gerência da Segurança da Informação
•Gerência de Configuração
•Gerência de Mudanças
•Desenvolvimento do Sistema de Serviços
Solução Técnica
•Gerência de Liberação
•Gerência de Configuração
Integração do
Produto
•Gerência de Incidentes e Solicitação de Serviço
•Gerência de Problemas
•Gerência da Capacidade
•Gerência da Continuidade e Disponibilidade de
Serviços
•Gerência da Segurança da Informação
Operações de TI
DevOps requer atenção à gerência do serviço nos
estágios iniciais e ao longo de todo o ciclo de vida do
produto
13. 13
• Gerência de Incidentes e
Solicitação de Serviço
• Gerência de Nível de Serviço
• Gerência da Operação do
Serviço
G
Processos do MPS Serviços
Gerência de Incidentes e
Solicitação de Serviço:
restaurar os serviços acordados
e cumprir as solicitações de
serviços dentro de um Acordo
de Nível de Serviço (ANS).
Gerência de Nível de
Serviço: garantir que os
objetivos dos acordos
de nível de serviço para
cada cliente sejam
atendidos.
Gerência da Operação do Serviço: estabelecer e manter planos que definem as
atividades, recursos e responsabilidades da operação de um ou mais serviços a
serem realizados, bem como prover informações sobre o seu andamento que
permitam a realização de correções quando houver desvios significativos em seu
desempenho
14. 14
Processos do MPS Serviços
• Aquisição
• Gerência de configuração
• Gerência da qualidade
• Gerência de problemas
• Gerência de portfólio de Operação
de Serviços
F
Gerência de Problemas:
minimizar a interrupção
do serviço por meio da
investigação de causa
raiz de um ou mais
incidentes que impactam
nos serviços ou nos
acordos de nível de
serviço.
Aquisição: gerenciar a aquisição de serviços e produtos que satisfaçam às necessidades expressas
pelo adquirente.
Gerência de Configuração: estabelecer e manter a integridade de todos os produtos de trabalho de
um processo ou trabalho e disponibilizá-los a todos os envolvidos
Garantia da Qualidade: assegurar que os produtos de trabalho e a execução dos processos estejam
em conformidade com os planos, procedimentos e padrões estabelecidos
Gerência de Portfólio de Operação de Serviços: iniciar e manter operação de serviços que sejam
necessários, suficientes e sustentáveis, de forma a atender os objetivos estratégicos da
organização.
Medição: coletar, armazenar, analisar e relatar os dados relativos aos serviços desenvolvidos e aos
processos implementados na organização e em seus trabalhos, de forma a apoiar os objetivos
organizacionais
15. 15
Processos do MPS Serviços
• Avaliação e melhoria do processo
organizacional
• Definição do processo
organizacional
• Gerência de mudanças
• Gerência de recursos humanos
• Gerência da Operação do Serviço
E
Gerência de Mudanças:
assegurar que todas as
mudanças que afetam os
trabalhos sejam
avaliadas, aprovadas,
implementadas e
revisadas de maneira
controlada.
Avaliação e Melhoria do Processo Organizacional: determinar o quanto os
processos padrão da organização contribuem para alcançar os objetivos de negócio
da organização e para apoiar a organização a planejar, realizar e implantar
melhorias contínuas nos processos com base no entendimento de seus pontos
fortes e fracos.
Definição do Processo Organizacional: estabelecer e manter um conjunto de ativos
de processo organizacional e padrões do ambiente de trabalho usáveis e aplicáveis
às necessidades de negócio da organização.
Gerência de Recursos Humanos é prover a organização e os trabalhos com os
recursos humanos necessários e manter suas competências adequadas às
necessidades do negócio.
16. 16
Processos do MPS Serviços
• Desenvolvimento do sistema de serviços
• Orçamento e contabilização de serviços
D
Desenvolvimento do Sistema de
Serviços: analisar, projetar,
desenvolver, integrar, verificar e
validar o sistema de serviços,
incluindo os componentes, para
satisfazer acordos existentes ou
previstos
Orçamento e Contabilização de
Serviços: controlar o orçamento e
a contabilização dos serviços
fornecidos
17. 17
Processos do MPS Serviços
• Gerência de capacidade
• Gerência da continuidade e disponibilidade
dos serviços
• Gerência de decisões
• Gerência de liberação
• Gerência de riscos
• Gerência da segurança da informação
• Relato de serviços
C
Gerência da
Capacidade: é
assegurar que o
provedor de serviços
tenha capacidade
para atender os
requisitos atuais e
futuros acordados
Gerência da Continuidade e
Disponibilidade dos Serviços:
assegurar que acordos de níveis
de serviços sejam cumpridos
em circunstâncias previsíveis
Gerência de Liberação:
implantar liberações de serviços
e componentes de serviços em
um ambiente de produção de
uma forma controlada.
Gerência da Segurança da Informação:
gerenciar a segurança da informação em
um acordo de nível de segurança dentro
de todas as atividades do gerenciamento
do serviço.
Relato de Serviços:́ produzir
relatórios pontuais e precisos
para apoiar uma efetiva
comunicação e tomada de
decisão.
18. 18
Processos do MPS Serviços
• Gerência de decisões
• Gerência de riscos
C
Gerência de Riscos: identificar, analisar, tratar, monitorar e reduzir continuamente
os riscos em nível organizacional e de trabalho.
Gerência de Decisões: analisar possíveis decisões críticas usando um processo
formal, com critérios estabelecidos, para avaliação das alternativas identificadas.
• Gerência da operação do serviço (evolução)B
(sem processos adicionais)A
19. 19
Processos do MPS Serviços
Uso de controle estatístico de processos e
outros métodos analíticos para compreender o
comportamento dos processos
Se o número de linhas de código cresce a uma taxa
LOC = 317,77 – 1,148*d + 1,966*d2
quantos defeitos terei no dia d+10? Quantos destes
defeitos podem potencialmente paralisar meu
produto?
20. 20
Serviços de TI e sua gestão
Alguns fatores para a adoção de modelos de
práticas de TI:
– Demanda por monitoramento e controle organizacional
– Exigência de transparência pelos acionistas e pelo
mercado
– Aumento da complexidade da tecnologia
– Dependência de TI pelas áreas de negócio
– Persuasão do negócio e requisição ou pressão do
consumidor para ter serviços mais confiáveis
– Necessidade de melhoria da interoperabilidade e
alinhamento entre os objetivos de negócio e os serviços
de TI
– Necessidade de diminuir os custos de suporte de longo
prazo
21. 21
Melhoria de Processos Serviços de TI
Fatores Críticos de Sucesso
Processos
Estratégia de implementação do projeto de
melhoria
Apoio, comprometimento e envolvimento
Recursos internos e externos
Colaboração, comunicação e conciliação das
partes envolvidas
Estrutura e cultura da organização
Competências dos envolvidos no projeto
Estratégias para promoção e divulgação dos
resultados
Fonte: Diirr, T., Santos, G., 2013, “Fatores Críticos de Sucesso para Melhoria de Processos de
Serviços de TI: Um Mapeamento Sistemático”. SBQS - Simpósio Brasileiro de Qualidade de
Software.
22. 22
Gestão de Conhecimento
Objetivos de
Conhecimento
Avaliação do
Conhecimento
Aquisição de
Conhecimento
Utilização do
Conhecimento
Processamento
Conhecimento
Distribuição de
Conhecimento
Preservação
do
Conhecimento
Tácito
Tácito
Explícito
Explícito
Socialização
Internalização
Exteriorização
Combinação
Reorganização de
experiências já coletadas
Armazenamento de
experiências pessoais
numa base de dados
Troca de experiências
Recuperação de experiências a
partir da base de dados
Como a gerência de
conhecimento pode auxiliar
as organizações a alcançarem
seus objetivos de melhoria,
os níveis mais altos de
maturidade ou a se tornarem
realmente ágeis?
Como o conhecimento
adquirido no desenvolvimento
de uma funcionalidade pode
impactar na sua manutenção
continuada e frequente?
Como aprender com as
falhas para produzir novas
versões mais robustas e
gerar releases mais
íntegras e corretas?
Como inserir uma nova
pessoa na equipe com o
mínimo de impacto?
23. Mas, o que eu posso usar com toda certeza que
vai resolver o meu problema com DevOps?
– Scrum?
– XP?
– MR-MPS-SV?
– ITIL?
– CMMI?
– Ágil?
– Kanban?
– RUP?
– (insira um nome aqui)
Desculpa, não há bala de prata!
Leia: No Silver Bullet: Essência e Acidentes em Engenharia de
Software (Frederick Brooks)