2023年11
月29日
16:31
有團隊就需要過程管理,以便協調資源,高效合作。我們公司的「青蛙王子」,「三頂法」都是這樣的代表。儘管透著樸實,但是曾經比較起作用的。
現成的主流方**如何呢?現成的方**有兩個大類,乙個大類是以
rup,
cmmi
為代表的重型方法;一類是集中於敏捷旗幟下的若干方法,如
xp(極限程式設計),
scrum
等。首先,我需要做乙個宣告,就是我並不打算評價這些方面的優劣——我不是方法學家,不會對他們都有完整全面的了解,也談不上什麼公正的評價——而是表達從我們小型團隊的角度,看到了什麼,嘗試了什麼,為和做出選擇或者不選擇的判斷。我希望能夠比較客觀的提出看法,而不太多的夾雜個人的喜好,儘管這一點幾乎不可避免——我提出的是「人」的看法。
rup還好,我們有過第一手經驗。在幾個專案中都號稱用
rup來進行軟體開發過程的管理,然後幾個專案完成,我們對
rup的看法幾經變遷,留下的主要是「迭代開發」,「使用
uml設計」這樣的實踐。大家決定後,在乙個專案週期內就忘記了
rup的存在,而是每天面對螢幕,奮力敲入**,回到自己擅長的部分。當然有時候用
rational clearcase
的時候,偶爾想起「恩,我們好像在『
rup』呢」,然後繼續
code
。實際上,
rup對我們的程式設計師的日常工作影響不多,我也不知道
rup引入後,我們因此和以往有什麼進步。也許並非
rup不好,而是對我們不適合:那麼多的文件,那麼多的工件和工具,需要很多的時間去理解、消化、裁剪,然後為我所用。 對
cmmi
的了解則是來自於一些二手的經驗。我曾經看過一家公司的
cmmi
的第四級實施,並和幾位實施者討論過。他們的開發部門共有
50人左右,其中有
8人在做這個實施,已經做了幾個月,並且還要做幾個月;他們都在編寫文件,並且專門的乙個會議室內堆了很多的文件。可是,當我問及
cmmi
對他們有什麼好處的時候,他說:「過了級,更加容易拿到專案」。就是說,他們並沒有更多的改進方法,也缺乏一定的改進上的針對性。文件和書也看了不少,講座也聽了
n回,可是,我們該做什麼呢?面對這樣的乙個基本問題,我承認我無話可說。
前些日子,我們做了
scrum
公開課。除了公司內的,還有其他公司的幾個經理也被邀請過來。講完後,我和其中乙個經理談了談。他們公司剛好是用
cmmi
的!他們做了
5年,並且這些年一直在伴隨著諮詢,文件眾多,他說,「對於維護型的專案,我們共
50多人做乙個專案,
cmmi
顯得嚴謹而有效,尤其是其中的需求變更流程;不過現在也常常會需要做些小型的專案,本來就幾個月的時間,幾個人做,大家都反應這樣走流程,做很多任務件太麻煩,幾個專案經理都在和我鬧,希望減少流程。」。他希望也考察下
scrum
看看是否可以讓公司接受新的方**。我的結論是,敏捷對於小型團隊是非常有用的,而大型些的專案,需要嚴謹的專案,
cmmi
也許更好。
xp 讓我們有了新的看法。
xp很明顯是程式設計師建立的,因此面向**方面更多一些。
xp裡談及的
12項實踐,比如
tdd,
結對程式設計等都看來簡單,實施起來很難。以
tdd為例,在我們乙個
8000
多個函式的專案中,通過
tdd產生的函式不足
100。這個專案中很多人都是**湖了,他們依然要慨嘆,
tdd很難真正的實施。
對小型團隊而言,cmmi,rup太冗餘,xp太難,至於其他的,我系統了解過,結論是不值一提。因此scrum上位也就是理所當然的了。
元組 檔案 以及其他
1 操作符測試值的相等性。python執行相等測試,遞迴地比較所有的內嵌物件 is 表示式測試物件的一致性。python測試二者是否同乙個物件。x 1,2,3 l a b v d s1 spam s2 spam s1 s2,s1 is s2 true,true s2 spam is a s1 spa...
關於創業 產品以及其他
引言 不久之前,有朋友有乙個想法,想要開始著手去做,故邀我一敘,本文是其中聊天以及討論的內容記錄,無它,唯思考爾。1.引子 l是我網上認識的乙個朋友,聯絡之後,他希望見面聊,希望看看彼此是否有合作的機會。我沒有細問其具體的產品方向,約好某一天一起聊聊。從地鐵出來,找了乙個小飯館。路上簡單了解了一下l...
list 型別轉換 以及其他應用
型別轉換一般方法 list轉listlistlist new arraylist list.add 1 list.add 2 liststrings lists.transform list,new function system.out.println strings.tostring list轉...