Pular para o conteúdo principal

Planejamento: visão geral resumida

Agora que já conhecemos o processo de estimativas e algumas das métricas utilizadas, vejamos um exemplo de como podemos realizar o planejamento.

A figura a seguir mostra uma visão geral do planejamento.

Com base no modelo de processo de software podemos definir as atividades que precisam ser realizadas. Estas atividades devem ser organizadas em uma estrutura de divisão do trabalho (WBS - Work Breakdown Structure).

Para cada uma das atividades estão definidos os artefatos resultantes e podem ser realizadas estimativas de tamanho destes resultados. Por exemplo, o número de linas de código fonte de uma atividade de codificação ou o número de elementos de diagrama em uma atividade de modelagem.

Com as atividades definidas, pode-se montar a equipe de software. Dados históricos podem indicar as estimativas de produtividade dos membros desta equipe nas atividades definidas no WBS.

As estimativas de tamanho do software podem ser utilizadas para o cálculo das estimativas de esforço para cada atividade. Este valor permite que a alocação pessoa-atividade seja mais eficiente. Por exemplo, para tarefas com maior esforço, pode-se dividir as tarefas entre vários membros da equipe de forma a encurtar o prazo de conclusão da atividade (veja mais informações no post anterior).

Com as estimativas de esforço e a alocação pessoa-atividade, podemos elaborar o cronograma e o orçamento do projeto.

O cronograma deve incluir a definição dos marcos, a análise do caminho crítico através de técnicas PERT/CPM e o diagrama de Gantt.

Os gastos com pessoal são fundamentais para o orçamento do projeto. Assim, apenas com a definição do cronograma é que se pode concluir o orçamento. Além dos custos de RH, não se pode deixar de incluir os custos com equipamentos, ferramentas, infra-estrutura e outros. Veja mais sobre custos.

Comentários

Postagens mais visitadas deste blog

O que é Engenharia de Software?

O que é Engenharia? Vejamos duas definções: Engenharia é a atividade em que os conhecimentos científicos e técnicos e a experiência prática são aplicados para exploração dos recursos naturais, para o projeto, construção e operação de objetos úteis (Origem: Wikipédia, a enciclopédia livre). Engenharia é a aplicação de métodos científicos ou empíricos à utilização dos recursos da natureza em benefício do ser humano (Dicionário Houaiss) Essas definições não são suficientes para designar tudo aquilo que envolve engenharia. Para entender melhor o que é engenharia, propomos que você faça uma pesquisa para responder as seguintes questões: Qual a diferença entre o desenvolvimento de um produto de forma artesanal e o desenvolvimento seguindo os princípios de engenharia? Em outras palavras, qual a diferença entre o trabalho de um artesão e o de um engenheiro? Qual a diferença entre cozinhar e fazer engenharia de alimentos? O que as diferentes engenharias (civil, mecânica, elétrica/eletrônica, qu...

Ciclo de Vida do Software

O ciclo de vida de um software descreve as fases pelas quais o software passa desde a sua concepção até ficar sem uso algum. O conceito de ciclo de vida de um software é muitas vezes confundido com o de modelo de processo (assunto do próximo artigo). Existem várias propostas e denominações para as fases do ciclo de vida de um software. Nossa proposta identifica 4 fases que são delimitadas por eventos típicos em diversos ciclos de vida. Cada fase inclui um conjunto de atividades ou disciplinas que devem ser realizadas pelas partes envolvidas. Essas fases são: Definição Desenvolvimento Operação Retirada Fase de Definição A fase de definição do software ocorre em conjunto com outras atividades como a modelagem de processos de negócios e análise de sistemas . Nesta atividade, diversos profissionais buscam o conhecimento da situação atual e a identificação de problemas para que possam elaborar propostas de solução de sistemas computacionais que resolvam tais problemas. Dentre as propostas...

Qual a melhor linguagem de programação?

Sempre perguntaram-me qual a melhor linguagem de programação. Esta é uma pergunta difícil de responder. Recentemente, participei de uma discussão com colegas sobre quais linguagens deveriam ser ensinadas ao alunos e em qual ordem. Não tenho muita experiência com ensino de programação. Assim, não tive muito como contribuir sobre o aspecto pedagógico desta discussão. Mas dei a minha colaboração com a minha experiência e por considerar a linguagem um instrumento de interação humano-computador. Tenho apenas experiência com o auto-aprendizado de várias linguagens, em diferentes paradigmas. Comecei com Basic, do Bill Gates, e Assembly 6502, em casa. Minha motivação: aprender o que é computador. Fui para a universidade e aprendi Fortran, Pascal, Assembly 8086 e Cobol, durante graduação. Estudei C, sozinho, para meu trabalho de IC. Também auto-aprendi Prolog e LISP, para o mestrado; C++ e Java para o doutorado; e Perl, Javascript, PHP, HTML e CSS para desenvolvimento Web. Não fiz nenhum planej...