1.看完整部教材後,我仍然不懂的一些問題?
Q1:第四章 兩人合做
4.5.4 「如何結對編程」中提到html
「駕駛員和領航員不斷輪換角色,不要連續工做超過一小時,每工做一小時休息15分鐘。」git
這裏的「不能連續工做超過一小時,每工做一小時休息15分鐘」是否太過絕對?有時候編寫某個模塊時,工做狀態正好,若是忽然停下來去休息或者去作其餘輕鬆的事,反而會大大影響本身的工做效率。以我本身爲例,若是在很順手地編寫某一段代碼時,被打斷了一段時間,後面再繼續時會感受以前的「手感」徹底不見了。這裏是否是應該認爲判斷本身的效率降低時,選擇去休息調整更好?數據庫
Q2:第九章 項目經理
- 9.3 提到「PM作開發和測試以外的全部事情」,這裏設想一下,若是PM參與開發,是否是能更好地掌握當前的項目進度,從而更好地協調團隊內部外部,調配各部門資源和時間,更順利地完成項目計劃呢(這裏或許與書中問題中的舵手和划船手不一樣,PM參與開發並不意味着失去方向,而舵手參與划船則會使得船失去方向、穩定)?
Q3:第十三章 軟件測試
- 13.2.7的夥伴測試中,要求測試人員做爲開發人員的一個夥伴,並對其模塊在本地作必要的迴歸/功能/集成/探索測試。但是據書中前面所說,最好是開發人員本身寫測試,由於開發人員是最清楚本身代碼的人。那麼,爲何不讓開發人員進行測試?或者說給每一個開發人員分配一個測試人員進行結對?
Q4:第十六章 IT行業的創新
16.1.5 「迷思之五:要成爲領域的專家,才能創新」中提到編程
「統計數據代表,70%的創新者說,他們最成功的創新,是在他們的拿手領域以外發現的」瀏覽器
而關於領域內的專家有時候沒有領域外的創新者那麼有創意這個問題,是否是由於專家在這個領域研究得多了,被一些固有模式所絆住了呢?還有,若是創新就是知識->金錢的過程的話,那麼咱們去了解多個領域是否是更有利於咱們創新呢?安全
Q5:第十七章 人,績效和職業道德
- 17.1「領導力--帶領團隊成長」中,若是一個團隊剛剛成立,有一我的以技術見長,而一我的在相關原理知識方面更勝一籌,兩我的的其餘如交際能力等很好且相差無幾,那麼這兩我的哪一個更適合當團隊的領導,帶動團隊成長呢?
2.「軟件」 和 「軟件工程」 這些詞彙是如何出現的 - 什麼時候、何地、何人?
- The earliest known publication of the term "software" in an engineering context was in August 1953 by Richard R. Carhart, in a Rand Corporation Research Memorandum.(最先在工程背景下出版的術語「軟件」是由Richard R. Carhart在蘭德公司研究備忘錄中於1953年8月出版的。)
- Margaret H. Hamilton began to use the term "software engineering" during the early Apollo missions in order to give software the legitimacy of other fields such as hardware engineering.(<font face="微軟雅黑"在早期的阿波羅任務中,瑪格麗特·漢密爾頓開始使用「軟件工程」這個術語,以使軟件具備硬件工程等其餘領域的合法性。)
3.軟件工程發展的過程當中有趣的冷知識和故事?
說一說Lua語言的由來吧。Lua 是一個小巧的腳本語言,由標準C編寫而成,幾乎在全部操做系統和平臺上均可以編譯,運行。是由三個巴西人Roberto Ierusalimschy、Waldemar Celes、Luiz Henrique de Figueiredo發明。發明的緣由是巴西石油公司PETROBRAS沒辦法使用指定的硬件,使用公衆的資金須要經過一系列的嚴格手續,而且現有設備中什麼平臺什麼系統都有,因此Lua被設計成一個基於ANSI C開發能夠任意跨平臺的語言。服務器
4.目前流行的源程序版本管理軟件和項目管理軟件都有哪些, 各有什麼優缺點?
目前流行的源程序版本管理軟件和項目管理軟件:Microsoft TFS,Git, SVN, Mercurial,Trac等。其中版本管理軟件排行榜svn