软件集成策略故事连载----对项目的不利影响竟然这么大
?
2.對項(xiàng)目的不利影響竟然這么大
??? 項(xiàng)目經(jīng)理老劉跟曉川說,等這一輪集成做完,一起聊一聊。曉川聽了有點(diǎn)緊張。不過想一想,自己已經(jīng)很努力了,也沒有什么可擔(dān)心的。其實(shí)關(guān)鍵是程序員提交的質(zhì)量。倒正好可以借這個機(jī)會跟領(lǐng)導(dǎo)溝通一下。
?
周一早上。老劉先是說了些感謝的話,感謝曉川的辛苦工作。曉川聽了很欣慰。接著,老劉用筆記本給曉川展示了一張巨大的圖,跟他說,這是項(xiàng)目的任務(wù)計(jì)劃圖。好復(fù)雜啊,曉川看得一愣一愣的。老劉見狀,轉(zhuǎn)向白板,在白板上給曉川畫了張簡單的圖。如圖 1所示。
?“曉川,我想讓你了解,你的工作對于這個項(xiàng)目有多重要。看這張圖,這是一個典型的例子。開發(fā)任務(wù) B、C、D要想開始,必須在開發(fā)任務(wù) A完成之后。類似這樣一個一個任務(wù)串在一起,就決定了項(xiàng)目至少需要多久才能完成。這個你能理解吧?”
“能。 ”
“但是現(xiàn)在 A任務(wù)完成后, B、C、D任務(wù)不能立即開始。即便是 B、C、D任務(wù)的人手已經(jīng)到位了也不行。你知道細(xì)節(jié)。 ”
“嗯,A任務(wù)完成后,要等到下一輪集成時才能去集成。而集成本身也需要時間,要等集成結(jié)束, A任務(wù)對應(yīng)的改動進(jìn)了基線才行。這時候大家才能看到 A任務(wù)的成果, B任務(wù)才能開始。”曉川很熟悉。
“現(xiàn)在要等多久?”老劉問。
“嗯, 那要看我這邊集成需要多久。剛結(jié)束的一次是整整一周。哦,不止是集成的時間。還要算上等待集成的時間。如果剛好是周一上午完成的,那幾乎不用等。如果不巧 是周二完成的,或者就晚了一步,是周一下午完成的,那就要先等上兩個星期。也就是說,平均要先用一個星期等待進(jìn)入集成環(huán)節(jié),再用一個星期等待完成集成。 ”
曉川說完,陷入沉思。以前只是覺得自己的工作很辛苦,沒想到,整個項(xiàng)目都在看著我,指望我快些、再快些……
“我知道你很辛苦,曉川,”老劉說,“現(xiàn)在你也知道我多么期待你把工作做得更好。你有什么好主意嗎?”
曉川:“我覺得關(guān)鍵是開發(fā)人員提交代碼的質(zhì)量。如果他們在提交前保證代碼是可以編譯通過的,那集成的時候就不會有構(gòu)建問題了。現(xiàn)在昀費(fèi)時間的就是集成的時候反復(fù)構(gòu)建。 ”
老劉:“你是說,大部分時間是用在反復(fù)構(gòu)建上,而不是在這之前的版本合并上?”
曉川:“對, 是這樣。比如這次集成,星期一下午一點(diǎn)開始處理大家的提交。您知道,大家的代碼改動,都在各自的任務(wù)分支上。所謂提交,就是告訴我,等到集成時,要把他的 分支合并到集成分支。在我合并的過程中,可能會遇到版本合并沖突,我就要協(xié)調(diào),誰提交的,就找誰解決。快下班的時候我給所有的還有提交沒有處理的程序員發(fā) 了郵件,讓他們待命,準(zhǔn)備解決沖突。這樣,到晚上九點(diǎn)的時候,所有的版本合并沖突都解決完了。而后面的時間,就都費(fèi)在反復(fù)構(gòu)建上了。”
老劉:“好。那看來反復(fù)構(gòu)建昀費(fèi)時間。然后你的思路是,如果程序員提交的版本都是能構(gòu)建的,你這里就不需要反復(fù)構(gòu)建了?”
“對。這樣的話,說不定周二早上,任務(wù) B、C、D就可以開始了。 ”曉川很有信心。
“如果程序員的提交都沒問題,你確定你構(gòu)建的時候就肯定沒問題么?”老劉降低了語速,一個字一個字地說。
“那當(dāng)然,但是……”曉川意識到了什么,好像這里的邏輯看似簡單明確,其實(shí)并不是嚴(yán)格的推理。
“這樣吧,我看到你有一些想法,這很好。你再想一想。多調(diào)查調(diào)查,看看現(xiàn)在究竟是什么原因需要反復(fù)構(gòu)建。也跟大家聊聊。總之,請你幫忙想想辦法,縮短從任務(wù) A完成到任務(wù) B可以啟動這中間的時間。 ”
本文節(jié)選自《軟件集成策略》一書
董越 著.
電子工業(yè)出版社出版。
轉(zhuǎn)載于:https://www.cnblogs.com/broadview/p/3326519.html
總結(jié)
以上是生活随笔為你收集整理的软件集成策略故事连载----对项目的不利影响竟然这么大的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HBase读写的几种方式(三)flink
- 下一篇: ip通信(第三周)