高效程序員的45個習慣:敏捷開發修煉之道(4)

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"溝通是項目順利完成的基礎,達成共識是項目順利完成的保障。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"問題一、編碼過程中發現需求有問題,怎麼辦?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不能只站在開發的角度上來解決問題,要從業務的角度來做決策。在需求評審會上,我們沒辦法找出所有問題,有些問題只有在編碼的過程中才會發現。這個時候最好的方式主動發起一個小範圍的會議,產品負責人、開發負責人、項目經理一起討論,先詳細地解釋遇到的問題,並一起討論後做出決定。如果早上有晨會,可以在晨會上把問題拋出來,確定討論任務和時間,但不做討論。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"問題二、敏捷開發就是不需要寫文檔?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"錯了,敏捷開發宣導的是“不要在前期做大量的設計”並不是說不要設計,這裏的設計分兩層,戰略和戰術。敏捷要求做好戰略設計,設計關鍵流程。它能幫你深入理解需求。戰略設計要求把總體框架描述清楚,而不需要深入到具體的細節。因爲你當前需求的設計是基於當前對需求的理解,一旦開始編碼,很多理解都會改變,設計和代碼實現都是會變化的。所以爲了避免前期設計時間過長,只做戰略設計。具體哪些文檔寫,哪些不寫,可以根據自己部門的情況來達成共識。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"問題三、如何知道一個設計是好的設計?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"代碼很自然地爲設計的好壞提供了最好的反饋。如果需求有了小的變化,它是否仍然容易去實現?如果小的需求變化就帶來一大批基礎代碼的重構,那麼設計就是需要改進的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"問題四、新技術層出不窮,如何決策要不要選擇一個新的技術?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"根據自己的需求來選擇技術。首先你得明確你需要什麼,要解決什麼問題。根據具體的問題來評估使用新技術。其次,要了解新技術的利弊,每一個技術都是有侷限性的。最適合的纔是最好的。最後,你要清楚使用新技術需要付出的代價。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"會議討論必備工具:白板。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章