É um trabalho de um desenvolvedor sugerir requisitos de TI?


26

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.


6
Tendo estado nos dois lados dessa moeda (vários anos de experiência em TI e SD), posso dizer com confiança que se eu tivesse um níquel toda vez que uma equipe de desenvolvedores me desse uma especificação de hardware que se encaixasse com precisão no aplicativo, eu teria US $ 0,00. Provavelmente 90% estavam abaixo das especificações e os outros aparentemente exigiam supercomputadores. Não tenha medo de trabalhar com a TI para descobrir as especificações de hardware! Combinar seu conhecimento do aplicativo com o conhecimento de sistemas e escalabilidade ganhará muito mais do que tentar estimar uma especificação de CPU e RAM com base no desenvolvimento / teste.
Justin ᚅᚔᚈᚄᚒᚔ

Respostas:


52

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.

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.


7
Heavy é o chefe de um pequeno desenvolvedor de loja de códigos, pois é ele quem deve usar muitos chapéus.
Philip

1
Eu terminei recentemente uma migração de site do Wordpress. Não era exatamente isso que eu tinha em mente quando decidi me tornar um engenheiro de software, mas em uma equipe pequena, especialmente em uma empresa pequena, você faz o que precisa ser feito para o bem da equipe, não porque se encaixa na sua ideia de Qual o seu emprego ideal?
cânhamo

15

é minha responsabilidade informá-los sobre quaisquer requisitos específicos de hardware que possam afetar o desempenho do projeto?

É 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.


4
Este. A equipe de TI não tem idéia do quão exigente seu aplicativo pode ser. Sem esse conhecimento, fornecer um servidor é uma facada no escuro. Se eles não souberem e tiverem que fornecer um servidor, geralmente você obterá algo monstruosamente grande demais, pois eles não querem diminuir o tamanho. A menos que, é claro, não haja orçamento, você ficará preso no pequeno servidor e responsabilizado por todos os problemas de desempenho que eles tiverem.
Brian Knoblauch

6

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.


1

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.


0

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.

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é.


0

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.