軟件造價(jià)評(píng)估發(fā)現(xiàn)大量開(kāi)源代碼該如何做資產(chǎn)評(píng)估?
現(xiàn)在一個(gè)軟件開(kāi)發(fā)人員,一天可以寫多少代碼行數(shù),有沒(méi)有什么標(biāo)準(zhǔn)?
答:沒(méi)有標(biāo)準(zhǔn),不同開(kāi)發(fā)語(yǔ)言差別也很大,如果是C++/Java這樣的語(yǔ)言,全生命周期算大概一人天30-50行(包括需求分析,設(shè)計(jì),編碼,測(cè)試等),如果只是說(shuō)程序員,而且只寫不改,一天寫幾百甚至上千行代碼也是可以的。
那軟件代碼的復(fù)用的問(wèn)題,有沒(méi)有什么處理辦法?比如在軟件造價(jià)評(píng)估中發(fā)現(xiàn)大量采用開(kāi)源代碼,或者類似利用Java的開(kāi)源代碼?
答:使用開(kāi)源代碼倒沒(méi)也什么,但是甲方要關(guān)注法律風(fēng)險(xiǎn)(很多開(kāi)源軟件并不是無(wú)條件開(kāi)源,比如有些是不可以用于商業(yè)用途的,或者用于商業(yè)用途要支付額外的費(fèi)用以獲得授權(quán)。管理嚴(yán)格的甲方會(huì)要求供應(yīng)商給出所有用到的開(kāi)源軟件或代碼的清單,同時(shí)附上相關(guān)版權(quán)聲明)。對(duì)于成本評(píng)估,復(fù)用度/吻合度的評(píng)判通常還是從業(yè)務(wù)視角看,當(dāng)然也會(huì)考慮行業(yè)慣例。例如新版本和舊版本中類似的功能,同一版本中相近的功能,無(wú)論代碼是否重用,都會(huì)調(diào)整復(fù)用度/吻合度。
另外就是評(píng)估一些常見(jiàn)系統(tǒng)、常見(jiàn)功能時(shí)(例如門戶網(wǎng)站、普通的系統(tǒng)管理功能等),會(huì)考慮行業(yè)通常情況對(duì)復(fù)用度/吻合度酌情調(diào)整。
開(kāi)源代碼的資產(chǎn)評(píng)估通常需要考慮以下幾個(gè)方面:
- 代碼質(zhì)量:評(píng)估開(kāi)源代碼的質(zhì)量,包括代碼的可讀性、可維護(hù)性、可擴(kuò)展性、安全性等方面??梢允褂靡恍┰u(píng)估指標(biāo),如代碼復(fù)雜度、代碼行數(shù)、函數(shù)/模塊數(shù)量等來(lái)衡量。
- 技術(shù)風(fēng)險(xiǎn):評(píng)估開(kāi)源代碼的技術(shù)風(fēng)險(xiǎn),包括代碼的穩(wěn)定性、可靠性、兼容性等方面??梢詫?duì)代碼進(jìn)行測(cè)試和驗(yàn)證,了解代碼的歷史版本和社區(qū)支持情況,以評(píng)估技術(shù)風(fēng)險(xiǎn)。
- 開(kāi)發(fā)成本:評(píng)估開(kāi)源代碼的開(kāi)發(fā)成本,包括開(kāi)發(fā)時(shí)間、人力成本、硬件資源等方面??梢愿鶕?jù)項(xiàng)目需求和團(tuán)隊(duì)技術(shù)能力,估算使用開(kāi)源代碼進(jìn)行開(kāi)發(fā)所需的成本。
- 社區(qū)支持:評(píng)估開(kāi)源社區(qū)的支持情況,包括社區(qū)的活躍度、貢獻(xiàn)度、版本更新頻率等方面??梢酝ㄟ^(guò)查看社區(qū)的貢獻(xiàn)者數(shù)量、討論活躍度、版本更新速度等來(lái)了解社區(qū)支持情況。
- 法律風(fēng)險(xiǎn):評(píng)估開(kāi)源代碼的法律風(fēng)險(xiǎn),包括版權(quán)、專利、許可證等方面。需要對(duì)開(kāi)源協(xié)議和版權(quán)聲明進(jìn)行審查,以確保在使用開(kāi)源代碼時(shí)不會(huì)產(chǎn)生法律問(wèn)題。
在評(píng)估開(kāi)源代碼的資產(chǎn)價(jià)值時(shí),需要綜合考慮以上因素,并使用一些評(píng)估方法,如成本法、市場(chǎng)法、收益法等來(lái)得出評(píng)估結(jié)果。