軟件安全開發(fā)之軟件開發(fā)的特點(diǎn)二
3)隱性成本高
只要是產(chǎn)品開發(fā)就總會(huì)存在開發(fā)成本的概念,也需要對(duì)項(xiàng)目進(jìn)行預(yù)算,這一點(diǎn)軟件產(chǎn)品的開發(fā)也不例外。與其他產(chǎn)品開發(fā)不同的是,軟件開發(fā)的隱性成本很高。所謂的隱性成本, 是指在項(xiàng)目預(yù)算時(shí)并沒(méi)有將其考慮在內(nèi),但它確實(shí)在將來(lái)的開發(fā)活動(dòng)中會(huì)導(dǎo)致額外的成本開銷。
4)細(xì)節(jié)很容易被放大
軟件開發(fā)過(guò)程中的一個(gè)很小的細(xì)節(jié)很容易被放大。對(duì)于一個(gè)模塊在設(shè)計(jì)時(shí)所留下來(lái)的小窟窿,哪怕是微不足道的,但是這個(gè)“微不足道”最后很可能演變成項(xiàng)目組的沉重負(fù)擔(dān)。 對(duì)于大型項(xiàng)目,如果大家隨意地包含頭文件,最后很可能造成每一次項(xiàng)目編譯都浪費(fèi)了不少時(shí)間;修補(bǔ)一個(gè)缺陷時(shí),由于覺(jué)得沒(méi)有必要去除其中一處冗余設(shè)計(jì)卻有可能最后落得難以維護(hù);因?yàn)椴恍⌒膶ⅰ?=”錯(cuò)寫成了“=”而造成一個(gè)嚴(yán)重的軟件缺陷,等等。
在軟件行業(yè),似乎存在這種必然,只要某種事情有可能變壞那就一定會(huì)變壞(墨菲定律),軟件行業(yè)能很好地體現(xiàn)“蝴蝶效應(yīng)”,也就是說(shuō)一個(gè)細(xì)節(jié)最終對(duì)項(xiàng)目所造成的負(fù)面影響并非是按它應(yīng)有的比例出現(xiàn)的,而是遠(yuǎn)遠(yuǎn)大于這一比例。
軟件開發(fā)無(wú)小事,可能一開始認(rèn)為很小的事,到最后明白其重要性時(shí)卻已讓團(tuán)隊(duì)背上了沉重的負(fù)擔(dān),進(jìn)而可能壓垮團(tuán)隊(duì)。對(duì)于“小事”的把握,需要對(duì)軟件行業(yè)有較為全面和深刻的認(rèn)識(shí),以及豐富的經(jīng)驗(yàn)和良好的洞察力。
5)質(zhì)量評(píng)估很需專業(yè)的高水平
一個(gè)表面上好的軟件設(shè)計(jì)未必就好,而設(shè)計(jì)不良則早晚會(huì)出問(wèn)題,從而帶來(lái)隱形成本。 要真正地評(píng)估軟件的質(zhì)量需要通過(guò)評(píng)估其設(shè)計(jì)質(zhì)量著手,而這很需專業(yè)的高水平。這里所說(shuō)的專業(yè)水平不能簡(jiǎn)單地理解為評(píng)估人具有什么樣的學(xué)歷,或通過(guò)了什么認(rèn)證,而是需要他對(duì)軟件行業(yè)有深刻的理解和豐富的經(jīng)驗(yàn),以及擁有自己的軟件設(shè)計(jì)思想。通常這類評(píng)估人也應(yīng)具當(dāng)對(duì)軟件設(shè)計(jì)有著精神上的追求(否則他的水平也不會(huì)高到哪兒),很顯然這種人是一種稀缺資源。
真正高水平軟件工程師的稀缺也加劇了軟件行業(yè)的困難,由于缺乏這些“領(lǐng)頭羊”,項(xiàng)目組在開發(fā)過(guò)程中無(wú)法有目的地朝著高質(zhì)量設(shè)計(jì)的方向前進(jìn),而只能是以完成工作為目標(biāo)。 結(jié)果很有可能是項(xiàng)目組多走彎路,以及項(xiàng)目面臨更高的隱形成本。