Escolar Documentos
Profissional Documentos
Cultura Documentos
Planejamento e Gerenciamento
Rohit Gheyi
Como vocês organizariam
uma festa de aniversário
para uma criança em 1
semana? Tem riscos?
1 2
Dúvidas…
Como atingir
• Como quebro o projeto em
atividades menores?
• Quando começar e terminar cada
uma?
3 4
1
24/09/18
Desenvolvimento de
software é uma
atividade complicada ...
7 8
• Motivação incoerente
– Esforço do pessoal e chefe de férias …
• Pessoal fraco
Pessoas... – Seleção apressada ao invés de conveniente …
• Pessoal problemático
– Uma pessoa pode desconcentrar uma equipe …
• Heroísmo
– Posso fazer tudo, não preciso da equipe …
9 10
11 12
2
24/09/18
13 14
• Requisitos demais
– Sei que o usuário não pediu, mas vamos melhorar
a performance do sistema …
15 16
17 18
3
24/09/18
19 20
software dentro
do custo e prazo es
im portant
e com qualidade! uais
lidade
s
as qua te deve pos
suir?
Q geren
que um
21 22
Qualidades de Gerente
• Liderança
• Comunicação
• Resolver problemas
• Negociação
ades
• Influenciar a organização
as a ti v id
Quais
• Mentor
• Especialista técnico e em processo
u m g e r e nte?
23
de 24
4
24/09/18
25 26
27 http://www.mhavila.com.br/topicos/gestao/pmbok.html 28
5
24/09/18
Gerência de Tempo
2012.1
33 2012.2 34
[Niels Bohr]
Requistos do
Software
35 36
6
24/09/18
Rede de Atividades
Caminho mais longo.
Tempo mínimo para
terminar o projeto
Construir Diagramas...
Milestone
41 42
7
24/09/18
43 44
Exercício
• Faça um cronograma para o seu projeto.
Gerência de Comunicação
45 46
Comunicação Atas
Horário
Comunicação face a face é a maneira mais
rápida de “espalhar” conhecimento Participantes
Preferir Pauta
– Chat a e-mail Decisões
– Telefone a chat Próximos Passos
– Conversa pessoal a Aprovação
telefone Revisar ata em cada
reunião
47 48
8
24/09/18
Gerência de Riscos
49 50
Projeto... Produto...
Afeta o cronograma ou Afeta a qualidade ou
recursos performance do software
desenvolvido
E se perdermos um gerente? E se comprarmos um
componente com defeito?
53 54
9
24/09/18
Negócios...
Afeta a organização que
desenvolve o software
E se competidor lançar um
novo produto antes?
55 56
10
24/09/18
61 62
63 64
65 66
11
24/09/18
69 70
Exercício
• Identifique, analise e planeje alguns possíveis
riscos que possam ocorrer no projeto da
disciplina Gerência de Custo
71 72
12
24/09/18
Exercício
• Faça uma estimativa do custo do seu projeto.
73 74
Quais os custos
básicos?
2014.1 75 76
77 78
13
24/09/18
Quais fatores •
•
Experiência no domínio da aplicação
Qualidade do processo
influenciam na •
•
Tamanho do projeto
Apoio de tecnologia
produtividade? • Ambiente de trabalho
79 80
Métricas
• Tamanho
Como medir – Exemplo: LOC/dia, ...
• Funções
a produtividade?
– Exemplo: pontos por função/dia, ...
81 82
83 84
14
24/09/18
Geração de código
85 86
89 90
15
24/09/18
Especialistas no domínio
dizem um valor e vão Compara com o custo
discutindo até que de projetos similares
cheguem em um acordo. no mesmo domínio.
91 92
Vamos medir
o esforço... e daí
estimamos o tempo!
95 96
16
24/09/18
Técnica de Estimativa
Baseada em Caso de Uso
97 98
Exemplo
Sacar
Ator Requisito
Quais fatores influenciam
Depositar
funcional
no esforço para construir
um software?
Transferir
99 100
17
24/09/18
107 108
18
24/09/18
Depositar
Transferir
Extrato
Extrato
109 2010.1 110
Dados Empíricos
• Gustav Karner
Qual a produtividade • Média: 1 UCP => 20 h/UCP
111 112
113 114
19
24/09/18
Já tem?
Custo com Pessoal • Pessoal
– (2000*3 pessoas + 5000 gerente)*10 meses = 110K R$
• Equipamento (software+hardware)
• Exemplo: 4800 horas
– 4 computadores (2000) + software (10000) = 18K R$
• 3 Pessoas + 1 Gerente (incluindo imposto) • Diversos (luz, água, internet, telefone, aluguel, viagens)
– Pessoal: 3 * 40 horas/semana (480 horas/mês) – 1000 reais/mês * 10 = 10000 reais
• Salário: 3 * 2000 reais/mês • Total = 110000 + 18000 + 10000 = 138000 reais
– Gerente: 1 * 5000 reais/mês • Margem = 20% em cima do total (inflação)
• Duração: 10 meses • Lucro = 30% em cima do erro
115 116
117 118
Exercício
• Registre suas estimativas para comparar
• Faça uma estimativa de esforço, indicando com os resultados reais no final do projeto
tempo e o custo do seu projeto.
• Planejamento continua durante
desenvolvimento e manutenção
– Planejamento inicial não é suficiente
– Planejamento detalhado só ocorre após a
especificação de requisitos
119 120
20
24/09/18
Exercício
Use mais de uma técnica • Utilizem esta ferramenta no projeto real, e
(complementar)! analisem o resultado comparando com outras
estimativas.
http://www.dwheeler.com/sloccount/
Calibre de acordo com "...SLOCCount will even automatically estimate
sua empresa! the effort, time, and money it would take to
develop the software..."
121 122
123 124
125 126
21
24/09/18
Coletar Informações
• Análise de Currículo
Como Selecionar
– Informação mais concreta e útil
• Entrevistar Candidato
– Subjetivo
Pessoas? • Recomendação
– Pessoas que trabalharam com outra
– A informação tem que ser confiável
127 128
Fatores na Escolha...
Quais fatores • Experiência no domínio da aplicação?
• Experiência na linguagem de
considerar na programação?
• Possui habilidade em resolver problemas?
escolha? • Consegue se comunicar verbalmente e
por escrito?
129 130
131 132
22
24/09/18
É possível
classificar as
pessoas?
133 134
40
30
20
10
137 138
23
24/09/18
139 140
141 142
143 144
24
24/09/18
Privacidade
Consciência externa
Personalização
145 146
147 148
Gerência de Qualidade
149 150
25
24/09/18
O que é um software
de qualidade?
151 152
Cuidado...
• Alguns requisitos de qualidade são difíceis de
De maneira simplista, especificar de uma maneira não-ambígua
significa que um produto • As especificações de software são,
geralmente, incompletas e freqüentemente
deve atender à sua inconsistentes
especificação!
153 154
A qualidade do processo
tem influência direta na
qualidade do produto.
155 156
26
24/09/18
Mas...
Desenvolver software
é algo criativo
e não mecânico Pode aumentar a
confiança!
Pode ser algo novo
157 158
Gerência de Qualidade
Atingir um nível
requerido de qualidade
Como atingir?
Desenvolver cultura
de qualidade
159 160
Exemplo de Padrões
161 162
27
24/09/18
163 164
165 166
Métricas de Software
O trabalho da revisão de • Basicamente é definir limiares e medir o
software para identificar possíveis problemas
qualidade pode ser
• Exemplo
demorado e não ver tudo. – Introduziu uma nova ferramenta para testar
Por isso é melhor automatizar software. Quanto foi a melhora?
28
24/09/18
169 170
Exemplo: Métricas OO
• Profundidade da Herança • Número de sobrescrita de métodos
– Quanto maior, mais complexo – A super classe pode não ser a classe pai ideal
• Número de métodos por classe/complexidade • Complexidade Ciclomática
– Quanto maior, mais complexo é a classe – Quantidade de caminhos de execução
• Linhas de Código (LOC) independentes a partir do código fonte
171 172
173 174
29
24/09/18
177
pg 36 178
Findbugs
• Identifica Possíveis Bugs
• Análise estática
FindBugs • Más práticas de programação
• Vulnerabilidade
• Plugin para o Eclipse
http://findbugs.cs.umd.edu/demo/jnlp/findbugs.jnlp
179 180
30
24/09/18
181 182
Vídeo Exercício
• Usem o Findbugs para identificar más práticas
do sistema real. Cada integrante deverá
descrever 3 más práticas encontradas.
• As métricas (coletadas com o Metrics)
avaliadas também indicaram estes sintomas?
E a pirâmide? Correlacione os dados.
http://findbugs.cs.umd.edu/talks/findbugs.mov
183 184
Objetivo
• Compreensão de processos existentes e
introdução de mudanças de processo
Melhoria de Processos • Foco
– Melhorar a qualidade do produto
• A maioria foca em reduzir os defeitos
– Reduzir tempo
– Reduzir custo
185 186
31
24/09/18
Escolha características
Qual o objetivo
que atingam o objetivo
da empresa?
da empresa!
187 188
189 190
191 192
32
24/09/18
193 194
195 196
197 198
33