這里說的可視化是特指進(jìn)度的可視化。
軟件工程的概念來源于建筑工程,很多人都知道。但是,軟件工程有它自己的特性,如知識(shí)性,不可見性等等。對(duì)于不了解的人,個(gè)人都是用建筑中的砌墻來說明。主要用來說明軟件開發(fā)的進(jìn)度的不可見性,就是說事實(shí)上是有進(jìn)度,但不為人所理解。
砌墻這個(gè)比喻是形象的,基本可以了解。一堵100平的墻,材料,人工,工期都可以計(jì)算得清清楚楚,要趕工,加人也基本都是最好的方法。每天的進(jìn)度也可以看得到。有一次這個(gè)比喻被人否定了,反駁的理由是砌墻也會(huì)被刮風(fēng)下雨形象。好吧,所以這里的砌墻是在室內(nèi)的砌墻,材料,人等所有的資源都是完美的,不考慮其他因素,只是用來說明可視化的進(jìn)度的。
軟件開發(fā),想出一個(gè)好的算法,一個(gè)好的解決方案。很多人會(huì)認(rèn)為花了許多的時(shí)間才出個(gè)算法,出個(gè)方案,一點(diǎn)進(jìn)度都算多了,這是在偷懶嗎?怎么能解決了大部分問題呢?這就是軟件開發(fā)并不是像建筑砌墻那樣有可視化的進(jìn)度。它交付的是智力成果,代碼行也不一定能準(zhǔn)確的反映工作量。同樣的作用的代碼,不見得代碼行數(shù)多的就工作量更多,有時(shí)更少的代碼行數(shù)反而是付出更多的工作量。所謂大道至簡。
可視化的進(jìn)度最好了,但不一定適用于軟件工程。做好溝通交流用戶養(yǎng)成顯得更為重要。