回答
這聽起來像每天開會的瀑布。實現敏捷是一個巨大的差異,你不能只是從瀑布變爲敏捷,你需要其他人遵循它的工作。
我認爲最大的變化將是停止在「項目」範圍內的思考,並開始以極小的工作量進行思考。例如,當項目「創建網站X」出現時,您需要逐頁將其分解。確定需要做什麼,我們究竟如何獲取,存儲,更新和顯示數據。需要多長時間才能寫出所需的不同代碼段?一旦完成了這個任務(根據我的經驗,有更多的計劃涉及敏捷),那麼你可以開始說「到星期三,我將能夠向你展示我可以保存在X頁上,然後我將顯示數據在Y頁上「。
通常會有一個「計劃」會議。這可能需要一個小時,或者可能需要6個小時,這取決於您的標準傳達得有多好,團隊中有多少成員,以及您正在使用的衝刺多長時間。每個人都選擇他們會做的工作,並對其進行估算。在你的衝刺之後(大多數人推薦一到兩週),還有一次會議。理想情況下,在這次會議中,每個人都會演示他們過去一週所做的事情,並且它會完美地工作。之後有一些反思,什麼運轉良好?我們是否錯估了一些可怕的東西?
這是一個「循環」,做到50次,網站X完成! :)
Agile實際上是一組基於迭代開發的軟件開發方法論,其中需求和解決方案通過自組織跨職能團隊之間的協作而發展。你自己很難做到。
這就是說,有事情可以做,這將使你更加靈活,和你的隊友可以選擇仿效一旦看到優點:在小塊
- 工作。你想把你的任務分解成可以在合理的時間內完成的部分。 (我所從事的團隊通常以半天爲單位進行測量,因此您可以每天完成2個工作單位,並且每週完成10個單位。)
- 提交功能代碼。當你在工作時,你想經常提交你的代碼,但只有當代碼編譯時,並且沒有打破你的單元測試的情況下工作。你不想成爲提交破壞構建的代碼的人。
- 編寫單元測試。你的團隊正在爲其代碼編寫單元測試,對吧?如果沒有,那麼現在就開始吧。編寫單元測試將迫使您將您的代碼構建爲可測試的,這也將迫使您改進您的實現和設計。它還會檢測迴歸錯誤,通過檢查有人在進行更改時曾經工作的所有內容。
- 單元測試所有錯誤。無論何時您需要修復一個錯誤,首先編寫一個單元測試,導致您的代碼以與錯誤相同的方式失敗。然後修復你的代碼。如果修正是好的,你的單元測試現在應該會通過 - 並且所有其餘的單元測試應該繼續通過。
- 單元測試所有新代碼。當你構建新的代碼時,你應該建立一個規範。確保規範是好的最好方法之一是使用規範爲您的代碼編寫單元測試。一旦你有足夠的測試來驗證你打算寫的代碼,去工作,根據你的測試測試你的代碼。一旦您的代碼通過測試,您可以提交到團隊存儲庫。
- 使用持續集成。這是團隊本身應該做的事情,但是如果您可以使用額外的PC(它不必很快,只需要有足夠的內存和磁盤空間來構建工具和構建軟件)即可。加載CruiseControl.net或Hudson,將它指向您的存儲庫,並將其配置爲等待新提交,檢出工作空間,構建軟件並運行單元測試。爲什麼?因爲在變革傳播到整個團隊之前,有人忽視了他們所做的所有變革,因此它會被抓住。
- 自動構建。在您使用持續集成之前,您需要能夠重複構建您的軟件,而無需人工干預。如果您使用Visual Studio,請學習如何使用MSBuild或Nant進行構建。如果你在做Java,學習如何使用Ant或Maven構建。通過自動構建,避免了與手動步驟相關的構建和發佈問題。 (我曾經從一臺筆記本減少了一個項目的構建過程,每週需要兩名專業人員完成,一組腳本需要大約一個小時才能運行 - 您最好相信這會改進發布的質量。)
首先,有像「的敏捷方法」沒有這樣的事,敏捷是一個描述幾種敏捷方法的總稱,如果你所有的工作正在做的是standups,我已經可以告訴你,這並不能讓工作場所變得敏捷。其次,儘管你可以在個人層面採用一些「敏捷實踐」(特別是工程實踐),但這永遠不足以讓你變得敏捷:1.敏捷在我看來更多關於推動產品開發的方式比工程實踐2.敏捷是一個集體的團隊遊戲。
因此,我的建議是潛入Scrum and XP from the Trenches,併爲您的同事,老闆或潛在贊助商提供一些副本。
恭喜你做了站立。這是一個很好的第一次改變。
你在問,暗示你或團隊想在這方面做得更好。在這種情況下,你可以去以下兩種方法之一:
- 巨大的變化,或
- 逐步改善
如果你決定你想要一個巨大的變化,你可能需要一些書籍,培訓,也可能是一個教練或經驗豐富的從業人員。如果組織中的更高層人員也投入到變革中,這往往是成功的。
如果您決定要逐步改進,那麼爲了獲得一些想法值得閱讀一下Agile。我推薦「XP解釋」。這裏也有很多博客,以及這裏的帖子。你需要做的兩兩件事是:
- 嘗試提供一些軟件,或者至少從相關人士處
- 明白爲什麼這是硬,你可以做什麼,使之更容易得到反饋。
我們通常先做展示,第二次做回顧展。我建議至少每兩週進行一次回顧,即使很難展示工作代碼。
事情我經常看到快速標記了的問題包括:
- 隊不在同一位置(「團隊」包括學士學位,質量檢查)
- 環境不適合在
- 工作缺乏可見性進度或總體目標
- 太多的工作正在進行 - 事情已經開始但尚未完成
- 正在進行的項目沒有人真正在意
- 項目進度顯而易見,它不值得做
- 代碼庫真的很難改變
- 責備文化阻礙合作。
不管你找出來,你不會是第一次。
注意,敏捷是一種透明的方法,所使用的任何版本。很多人被透明度嚇到了。這個是正常的。有時候,高層管理者有一個既得利益,不讓事情變得透明。這也很常見,那時您可能需要外部幫助。但是,交付工作軟件可能非常有說服力。
祝你好運!
如果你想從頭開始做這一點,那麼你需要的是敏捷宣言和經常性的回顧,每星期。但我想這是遠遠不夠的,所以這裏是我的啓動列表:
- 轉換現有的項目任務/點/待辦事項到用戶故事
- 對程序上的一切。經常切換對!
- 使用測試驅動開發。力爭100%覆蓋!
- 使用一週迭代。重複正在學習!
- 提供有價值的軟件,在每次迭代的客戶。
即使整個團隊不能以敏捷的方式工作,您也可以將其作爲開發人員採用的做法很少。您可以從CI,TDD,自動部署開始。作爲一個團隊,你可以嘗試回顧性會議。
- 1. 應用程序引擎的靈活環境如何工作?
- 2. 路徑環境變量如何工作?
- 3. 在敏捷中工作時,我的工作習慣應該如何改變?
- 4. pagehandler不工作的方式它應該
- 5. 在靈活的環境下部署bigtable helloworld無法正常工作
- 6. gethostbyaddr()應該在NAT環境中工作嗎?
- 7. MongoDB工作環境
- 8. 環境變量如何在雲中工作
- 9. 如何在IDE中工作時設置環境變量CHROME_BIN?
- 10. 爲什麼不繼承我認爲它應該工作的方式工作?
- 11. BeautifulSoup在兩種環境下的工作方式不同
- 12. 我應該如何讓我的遊戲以exe格式工作?
- 13. linux實用工具「sort」如何工作? (爲什麼它不工作,我認爲它應該的方式?)
- 14. 該方法如何工作?
- 15. 環境變量爲Android Studio不工作
- 16. 如何在我的舞臺和製作環境中啓動resque工作人員?
- 17. IE靈活的框模型不工作
- 18. 正則表達式不工作在C#中(但在其他環境中工作)
- 19. hasNot()應該如何在Gremlin中工作?
- 20. Yii2格式化程序的語言環境不工作
- 21. BOOST_PREVENT_MACRO_SUBSTITUTION應該如何工作?
- 22. OpenXmlReader.Skip應該如何工作?
- 23. Google App Engine靈活 - 環境變量
- 24. Magento addAttributeToFilter不工作的方式,我認爲它應該
- 25. file.open不工作,我認爲這應該的方式
- 26. 爲什麼isEqualToString不按我認爲應該的方式工作?
- 27. CSS精靈如何工作?
- 28. 精靈如何工作?
- 29. 如何2D精靈工作
- 30. 討論:在Scrum環境中工作TDD
這個問題是題外話,因爲它不是爲範圍本網站所,如定義(// stackoverflow.com/help/on-topic)另請參見[我可以在這裏左右問什麼議題?] [什麼類型的問題,我應該避免問?](// stackoverflow.com/help/dont-ask)您可以問上[另一堆棧交易所網站(// stackexchange.com/sites#name),例如[ pm.se]或[softwareengineering.se]。請務必閱讀幫助中心中針對您打算髮布問題的任何網站的主題頁。 – Makyen 2017-11-04 23:54:43
@Makyen這個問題在這裏不太合適,原因和這裏一樣。請放棄推薦您不熟悉的網站。請參閱** [軟件工程(以前稱爲程序員)發生了什麼?堆棧溢出指南](https://softwareengineering.meta.stackexchange.com/q/7182/31260)** – gnat 2017-11-06 10:07:04