5 Operative kapasiteter og fellesfunksjoner
5.4 Stridskrefter knyttet til luft- og ytre rom-dimensjonen
Os paradigmas do desenvolvimento do processo ideal, descrito na secção 2.5.5., são aplicados com omissões e adaptações no desenvolvimento real do produto. Os pontos de vista, quanto ao processo, dos investigadores académicos e dos gestores do desenvolvimento nas empresas comerciais são diferentes.
Os académicos preconizam que o processo deve ter as suas fases bem definidas: uma fase de definição e outra de implementação. Embora considerando válido que dentro de cada fase seja usada iteração e prototipagem, indicam que os requisitos e a arquitectura têm de estar bem compreendidos e bem documentados antes de se iniciar a implementação. Os gestores encaram as propostas dos académicos como princípios ideais, que são uma base sólida para a construção do processo individual a seguir por uma organização comercial e não como normas absolutas a seguir.
A experiência da autora na participação em desenvolvimentos comerciais, em vinte anos, levou à conclusão que o processo real deve incluir o rigor das metodologias e a aprendizagem com os erros, o que obriga à definição de medidas e à escrita de documentação.
Consideramos que:
do ambiente onde ele será instalado são uma realidade com que as equipas do processo têm de lidar.
A gestão do risco inerente a estes dois factores é fundamental.
Uma aproximação eficiente é aquela que, baseada em princípios gerais e regras robustas, permita adaptabilidade e controlo da complexidade do produto sem impedir a criatividade da equipa de desenvolvimento. Deve também incluir formas de antecipação das excepções que surjam ao longo do processo.
O controlo de qualquer projecto implica a existência de um plano, contendo as previsões do desenvolvimento do trabalho e o processo de medição a usar para obter indicadores que permitam verificar se o desenvolvimento está de acordo com o estabelecido ou necessita de correcções. As estimativas de tempo e de recursos são usadas, habitualmente, como referências, nas tarefas de controlo do processo.
Normalmente, nos processos reais é exercido controlo. Mesmo quando estamos perante um problema mal definido e, para o resolver, foi escolhido um modelo evolucionário, ou até quando não existe processo definido, mas existem condicionantes de tempo, recursos e exigência de atributos do produto que obrigam a estabelecer uma estratégia de controlo do processo [Booch,G.95;Reifer,D.98]. A medida proposta nesta dissertação será adequada também para estes casos. A sua justificação baseia-se nas considerações seguintes:
Tradicionalmente, as equipas projectistas têm usado os seguintes atributos para controlar os processos:
calendário estabelecido para a entrega de produtos e de documentação de suporte à avaliação (baseado nas estimativas),
nível de cumprimento dos requisitos,
nível de qualidade da arquitectura do produto, nível de qualidade do produto,
documentação necessária.
Primeiro, não é realizável controlar um processo, controlando a totalidade dos atributos mencionados na definição 2.4.1.2., porque são conflituosos e a sua maximização conjunta não é possível.
Exemplo 2.5.6.1.: Um processo em que a principal preocupação do gestor é o calendário leva a que a equipa de desenvolvimento esteja espartilhada no tempo de que dispõe para apresentar resultados e abrevie as tarefas de inspecção de código, não controlando o número de erros existente no produto e consequentemente a sua qualidade. Pelo contrário, um processo em que é maximizada a importância dos requisitos tem tendência a não cumprir o calendário, por gastar muito tempo a verificar, se foram construídas todas as funcionalidades expressas nos requisitos.
Segundo, para basear as suas decisões de controlo, o gestor do processo necessita de documentação da descrição do estado do projecto, em tempos que não são coincidentes com os fins de cada etapa. Isto acontece por que toma decisões de refinamentos e acrescento de funcionalidade como se viu na secção 2.4.1., durante cada etapa. Esta necessidade pode obrigar, ou a ter um registo permanente ou a elaborar documentação de descrição intermediária, o que torna o processo de controlo mais custoso.
A validação em cada actividade do processo leva algum tempo, durante o qual, normalmente o processo abranda a velocidade de desenvolvimento. As pressões para cumprimento de prazos levam à continuação do processo sem aprovação, obrigando a retroceder para repor resultados da validação. Uma pequena modificação num dos modelos pode causar grande necessidade de reestruturação dos modelos anteriores.
A visibilidade do processo, através da sua documentação, não é igual em todos os modelos. Para o modelo da catarata e para o modelo da espiral cada actividade dá origem a um documento, que pode ser validado, e ao mesmo tempo permitir avaliar do estado do processo e da possibilidade de cumprimento da calendário e custos planeados. Nos desenvolvimentos de software, com base no modelo evolucionário, é claramente pouco económico para o gestor do processo produzir documentação para cada fase e o esforço da execução da documentação ultrapassaria o esforço de desenvolvimento. Em alternativa, normalmente, o gestor mantém registos na operacionalidade, que no fim do processo serão transformados em documentação. Terceiro, os pontos de vista do director de projectos, do director do projecto em
desenvolvimento, do técnico que trabalha no projecto, do utilizador do produto e do cliente que o encomendou são diferentes e conflituosos em relação a objectivos atingir com a actividade de controlo. O director dos projectos quer os prazos cumpridos e os recursos poupados. O director do projecto em desenvolvimento tem de gerir a pressão do director para o cumprimento de prazos, conjuntamente com a capacidade de trabalho da equipa que dispõe para o desenvolvimento. O técnico quer cumprir o seu trabalho técnico e considera geralmente que os prazos são da responsabilidade do gestor e se não são cumpridos é por que foram mal estabelecidos. O utilizador pede funcionalidades que não necessita, enquanto que o cliente que as terá de pagar vai tentar que seja implementada a funcionalidade mínima que permita a resolução do problema.
Consideramos, por todas estas razões, que uma outra alternativa de controlo do processo baseada numa estratégia diferente tem de ser considerada. A alternativa será dispor de uma avaliação global e sucessiva do produto, quer durante a fase de construção, quer durante a fase de evolução.