Pergunta

Os desenvolvedores devem ser limitados a certas aplicações para o uso do desenvolvimento?

Para a maioria, a resposta seria enquanto a equipe de desenvolvimento concorda que não deveria importar.

Para uma empresa auditada para certificações de segurança, existe um método que equilibra o risco da empresa e a flexibilidade, o desempenho dos desenvolvedores?

Alcance

  1. Software de codificação/desenvolvimento
  2. construir software do sistema
  3. Software de terceiros incluído na distribuição (bibliotecas, utilitários)
  4. (Adicional) Software restante na estação de trabalho

Soluções possíveis

  1. Crie uma lista branca do software aprovado, onde o desenvolvedor deve solicitar a aprovação do software desejado antes de poder usá-lo. A aprovação seria baseada em fins de negócios/risco de segurança.

  2. Crie uma lista preta para o software. Os desenvolvedores listam todo o software usado. O quadro de revisão periodicamente passa pela lista.

Alguém teve que trabalhar em uma empresa que restringia as ferramentas de desenvolvedor além da configuração da equipe? Como eles lidaram com a situação?

Editar

Pergunta limpa. Tentou tornar menos argumentativo.

Foi útil?

Solução

Não, os desenvolvedores não devem ser limitados no software que usam, porque os impede de fazer com sucesso seus empregos. Pense em quanto você está pagando à sua equipe de desenvolvedores - você realmente quer que todo esse dinheiro diminua no ralo, porque você os impediu artificialmente de resolver problemas?

1) A empresa bloqueia o PC e trata o desenvolvedor tão competente quanto um secretário

O que acontece quando o desenvolvedor precisa fazer algo com permissões administrativas? Por exemplo: registre um objeto COM, reinicie o IIS ou instale o produto que eles estão construindo? Você acabou de desligá -los.

2) Crie uma lista branca de software aprovado ...

Isso também é impraticável devido à grande quantidade de software. Como desenvolvedor .NET, eu regularmente (pelo menos uma vez por semana) usa mais de 50 aplicativos distintos e estou constantemente avaliando atualizações/alternativas mais recentes para muitas dessas aplicações. Se tudo deve passar por uma lista de permissões, sua equipe de "aprovação" será totalmente inundada por apenas um ou dois desenvolvedores, muito menos uma equipe deles.

Se você tomar uma dessas ações, conseguirá o seguinte:

  1. Você queimará pilhas gigantes de tempo e dinheiro enquanto os desenvolvedores se sentam no polegar, aguardando sua equipe de aprovação ou fazendo as coisas da maneira longa tediosa, porque não tinham permissão para instalar uma ferramenta útil

  2. Você se tornará o inimigo do Departamento de Desenvolvimento (não é bom se quiser que seus desenvolvedores façam o que pedir para eles fazer)

  3. Você pressionará substancialmente o moral da equipe. Ninguém gosta de se sentir trancado em uma gaiola, e toda vez que eles pensam "isso terminaria 5 horas atrás, se eu pudesse instalar o Grep", eles ficarão infelizes.

Uma resposta mais aceitável é criar uma lista negra para software "Problem" (e sites), como Pidgin, MSN Messenger, etc. se você tiver problemas com os desenvolvedores relaxando. Alguns desenvolvedores também se agitam contra isso, mas muitos ficarão bem com isso, desde que você seja sensato na lista negra e não exagere.

Outras dicas

Limitar o software que os desenvolvedores podem usar em suas máquinas de trabalho é uma ideia fantástica. Dessa forma, todos os desenvolvedores desistirão e, em seguida, a empresa não terá que gastar tanto dinheiro em salários e equipamentos, resultando em lucros mais altos.

Resposta real: Não !!!

Eu acho que os desenvolvedores devem ter controle total sobre os aplicativos que eles usam, desde que possam fazer seu trabalho com eles. A produtividade dos desenvolvedores está diretamente relacionada ao ambiente de trabalho e ninguém vai gostar de se restringir e todo mundo gosta de usar software que gosta de si.

Obviamente, deve haver alguns padrões em termos de controle de versão, formato de documento etc., mas geralmente os desenvolvedores devem ter o direito de usar qualquer programa que desejarem.

E a segurança deve ser uma preocupação do desenvolvedor - os administradores da empresa devem se preocupar em estabelecer o firewall adequado para proteger contra qualquer tipo de ataque.

Uma solução melhor seria criar um ambiente independente seguro para os desenvolvedores. Um ambiente que se comprometido não colocará o restante da empresa em risco.

A própria natureza do desenvolvimento é criar soluções engenhosas engenhosas. Para conseguir isso, as falhas devem acontecer.

O que quer que eles façam, não Tire a Internet em geral. Google = Ajuda de codificação 101 :)

Ou talvez apenas deixe www.stackoverflow.com permitiu haha.

Eu diria que isso depende de uma lista de fatores.

Um é o tamanho da equipe. Se você tiver uma equipe de meia dúzia de desenvolvedores, isso pode ser negociado sempre que uma necessidade de algum aplicativo aparecer. Se você tem uma equipe de 100 desenvolvedores, algumas políticas provavelmente estão em ordem.

Outro fator é o que esses desenvolvedores fazem. Se eles compilarem o código C usando um compilador proprietário para uma plataforma incorporada, as coisas são muito diferentes de uma equipe que produz um software Web distribuído ou PC em um ambiente em constante mudança.

O software que você produz e os clientes -alvo também são importantes. Se você está portando o kernel do Linux para uma nova plataforma, se os vazamentos de código provavelmente não importam tão mal tão ruins. OTOH, há muitos casos em que isso é muito diferente.

Existem mais fatores, mas no final tudo se resume a dois objetivos conflitantes:

  • Você quer dar aos seus desenvolvedores o máximo de liberdade possível, porque isso estimula sua criatividade.
  • Você deseja restringi -los o máximo possível, pois isso reduz os riscos. (Estou falando de riscos de segurança, bem como o risco de enviar software que não funcione etc.)

Você terá que encontrar um meio termo que não prejudique a criatividade, permitindo garantias suficientes para não prejudicar a empresa.

É claro! Se você deseja um processo de compilação repetível, não o deseja contaminar por qualquer um pouco de lixo eletrônico que um programador seja usado como uma ferramenta para gerar parte do código. Como qualquer aplicativo que você está construindo dura muito mais tempo do que alguém espera, você também deseja garantir que as ferramentas que você usa para construí -lo estejam disponíveis para aproximadamente a mesma duração; Ferramentas aleatórias da Internet não fornecem nenhuma dessas gauro.

Sua equipe deve dizer "as seguintes ferramentas são permitidas para construir etapas e nada mais" e tentar impedir essa lista.

Obviamente, não deve importar o que um programador procura decidir o que fazer, para que toda a Internet esteja bem, desde que seja justo. Também não importa se ele produz código por mágica (ou ferramenta aleatória), desde que sua equipe não se importe de aceitar apenas a saída dessa ferramenta como se estivesse escrita à mão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top