第五章(團隊和流程)83-99
這一章主要介紹的是團隊精神
那是不是說只要能組合在一起的就是組成了一個團隊了?其實不然,軟體團隊有各種形式,適用於不同的人員和需求。適合自己的團隊才能共贏!
一個好的團隊流程能把衝突的積極方面(各自盡力把自己的工作做好,說服別人)釋放出來,而避免消極方面(因為衝突而產生的消極、牴觸情緒等)。我們不能因為說有了團隊的隊友就放鬆對自己的要求,因為每一個人的工作質量會直接影響到最終軟體的質量,當所有的個人高質量工作加起來才可以達到一個優秀的團隊高質量工作專案。
軟體團隊的模式有好多種:主治醫師模式、明星模式、社群模式、業餘劇團模式、祕密團隊模式、特工團隊模式、交響樂團模式、爵士樂模式、功能團隊模式和官僚模式。每一個團隊不能夠衝著利益最高的而自創模式或亂串模式,適合自己團隊和專案要求的才是最重要的。那麼怎樣加強與別人的合作呢?在一個組織之中,很多時候,合作的成員不是我們能夠選擇得了的,所以很可能出現組內成員各方面能力參差不齊的情況,如果作為一個領導者,此時就需要很好的凝聚能力,能夠把大多陣列員各方面的特性凝聚起來,同時也要求領導者要有很好地與不同的人相處與溝通的能力。如果領導者在開始時沒有以身作則做好各方面的工作,就會產生許多不良的後果。
所以,學會與他人合作,發揮團隊精神在具體生活中的運用,可以使我們收到事半功倍的效果,可以使我們的工作更加良好地向前發展。
-
第六章(敏捷流程)100-119
“敏捷流程”是一系列價值觀和方法論的集合,這個做法並得到了一些軟體界的專家的肯定。
在6.1.1 中有談到敏捷的開發原則,其中有一條說“經常釋出可用的軟體,釋出間隔可以從幾周到幾個月,能短則短”,那麼,是不是可以把問題對應到我們平時電腦或手機上的軟體更新?相信大家都會遇到這樣的一個困惑,我們的電腦和手機時不時就會彈出一個框來提示我們要更新系統軟體的版本,可是,版本更新得如此頻繁,那些軟體需要我們更新的軟體,如果我們更新完了,這個軟體就真的是煥然一新了嗎?就會有更好的體驗效果了嗎?答案是不一的,因為作為使用者的我們,從實戰可以得出,有時候一些軟體的更新只是很微小,更新完後幾乎發現不了有什麼大改動,此時就會讓有些使用者覺得該公司是在“騙流量或者騙點選量”。這些都因人而異,因為有時有的軟體更新真的可以使得使用者使用更加方便或有更大的視覺衝擊震撼。
敏捷的適用範圍是有限的,敏捷對團隊的要求很簡單:自主管理(Self-managing)、自我管理(Self-organizing)、多功能型(Cross-functional),一般人不能馬上做到這一點,它不是“銀彈”,不能解決軟體開發的所有問題,所以敏捷的方法不是萬能的,它能幫助你更早地知道你是否能如期完成任務,如此而已,那到底什麼時候才適合選擇敏捷?這就要根據不同使用者跟不同專案的實際需求而定了,因此我們不能過於依賴敏捷做法。
-
第七章(MSF)120-140
什麼是MSF?它其實就是微軟推薦的做軟體的方法——微軟解決框架方案(Microsoft Solution Framework,MSF)。
我很欣賞MSF的九條基本原則:推動資訊共享與溝通;為共同的遠景而工作;充分授權和信任;各司其職,對專案共同負責;交付增量的價值;保持敏捷,預期和適應變化;投資質量;學習所有的經驗;與顧客合作。
MSF規劃得如此合理,那麼是不是就可以隨意而安了?答案不言而喻,MSF在世界範圍內由微軟顧問諮詢部及微軟認證的培訓中心提供培訓,它在不斷髮展,它是一個框架結構,它不是一成不變的。相反,MSF會隨我們從微軟的客戶和合作夥伴那裡的學習而不斷的發展和完善,新的思想和準則會不斷地被引進MSF。這些發展將適應技術的更新、商業需求的變化,並支援構建更好的軟體解決方案。
MSF注重團隊模型,它展示瞭如何組織專案隊伍,在時間控制和連續不斷髮展計劃的要求下,有效的交付系統的解決方案。它描述了六種基本的角色(產品管理、專案管理、開發、釋出管理、測試、使用者體驗)。在MSF團隊模型中,任何技術專案都必須達到特定的關鍵質量目標,才能夠被認為是成功的專案。任何一個角色都無法實現其目標,都將危機整個專案。因此,每個角色都被認為是同等的重要,重要的決定都要共同做出。