Arquiteto de sistemas
O arquiteto de sistemas é o profissional da área de informática responsável pela concepção, desenho e desenvolvimento da arquitetura de sistemas computacionais. Dentre as suas responsabilidades podemos destacar:
- determinar as necessidades de todas as pessoas envolvidas ou afetadas por qualquer mudança num sistema de informação;
- fazer uma análise de alto nível nos requisitos do sistema, baseada nas necessidades dos usuários ou de restrições como custos e cronograma;
- garantir que estes requerimentos sejam consistentes, completos, corretos e operacionalmente definidos;
- realizar análises da relação custo/benefício para determinar a melhor forma de atender a um requerimento;
- organizar os algoritmos (e outros processos) em módulos discretos de forma a minimizar a comunicação entre módulos e entre usuários e módulos;
- organizar os sistemas em camadas de subsistemas e componentes que podem ser gerenciados por apenas um responsável subordinado ao arquiteto;
- garantir que foi desenvolvida a arquitetura mais robusta possível;
- criar um procedimento de testes, em conjunto com os desenvolvedores e usuários, para garantir que o nível de qualidade inicialmente proposto para o sistema seja alcançado;
- gerar esboços, modelos, protótipos e manuais de usuário, com o objetivo de manter os desenvolvedores e usuários constantemente atualizados, das decisões tomadas para permitir a construção do sistema.
Motivação
Em sistemas grandes e complexos é impraticável que a arquitetura seja concebida de forma descentralizada por um grande número de desenvolvedores ou programadores. Além disso, alguns desenvolvedores tem a reputação de não entender ou de responder de maneira pouco confortável às necessidades dos usuários e clientes. Um bom arquiteto deve traduzir os requisitos de forma que sejam inteligíveis para clientes, usuários e desenvolvedores. É responsabilidade do arquiteto garantir que o produto final corresponda a visão do usuário. Alguns dizem que: determinar o que um usuário quer a partir daquilo que ele diz querer, "é uma arte e não engenharia". Portando, o arquiteto não é aquele que não segue uma receita, mas aquele que interage intensamente com os usuários para extrair os "verdadeiros requisitos". A maioria dos desenvolvedores é formada por especialistas. Eles conhecem detalhes técnicos em profundidade e aplicam estes conhecimentos para resolver os problemas do mundo real. Avaliar o custo/benefício de uma solução e construir um sistema avaliando todo o cenário do cliente não é a sua função. O arquiteto tem uma visão mais ampla que o desenvolvedor e conta com o apoio de especialistas nas várias áreas envolvidas em um projeto.