|
|||||
Projetos Dirigidos por Arquiteturas de Software – O "Diretor" e o "Produtor" de SoftwareProjetos de software são normalmente organizados, dirigidos e conduzidos por gerentes de projetos. Na grande maioria dos casos, entretanto, gerentes de projeto não possuem o conhecimento necessário para coordenar e liderar tecnicamente um projeto. O efeito prático é o adiamento de riscos técnicos “desconhecidos” ou uma priorização inadequada das ativdiades de projeto o que provoca efeitos crônicos ou mesmo desastrosos em projetos. Diversas metodologias já perceberam esta questão e suportam idéias para criar um contra-ponto técnico de liderança em projetos. Um exemplo a respeito é o AUP, que tem como um dos seus princípios basear o projeto em arquitetura – “Focus on the architecture early to minimize risks and organize development”. Este contra-ponto pode ser visto também como o papel do arquiteto e das atividades de arquitetura de software em um projeto. Parafraseando Paul Clements, podemos definir arquitetura como “Um pequeno conjunto de decisões técnicas que produzem um grande efeito positivo no projeto e no produto de software sendo construído”. O Produtor e o Diretor de Software![]() O Produtor e o Diretor de Software “O produtor é quem gerencia as necessidades práticas e que organiza um orçamento e o cronograma a ser aprovado pelo executivo.”, Wikipedia Isto cria uma divisão positiva e saudável na produção de filmes no cinema, que inclusive guarda fortes correlações com projetos de software, conforme discutimos no blog Fazer Software É Como Construir uma Ponte ou Dirigir um Filme. Em termos de TI, podemos criar a seguinte metáfora:
Esta metáfora pode ser vista como um novo estilo de projeto, chamado de projeto dirigido por arquiteturas de software. Neste tipo de projeto, a arquitetura é o elemento primário e central para tomar decisões como:
Em termos práticos, apresento aqui um pequeno exemplo de priorização de requisitos, realizado com e sem o uso de conhecimento de arquiteturas de software. Considere que você receba (enquanto gerente) um conjunto de requisitos do usuário. Um gerente típico atacaria estes requisitos com foco apenas na prioridade colocado pelo cliente. Um arquiteto, por outro lado, elabora mais o problema e usa a matriz abaixo para organizar o seu trabalho.
![]() Matriz de Priorização de Requisitos A prioridade continua sendo importante, mas os requisitos prioritários e complexos são endereçados e implementados primeiro. Com isso, os riscos são expostos cedo no projeto. Em termos práticos, aspectos de usabilidade, desempenho, escalabilidade ou segurança se tornam latentes no primeiro ou secundo décimo temporal do projeto, enquanto ainda temos tempo de endereça-los. Para os curiosos no tema, este estilo de fazer projetos é discutido com mais ênfase no livro Architecture-Centric Software Project Management: A Practical Guide.
2 comments to Projetos Dirigidos por Arquiteturas de Software – O "Diretor" e o "Produtor" de Software |
|||||
|
Copyright © 2010 Arkhi - All Rights Reserved |
|||||
Excelente post, Marco!
[...] O planejamento da definição arquitetural permite que a estratégia seja traduzida em ações culminando em um plano detalhado. O plano de definição arquitetural organiza a decomposição dos subsistemas, módulos ou componentes do sistema de software. Este plano deve ser fomentar à Estrutura Analítica do Projeto (EAP ou WBS, em inglês), auxiliando o gerente de projeto à organizar as atividades de um projeto dirigido pela arquitetura. [...]