Quali sono i passaggi necessari per garantire di aver coperto due diligence tecnica all'acquisto di un prodotto software (e IP) creato da un'altra azienda?

7

Se sei stato incaricato di eseguire due diligence per un prodotto software / IP tu / la tua azienda avete preso in considerazione l'acquisto. Quali sarebbero i tuoi passi per assicurarti che l'acquisto fosse accettabile da un livello di rischio tecnico? Lo scenario è che una società ha un prodotto che tu o la tua azienda siete interessati ad acquistare nella sua interezza (IP e codice) in modo che la vostra azienda possa ora vendere quel prodotto o i suoi servizi. L'ipotesi iniziale è che il prodotto abbia un certo valore, ma tu vuoi valutare le basi tecniche del prodotto per assicurarti che non sia un completo hack e un incubo da supportare.

Esempi di questo potrebbero includere

  • Compila / Costruisci e installa il software su un computer pulito per verificare il ciclo di generazione e distribuzione.
  • Esegui uno strumento di profiling del codice sulla base del codice per avere un'idea della qualità complessiva del codice.

Cos'altro? Ci sono risorse / liste di controllo sul web che potrebbero aiutarti?

    
posta Stimy 14.06.2011 - 22:32
fonte

3 risposte

5

Poiché non ho ottenuto una risposta vera alla mia domanda, ho pensato di seguire ciò che ho fatto.

Ho finito per mettere insieme una combinazione di una lista di controllo della Due Diligence e una valutazione della qualità del software in un documento combinato insieme a un elenco di domande e risposte ricevute dalle varie comunicazioni con la società dalla quale stavamo acquistando il prodotto.

Per la valutazione della qualità del software ho utilizzato una variante della norma ISO / IEC 9126 adattandola alle nostre esigenze e ai pesi interni. Questo copre aspetti chiave del software tra cui manutenibilità, evolvibilità, portabilità e descrittività.

L'elenco di controllo della dovuta diligenza aveva un elenco di attività insieme a se erano state completate e commenti su come l'attività era stata svolta. Le attività includevano:

Architettura software

  • Presentazione dell'architettura software di alto livello Presentata
  • Documentazione sull'architettura software fornita
  • Analisi della qualità del codice eseguita

Architettura hardware

  • Panoramica hardware / infrastruttura di alto livello presentata
  • Documentazione sull'architettura dell'hardware / dell'infrastruttura fornita

Supporto

  • Panoramica sul supporto di alto livello presentato
  • Documentazione di supporto e risoluzione dei problemi fornita
  • Procedura dettagliata per l'onboarding di alto livello
  • Documentazione di bordo consegnata

Crea e distribuisci

  • Costruisci e distribuisci la documentazione fornita
  • Clean Machine Build and Deploy eseguito

Stime dei costi

  • Stima i costi di supporto continuativi per l'onboarding e il mantenimento del prodotto in esecuzione
  • Stima i costi iniziali dell'hardware e delle risorse per portare la soluzione "in house"
  • Stima i costi iniziali del software e delle risorse per portare la soluzione "in house"
risposta data 08.09.2011 - 19:24
fonte
3

Aggiungerei effettivamente guardando il codice per vedere se ti fa venire voglia di vomitare.

Come è la documentazione?

Crea senza errori / avvisi?

Hai accesso al loro database di bug? Com'è?

Non l'ho mai fatto prima però. La maggior parte di ciò che ho fatto è valutare l'uso di librerie di terze parti nei nostri sforzi di sviluppo. Per questo fondamentalmente voglio sapere:

  • La società è stabile?
  • Forniscono un vero supporto?
  • Come è la documentazione? Posso imparare facilmente come usare questo?
  • Come è il design? Avrei licenziato gli sviluppatori?
  • Quanto sono veloci a rispondere alle segnalazioni di bug?
  • Fanno una cagata sulla compatibilità con le versioni precedenti?

Cose del genere.

    
risposta data 14.06.2011 - 22:44
fonte
3

PRIMA di acquistare qualcosa assicurati di aver raccolto e annotato tutti i requisiti per il software che stai acquistando. Quindi, elencare tutti i requisiti di alto livello e stabilire la priorità, classificarli e valutarli in base alla loro importanza per il sistema che si sta cercando di acquistare.

Ad esempio, diciamo che (per fare un esempio) hai quattro requisiti, poi li classifica e dai una valutazione:

  • Requisito 1 - priorità 1, 35%
  • Requisito 2 - priorità 1, 35%
  • Requisito 3 - priorità 2, 15%
  • Requisito 4 - priorità 2, 15%

Poi, mentre fai la tua valutazione della tua diversa soluzione, prova ognuno di loro e fai delle domande al venditore per vedere se e se soddisfano le tue esigenze. Poi, metti una valutazione di 1-10 per ciascuno di questi requisiti che determina quanto bene (nei tuoi occhi) il sistema soddisfa i tuoi requisiti.

Moltiplicare ogni classificazione per il fattore percentuale e aggiungerli. In questo modo, puoi avere un modo quantificabile di prendere una decisione e qualcosa che il management può capire (specialmente se si trova in un foglio di calcolo di Excel).

Inoltre, assicurati di includere requisiti funzionali e non funzionali (ad esempio costo, facilità di installazione, ecc.)

L'ho fatto più volte con successo negli ultimi anni.

    
risposta data 14.06.2011 - 22:46
fonte

Leggi altre domande sui tag