優秀軟體實踐活動(五)

2021-03-31 08:56:30 字數 2051 閱讀 3822

61. 你們的每個人都了解專案的商業意義麼?

要。這是vision的意思。別把專案只當成工作。有時候要想著自己是在為中國某某行業的資訊化作先驅者,或者時不時的告訴team member,這個專案能夠為某某某國家部門每年節省多少多少百萬的納稅人的錢,這樣就有動力了。平凡的事情也是可以有個崇高的目標的。

62. 產品各部分的介面和操作習慣一致麼?

要這樣。要讓使用者覺得整個程式好像是乙個人寫出來的那樣。

63. 有可以作為宣傳亮點的cool feature麼?

要。這是增強團隊凝聚力、信心的。而且,「一俊遮百醜」,有亮點就可以掩蓋一些問題。這樣,對於客戶來說,會感覺產品從質量角度來說還是acceptable的。或者說,cool feature或者說亮點可以作為質量問題的乙個事後彌補措施。

64. 盡可能縮短產品的啟動時間

要這樣。軟體啟動時間(start-up time)是客戶對效能好壞的第一印象。

65. 不要過於注重內在品質而忽視了第一眼的外在印象

程式設計師容易犯這個錯誤:太看重效能、穩定性、儲存效率,但忽視了外在感受。而高層經理、客戶正相反。這兩方面要兼顧,協調這些是pm的工作。

66. 你們根據詳細產品功能說明書做開發麼?

要這樣。要有設計才能開發,這是必須的。設計文件,應該說清楚這個產品會怎麼執行,應該採取一些講故事的方法。設計的時候千萬別鑽細節,別鑽到資料庫、**等具體實現裡面去,那些是後面的事情,一步步來不能著急。

67. 開始開發和測試之前每個人都仔細審閱功能設計麼?

要做。function spec review是用來統一思想的。而且,review過以後形成了一致意見,將來再也沒有人可以說「你看,當初我就是反對這麼設計的,現在吃苦頭了吧」

68. 所有人都始終想著the whole image麼?

要這樣。專案裡面每個人雖然都只是在製造一片葉子,但每個人都應該知道自己在製造的那片葉子所在的樹是怎麼樣子的。我反對軟體藍領,反對過分的把軟體製造看成流水線、車間。參見第61條。

69. dev工作的劃分是單純縱向或橫向的麼?

不能單純的根據功能模組分,或者單純根據表現層、中間層、資料庫層分。我推薦這麼做:首先根據功能模組分,然後每個「層」都有乙個owner來review所有人的設計和**,保證consistency。

70. 你們的程式設計師寫程式設計說明文件麼?

要。不過我聽說微軟的程式設計師2023年以前也不寫。所以說,寫不寫也不是絕對的,偷懶有時候也是可以的。參見第56條。

71. 你在招人面試時讓他寫一段程式麼?

要的。我最喜歡讓人做字串和鍊錶一類的題目。這種題目有很多迴圈、判斷、指標、遞迴等,既不偏向過於考演算法,也不偏向過於考特定的api。

72. 你們有沒有技術交流講座?

要的。每一兩個禮拜搞一次內部的tech talk或者chalk talk吧。讓組員之間分享技術心得,這筆花錢送到外面去培訓划算。

73. 你們的程式設計師都能專注於一件事情麼?

要讓程式設計師專注一件事。例如說,乙個部門有兩個專案和10個人,一種方法是讓10個人同時參加兩個專案,每個專案上每個人都花50%時間;另一種方法是5個人去專案a,5個人去專案b,每個人都100%在某乙個專案上。我一定選後面一種。這個道理很多人都懂,但很多領導實踐起來就把屬下當成可以任意拆分的資源了。

74. 你們的程式設計師會誇大完成某項工作所需要的時間麼?

會的,這是常見的,尤其會在專案後期誇大做某個change所需要的時間,以次來抵制change。解決的方法是坐下來慢慢磨,磨掉程式設計師的逆反心理,一起分析,並把估算時間的顆粒度變小。

75. 盡量不要用virtual heads

最好不要用virtual heads。virtual heads意味著resource is not secure,shared resource會降低resource的工作效率,容易增加出錯的機會,會讓一心二用的人沒有太多時間去review spec、review design。乙個dedicated的人,要強過兩個只能投入50%時間和精力的人。我是吃過虧的:7個part time的tester,發現的bug和幹的活,加起來還不如兩個full-time的。參見第73條。73條是針對程式設計師的,75條是針對resource manager的。

優秀軟體實踐活動(一)

1.你們的專案組使用源 管理工具了麼?應該用。vss cvs pvcs clearcase ccc harvest firefly都可以。我的選擇是vss。2.你們的專案組使用缺陷管理系統了麼?應該用。clearquest太複雜,我的推薦是bugzilla。3.你們的測試組還在用word寫測試用例麼...

敏捷優秀實踐

以下是個人在專案過程中,對專案管理的學習和總結,目的是為了使得開發更有效和舒服,一切順理成章。如有不足之處,還請批評指正。1.專案進度的時間分配 b 最好能讓專案經理或者專案負責人來分配,結對程式設計中主導者負責分配副手的時間 b 不要讓程式設計師自己去分配,因為他對於總體進度的理解不如把控全域性的...

《軟體工程方法與實踐》 2 5 軟體工程活動

在軟體工程的概念被提出來之前,開發人員錯誤地認為,軟體就是開發活動,或者極端地認為其就是編碼,至於分析和設計等都是次要的。隨著軟體規模的不斷增大,軟體開發活動中暴露出很多問題。軟體工程是為克服這些問題而被提出,並在實踐中不斷地探索它的原理 技術和方法。軟體工程的工程化思想讓開發人員看到,軟體工程活動...