A chave para uma avaliação leve é avaliar as coisas certas no momento certo. Conheço duas maneiras de fazer isso de maneira eficaz. Com a avaliação baseada em cenário, você usa cenários de atributos de qualidade e casos de uso para conduzir a avaliação focando apenas nos atributos de qualidade de alta prioridade. Com a avaliação baseada em riscos , você identifica riscos e permite que os riscos identificados direcionem suas atividades de design de arquitetura.
Posso recomendar dois livros que exploram essas duas abordagens (um pouco relacionadas).
O software Architecting Intensive Systems, de Anthony Lattanze, apresenta a Metodologia de Projeto Centrado na Arquitetura e abrange avaliações leves baseadas em cenários. Você pode reconhecer Lattanze no Workshop de atributos de qualidade do SEI e há idéias semelhantes envolvidas.
Arquitetura de software suficiente: uma abordagem orientada a riscos de George Fairbanks introduz, bem, uma abordagem orientada a riscos para projetar e avaliar a arquitetura de um sistema de software. Há também alguns capítulos gratuitos disponíveis no site dele, se você quiser uma prévia. Embora os princípios deste livro sejam imediatamente aplicáveis, a abordagem não vem com um método específico; portanto, você precisará combinar idéias de outras áreas. Eu recomendo a abordagem de gerenciamento de riscos contínua do SEI para identificar / priorizar riscos.
A idéia básica por trás dessas abordagens é que você reduz o custo da avaliação (e do design) avaliando à medida que avança, em vez de esperar até o final. Embora isso certamente seja um pouco mais pesado do que falar em torno de um quadro branco, não é tão caro quanto um ATAM totalmente queimado. E se você estiver confortável, poderá escolher práticas práticas para atender às suas necessidades específicas.
Não importa qual abordagem você use para conduzir a avaliação, a idéia geral será a mesma ...
Antes que você comece:
- Cenários ou riscos de atributos de qualidade, priorizados (podem ser informais se você tiver tudo isso)
- Definição clara para a decisão de não aprovação (como você sabe que a arquitetura é "suficientemente boa")
- Corte mais recente da descrição da arquitetura (o artefato que você está avaliando)
Sente-se para uma sessão de avaliação:
- Arquiteto apresenta uma visão geral da arquitetura
- Percorra uma visão, mostre como o cenário ou risco é satisfeito
- Os problemas são registrados para serem corrigidos posteriormente
- As funções e os procedimentos gerais são semelhantes aos usados para uma inspeção Fagan (arquiteto ou autor, moderador, gravador).
- A sessão pode levar apenas uma ou duas horas, dependendo do tamanho do seu sistema.
Depois que a sessão terminar:
- Revise os problemas identificados e determine se os critérios de aprovação / não aprovação são atendidos. Geralmente, são necessárias cerca de três avaliações para que tudo funcione. Se não for atendido, continue refinando e experimentando (ou mitigando os riscos da arquitetura).
- Esta não é uma avaliação "tudo ou nada" - diferentes partes da sua arquitetura podem "passar" enquanto outras ainda precisam de aprimoramento.
Para ajudar você a ter uma ideia de como pode ser a abordagem com base em cenários, há alguma documentação pública de um projeto no qual eu trabalhei na pós-graduação. A documentação é um pouco grosseira, mas poderia ajudar a dar alguns exemplos da abordagem baseada em cenário no contexto do ACDM. Nós éramos uma equipe de 5 pessoas e construímos um aplicativo típico baseado na Web, cerca de 35 KLOC Java / GWT.