Sou o único desenvolvedor que trabalha em um aplicativo Web que está chegando ao fim. Agora, estamos pensando em torná-lo ao vivo daqui a alguns meses.
Esta é uma aplicação web para uma empresa que não é de TI. Embora eles tenham sua própria equipe interna de TI, eles me perguntaram quais serão os requisitos de hardware para os servidores ativos, por exemplo. RAM, 32 bits ou 64 bits.
A equipe de TI interna não deveria estar fazendo isso ou como sou a única pessoa trabalhando no projeto, é minha responsabilidade informar a eles sobre quaisquer requisitos específicos de hardware que possam afetar o desempenho do projeto?
A razão pela qual estou fazendo essa pergunta é que, eu nunca fiz isso antes. Todas as vezes que recebia um servidor e pedia para implantar aplicativos nele. Eu nunca me preocupei com a configuração do servidor, etc.
fonte
Respostas:
Talvez eles pensem que, como desenvolvedor, você tem mais insights sobre os requisitos do aplicativo do que eles. Presumivelmente, você está executando o aplicativo e sabe quanta memória requer sob diferentes cargas.
Do ponto de vista do departamento de TI, eles ficam felizes em fornecer o que o seu aplicativo precisa. Provavelmente, eles poderiam descobrir o que o aplicativo exige por tentativa e erro, ou poderiam pedir a opinião de um cara na empresa que provavelmente teria uma ideia do comportamento do aplicativo.
Não é incomum que os desenvolvedores sejam solicitados a fazer coisas que não estão estritamente na descrição de seu trabalho . Talvez você precise escrever alguma documentação, mesmo que haja um escritor técnico na equipe. Pode ser necessário participar do processo de teste, mesmo que exista um departamento de controle de qualidade. Ou você pode ser solicitado a ajudar a escrever uma proposta, mesmo que haja um analista de negócios no projeto. Isso é normal - você faz parte de uma equipe e sua principal preocupação deve ajudar a equipe a ter sucesso. Também é bom para você, pois expande sua experiência e ajuda a entender o que os outros membros da equipe fazem, e é bom para a empresa, pois difunde conhecimento.
fonte
É responsabilidade do fornecedor do produto (sua empresa, neste caso) definir os requisitos mínimos para a operação bem-sucedida do produto. Como pessoa responsável dentro da sua empresa; pode ser o líder técnico do projeto ( soa como você ) ou o CTO da sua empresa - o que não importa para o seu cliente.
No entanto, deve ser fornecida uma lista de especificações mínimas para permitir o bom funcionamento deste produto em uma máquina e servidor cliente.
fonte
Dependeria de alguns detalhes. Mas, em geral, eles podem esperar pelo menos que você lhes dê alguns requisitos mínimos, pois você deve ter um conhecimento melhor sobre a tecnologia usada no projeto. Você saberia qual banco de dados é usado se usasse algum indexador adicional para pesquisa de texto completo, o que talvez exigiria mais memória ou usaria núcleos adicionais.
Por outro lado, eles talvez também tenham algum conhecimento adicional, como que tipo de carga esperar, quantos clientes podem acessar o site e assim por diante.
Eu simplesmente tentaria entrar em contato direto com a equipe de TI e trazer o conhecimento de ambos os lados.
fonte
Neste ponto do processo, eles devem absolutamente estar solicitando essas informações. A equipe de desenvolvedor / desenvolvimento não é apenas responsável por escrever o código. É seu trabalho entender o aplicativo que você está construindo e todo o seu funcionamento interno. Esse conhecimento deve ter vindo de suas reuniões internas de design. Quem melhor para avaliar o perfil de execução do sistema com todas as suas nuances do que a equipe / desenvolvedor que o construiu.
No final do jogo, eu ficaria mais preocupado se eles estivessem ditando a configuração do servidor em vez de me perguntar.
fonte
Requisitos de hardware não significam nada.
Enquanto você, como desenvolvedor, pode estar pensando nesses termos, tenha cuidado para que ninguém do lado comercial realmente se importe com as respostas que você der a essas perguntas. O que importa é o desempenho do aplicativo da web . Com base nessa pergunta, suspeito que você não tenha requisitos de desempenho (como solicitações por segundo e tempo médio de carregamento de uma página). Você deve fornecer orientação técnica no desenvolvimento das respostas a essas perguntas antes de se preocupar com os requisitos de hardware.
Idealmente, você não deve fazer isso sozinho: você, um analista de negócios, alguém de TI que conhece o custo de um servidor e o gerente de projetos deve definir os requisitos de desempenho e seu impacto no escopo / cronograma / orçamento. Depois de acordado, você e a equipe de TI podem trabalhar juntos para descobrir exatamente o que isso significa, mas há uma boa chance de que você queira fazer alguma otimização do seu lado, além de jogar hardware nele.
Mesmo que você precise fazer isso sozinho, recomendo documentar seus requisitos de desempenho em termos mensuráveis que não são descrições arbitrárias de hardware - isso também permitirá a você voltar mais tarde para a TI e pedir mais se o aplicativo não estiver ' t executando até rapé.
fonte
Você não pode esperar que eles conheçam os requisitos de software de hardware que nunca viram. Os arquitetos e desenvolvedores seniores devem ter uma idéia aproximada de quanto poder de armazenamento e processamento é necessário para uma quantidade x de clientes. Quanto a quantos clientes o software precisa suportar, isso depende do cliente e realmente deve estar na especificação desconectada.
fonte