一、敏捷簡介
1、敏捷開發方面的書籍
《scrum敏捷專案管理》、《scrum與企業管理》、《scrum要素》、《敏捷回顧》、《使用者故事與敏捷方法》、《敏捷估計與規劃》、《agile development》、《敏捷軟體開發》。
2、敏捷是一種策略,可以應用在很多方面。
在軟體開發方面的話,有敏捷開發、敏捷測試、團隊級別敏捷等。
3、敏捷是可以應用在大型組織(>500人)的。
二、敏捷歷史
1、敏捷最開始還不叫「敏捷」,是叫「迭代和增量式開發」。
2、敏捷並不是在瀑布式開發方式之後,在最近才出現的。實際上,敏捷開發和瀑布式開發是同時產生並同時進行發展的,只不過在最開始出現軟體專案危機的時候,瀑布式開發更加讓人容易理解,所以才導致瀑布式開發更讓人知道。
3、敏捷開發並不只是存在於網際網路領域。比如,美國在2023年開始進行宇航飛船的研發的時候也是包含敏捷思想的。當時宇航飛船在研發過程時時間跨度大,需求也是在不斷的更改的,這樣的現象,如果按照瀑布式研發的話,就會出現很多問題。
4、瀑布式開發是怎麼流行起來的?
瀑布式開發就是按照「系統需求--軟體需求--分析這個需求--程式設計--編碼實現--測試編碼--運營」這樣乙個流程。用這個流程來開發軟體是存在很大風險的(軟體做出來之後,已經沒用途了)、注定也是要失敗的。這樣一步一步的進行,會發現這個過程永遠都無法順序的走下去。在編碼實現過程中經常會發現程式設計有問題,測試編碼的時候經常會發現編碼實現有問題等等。
後面提出了「5步走」來解決這種現象:第一,一定要做好程式的設計。畢竟程式沒有設計好就去開發勢必會出現問題的,有很多需要注意的問題是需要事先就考慮清楚的。第二,一定要把這些設計記錄下來,考慮到後面的維護和傳承。這裡有一點需要注意的是,這個「設計」是一種廣義的含義,上乙個步驟就是下乙個步驟的設計。第三,建議把乙個軟體至少做兩次。第一次以軟體實現為目的把軟體開發出來能夠跑動起來。然後在按照規範把軟體在做一次,相當於是重構一次吧。第四,一定要做計畫,做控制,做測試。第五,在軟體研發過程中一定要讓客戶參與進來,這樣才能從客戶的反饋中知道這個軟體是不是客戶想要的。
後來這個被絕大多數人誤解成了後面的瀑布式開發,其實文章作者的本意不是這樣的,關於這點,這個人的兒子後面出來澄清到他的父親一直都是增量式開發的推崇者。瀑布式開發是不能工作的。
另外還與美國國防部(dod)標準有關:
2023年代,美國是世界上最大的軟體分包商,有大量的軟體外包出去給其他地方的做。既然這樣的話,很定是需要一些約束文件的。所以發布了軟體開發或採購的標準,名為dod-sts-2067,這個是基於瀑布模型和文件驅動方式(比如在進入開發時,所有的設計文件有沒有全,這樣的文件式驅動)。
2023年,乙份針對國防部早期專案失敗率的報告指出:在總值370億美元的樣本集中,失敗或從未被使用過的專案佔75%,只有2%的專案無需經過大量修改即可使用。
2023年,舊標準被更新為更貼合iid(迭代增量式開發)的2167a標準所替代。但最初始的單步瀑布圖表仍在其中。
最後在2023年12月,2167a標準被mil-std-498替代。後面這個標準就描述了增量式版本。每個版本都實現計畫功能的乙個特定子集。每個版本都會重複所有流程步驟,而且及時在每個版本內,步驟也可以是重疊和迭代的。每次版本都是有些新功能的,都是可以執行的。
比如乙個2年的專案,把它拆成8個版本,每個版本裡面也進一步拆分成更小的版本,這樣的話就可以形成「小步快跑」的節奏,可以不斷的拿出新的成品給客戶使用,為了迎合客戶的要求,需求也不斷的進行調整,通過這種滾雪球的方式,最終作出一款符合客戶願景的產品。
5、國外有人對高效研發團隊作出了成功模式的總結:
(1)迭代式開發,而不是一次性悶頭幹到底(2)簡單的組織結構,角色數量低於平均值(3)架構師也是程式設計師,不去做編碼就不知道架構的出錯地方(4)團隊內高度口頭溝通,而不是通過各種流程各種發郵件等,口頭溝通也可以減少誤解。每天都開一次技術同步及討論會議(5)小型飛虎隊先搭建出核心架構,然後在擴大團隊。
6、為什麼敏捷會流行起來
主要應對的事需求的變化。需求變化與專案大小是成正比關係的。專案越大,時間跨度大,這個時間過程中需求肯定是會不斷變化的。
其實總的說起來,就是玩遊戲一樣,開發專案也要及時反饋。對!敏捷開發,其實就是可以理解為及時反饋~
7、做敏捷,不用猶豫
李嘉誠語錄 1
l在處於逆境的時候,你要問問自己是否有足夠的條件,當我自己逆境的時候,我認為我夠就!因為我勤奮 節儉 有毅力,我肯求知及建立信譽。l人生最重要的不是所站的位置,而是所朝的方向。l隨時留意身邊有無生意可做,才能抓住時機就 把握公升浪起點。著手越快越好。遇到不尋常的事發生的時候立即想到賺錢,這是生意人應...
Python學習 語錄
最近開始學習python,跟著vamei的教程走 做下筆記,加深印象!按學習進度更新 15 10 29 1.指令碼執行許可權 chmod 755 py 2.四個空格表示隸屬關係 似乎同一關係中空格沒有嚴格要求?3.除法運算要使用浮點數才能得到小數,只要其中乙個數為浮點數即可,如 3 2 1,3.0 ...
C 學習語錄
窗體其實就是乙個類。當我們新新增乙個窗體時,其實就是新增了乙個類,並且這個類是繼承於form類。form2 newform new form2 上面這行 很明顯是例項化乙個form2類的物件,即new乙個form2的物件。執行緒切換 無論是多程序還是多執行緒,只要數量一多,效率肯定上不去,為什麼呢?...