Se assumir o código de um terceiro, quais são os delivarables?

4

Minha equipe tem que assumir um projeto de uma empresa externa. Eles nos forneceram o último estado do tronco como um arquivo zip e estão tentando nos convencer a aceitá-lo como uma entrega completa de seu desenvolvimento.

Eu oponho-me strongmente a isso, pois considero o código-fonte da seguinte forma:

code = histórico de single commits + estrutura do projeto (ler ramificações, tags) + documentação (tanto quanto existe)

Em outras palavras, considero isso como uma entrega muito incompleta de um projeto, que não faria nada além de tornar o desenvolvimento futuro mais propenso a erros. Escusado será dizer que não podemos confiar no apoio dos antigos programadores a questões que surjam devido ao código legado.

Estou ciente de que essa questão pode ser considerada de certa forma baseada em opinião, mas talvez ainda seja possível encontrar fatos concretos que definam o código-fonte e quando ele possa ser considerado completo?

Existe alguma literatura que eu possa citar sobre esse assunto?

    
por Dr.Elch 19.05.2017 / 05:51
fonte

4 respostas

10

Você está sendo oferecido um lançamento com a fonte. O que você está pedindo é o repositório do código-fonte.

Nenhum desenvolvedor moderno gostaria de ficar sem o histórico no repositório.

A questão é, o que vale a pena para você? Você já olhou para o conteúdo do zip? Eles deixaram você uma bagunça horrível que você estaria melhor sem, afinal? Está em um estado utilizável? Compila mesmo?

Você não explicou por que eles estão relutantes em lhe dar mais. Eu detestaria pensar que eles simplesmente não usavam controle de código-fonte, mas ouvi histórias piores.

Se você começar a discutir sobre a definição do código-fonte ou afirmar que está mantendo-os no contrato, as coisas acabarão caindo. Você precisa entender por que eles estão arrastando os pés nisso. Você pode estar perguntando por algo que eles não têm ou algo que irá envergonhá-los ou algo que eles nunca pensaram que você quer ou algo que eles simplesmente não entendem como dar a você. Um pouco de diplomacia pode resolver este mistério e dar-lhe uma ideia melhor sobre como proceder.

Você tem seus problemas. Eles têm os deles. Mostre a eles que você se importa com os deles e eles podem decidir se importar com os seus. Nunca queime suas pontes com pessoas que já tocaram no código antes. Você nunca sabe quando um telefonema pode lhe poupar semanas de trabalho.

    
por 19.05.2017 / 06:18
fonte
5

É tudo sobre o que você tem no contrato. Se o contrato escreve a entrega deve incluir documentação, histórico de revisão, então ele deve ser entregue. Caso contrário, você pode não ter motivos legais para pedir mais do que apenas o código-fonte.

Escrever documentação leva tempo e não deve fazer parte da entrega, a menos que seja acordado. Como a empresa é uma entidade externa, ela não tem a responsabilidade de entregar seus segredos internos, como confirmações de revisão, a menos que seja especificado no contrato.

As entregas são aquelas especificadas no contrato. Você poderia pedir mais (o melhor que eles poderiam fazer é apenas um NÃO), mas eu não tenho certeza se vai funcionar sem mais pagamento.

    
por 19.05.2017 / 06:10
fonte
2

A história realmente não lhe dá nada que valha a pena discutir. Você vai reverter para uma versão anterior? Você quer ver qual membro da equipe externa apresentou um bug?

Da mesma forma, com os outros metadados do projeto, mesmo que você literalmente tenha a coisa toda com os resultados dos testes, etc., você não terá o conhecimento interno necessário para ler, entender e usar rapidamente o projeto.

Eu gostaria de perguntar:

  • Uma versão de trabalho compilada do software (Ou admissão que está inacabada)

  • Complete o código fonte para essa versão (ou mais recente) e as instruções sobre como compilar.

  • Lista de cópias e licenças de todos os componentes de terceiros usados.

  • Todos os recursos, como dados / obras de arte, etc., nos formatos editável e em uso

  • Toda e qualquer documentação de arquitetura, código, apis e interfaces e manuais de usuário produzidos ou em produção.

  • Qualquer banco de dados usado

por 19.05.2017 / 11:53
fonte
0

Se não for especificado no contrato, não é exigido deles.

Como você está assumindo o projeto, não há muito incentivo para que o gerenciamento da empresa externa forneça o repositório do código-fonte. Eles não receberão mais dinheiro por isso.

Os desenvolvedores podem se sentir diferentes, mas geralmente eles não têm uma opinião sobre como isso deve ser feito.

Ao assumir o projeto, presumo que você continuará o desenvolvimento ou a manutenção do referido projeto. Você pode ser capaz de fazer algum progresso falando com quem está pagando a você (o "cliente") para assumir os códigos e / ou a pessoa que paga a empresa externa para realizar o desenvolvimento e entregar os códigos para você.

    
por 19.05.2017 / 09:13
fonte