cliente" e um problema ou necessidade dessa equipe, nao necessariamente de um individuo ou especialista.Nesse ponto, ja e possivel perceber a necessidade de consistencia entre a visao geral, externa, e a visao tecnica, interna, do(s) servico(s) a ser(em) prestado(s). O ideal seria que o profissional de TI tivesse tempo e trranquilidade para se dedicar as duas visoes. Porem, a realidade das organizacoes que se beneficiam da TI vem desafiando esse profissional com servicos cada vez maiores ou mais complexos (as vezes, criticos). Nesse contexto, surge entao a necessidade de distribuir responsabilidades.Alocar especialistas (designers de interacao, arquitetos de software, programadores, especialistas de teste, especialistas em bancos de dados etc.) parece ser uma solucao natural, boa e necessaria para projetos de grande porte ou de grande complexidade. Porem, alguns cuidados precisam ser tomados:E necessario articular e gerenciar o trabalho dos especialistas, pois muitas vezes, e por razoes variadas, a eles nao e dada a oportunidade de conhecer a realidade dos clientes/usuarios dos servicos. Para suprir essa carencia de informacao, que pode comprometer o projeto como um todo, costuma-se tomar algumas medidas preventivas: escrever e manter especificacoes (construidas e versionadas por especialistas), realizar reunioes periodicas (para acompanhamento de projeto, para validacao de especificacao, de prototipo ou de produto etc.) envolvendo o cliente e toda a equipe, inspecao continua (possivelmente automatizada) dos componentes especializados, entre outras.E necessario garantir que as escolhas tecnicas de cada especialista sejam compativeis entre si. A integracao continua e uma forma bastante eficiente de se atingir esse objetivo. Com essa pratica, o componente (mesmo que parcial) construido por um determinado especialista e verificado e integrado aos demais componentes disponiveis, se possivel varias vezes por dia, todos os dias da semana, durante boa parte do ciclo de vida do produto: desenvolvimento, implantacao e operacao.Para resumir, uma equipe que necessita distribuir o trabalho em funcoes especializadas (ex: Web design, teste, modelagem de dados, programacao da camada de apresentacao, programacao da camada de negocio/servicos etc.), deve faze-lo considerando a necessidade de consumir tempo e esforco no projeto para promover a comunicacao entre cliente e especialistas e para integrar os diferentes componentes especializados.E qual o papel do generalista, se e que ele e importante? Na realidade, o sucesso do projeto depende muito da atuacao dos generalistas - aqueles que conseguem acompanhar um determinado projeto sob diferentes perspectivas, especialmente sob o ponto de vista externo (cliente e usuarios). O bom generalista, sem risco de comprometer sua visao panaromica, deve ter conhecimento e experiencia tecnicas suficientes para avaliar a qualidade tecnica dos produtos entregues e servicos prestados pela equipe. Muitas equipes chamam esse sujeito de coach (eXtreme Programming) ou arquiteto (Unified Process).Em projetos de pequeno porte, e possivel alocar uma equipe pequena proxima ao cliente para, juntos, desenvolverem um novo produto ou servico de TI. Nesse caso, e melhor que cada membro atue como generalista (ainda que atue como especialista em determinados momentos).Em projetos que necessitem da alocacao de profissionais especializados, convem valorizar e multiplicar os generalistas da equipe para reduzir os riscos que rondam esse tipo de projeto.