如何用正確的方法來寫出質(zhì)量好的軟件的75條體會

字號:

這七十五條,是網(wǎng)友在微軟工作兩年來的體會的總結(jié),關(guān)于如何用正確的方法來寫出質(zhì)量好的軟件的體會的總結(jié)?;蛟S看似平淡無奇,但大音希聲,這七十五條的效用,未必及不上那幾十頁幾百頁的體系,卻遠(yuǎn)遠(yuǎn)比那好用:
    1. 你們的項目組使用源代碼管理工具了么?
    2. 你們的項目組使用缺陷管理系統(tǒng)了么?
    3. 你們的測試組還在用word寫測試用例么?
    4. 你們的項目組有沒有建立一個門戶網(wǎng)站?
    5. 你們的項目組用了你能買到的工具么?
    6. 你們的程序員工作在安靜的環(huán)境里么?
    7. 你們的員工每個人都有一部電話么?
    8. 你們每個人都知道出了問題應(yīng)該找誰么?
    9. 你遇到過有人說“我以為…”么?
    10. 你們的項目組中所有的人都坐在一起么?
    11. 你們的進(jìn)度表是否反映最新開發(fā)進(jìn)展情況?
    12. 你們的工作量是先由每個人自己估算的么?
    13. 你們的開發(fā)人員從項目一開始就加班么?
    14. 你們的項目計劃中buffer time是加在每個小任務(wù)后面的么?
    15. 值得再多花一些時間,從95%做到100%好
    16. 登記新缺陷時,是否寫清了重現(xiàn)步驟?
    17. 寫新代碼前會把已知缺陷解決么?
    18. 你們對缺陷的輕重緩急有事先的約定么?
    19. 你們對意見不一的缺陷有三國會議么?
    20. 所有的缺陷都是由登記的人最后關(guān)閉的么?
    21. 你們的程序員厭惡修改老的代碼么?
    22. 你們項目組有team morale activity么?
    23. 你們項目組有自己的logo么?
    24. 你們的員工有印有公司logo的t-shirt么?
    25. 總經(jīng)理至少每月參加一次項目組會議
    26. 你們是給每個dev開一個分支么?
    27. 有人長期不check-in代碼么?
    28. 在check-in代碼時都填寫注釋了么?
    29. 有沒有設(shè)定每天check-in的最后期限?
    30. 你們能把所有源碼一下子編譯成安裝文件嗎?
    31. 你們的項目組做每日編譯么?
    32. 你們公司有沒有積累一個項目風(fēng)險列表?
    33. 設(shè)計越簡單越好
    34. 盡量利用現(xiàn)有的產(chǎn)品、技術(shù)、代碼
    35. 你們會隔一段時間就停下來夯實代碼么?
    36. 你們的項目組每個人都寫daily report么?
    37. 你們的項目經(jīng)理會發(fā)出weekly report么?
    38. 你們項目組是否至少每周全體開會一次?
    39. 你們項目組的會議、討論都有記錄么?
    40. 其他部門知道你們項目組在干什么么?
    41. 通過email進(jìn)行所有正式溝通
    42. 為項目組建立多個mailing group
    43. 每個人都知道哪里可以找到全部的文檔么?
    44. 你做決定、做變化時,告訴大家原因了么?
    45. stay agile and expect change
    46. 你們有沒有專職的軟件測試人員?
    47. 你們的測試有一份總的計劃來規(guī)定做什么和怎么做么?
    48. 你是先寫test case然后再測試的么?
    49. 你是否會為各種輸入組合創(chuàng)建測試用例?
    50. 你們的程序員能看到測試用例么?
    51. 你們是否隨便抓一些人來做易用性測試?
    52. 你對自動測試的期望正確么?
    53. 你們的性能測試是等所有功能都開發(fā)完才做的么?
    54. 你注意到測試中的殺蟲劑效應(yīng)了么?
    55. 你們項目組中有人能說出產(chǎn)品的當(dāng)前整體質(zhì)量情況么?
    56. 你們有單元測試么?
    57. 你們的程序員是寫完代碼就扔過墻的么?
    58. 你們的程序中所有的函數(shù)都有輸入檢查么?
    59. 產(chǎn)品有統(tǒng)一的錯誤處理機制和報錯界面么?
    60. 你們有統(tǒng)一的代碼書寫規(guī)范么?
    61. 你們的每個人都了解項目的商業(yè)意義么?
    62. 產(chǎn)品各部分的界面和操作習(xí)慣一致么?
    63. 有可以作為宣傳亮點的cool feature么?
    64. 盡可能縮短產(chǎn)品的啟動時間
    65. 不要過于注重內(nèi)在品質(zhì)而忽視了第一眼的外在印象
    66. 你們根據(jù)詳細(xì)產(chǎn)品功能說明書做開發(fā)么?
    67. 開始開發(fā)和測試之前每個人都仔細(xì)審閱功能設(shè)計么?
    68. 所有人都始終想著the whole image么?
    69. dev工作的劃分是單純縱向或橫向的么?
    70. 你們的程序員寫程序設(shè)計說明文檔么?
    71. 你在招人面試時讓他寫一段程序么?
    72. 你們有沒有技術(shù)交流講座?
    73. 你們的程序員都能專注于一件事情么?
    74. 你們的程序員會夸大完成某項工作所需要的時間么?
    75. 盡量不要用virtual heads 這75條的主題是這樣的:
    1-5: 工具
    6-10:溝通
    11-15:計劃和進(jìn)度表
    16-20:缺陷管理
    21-25:士氣
    26-30:配置管理
    31-35:風(fēng)險控制
    36-40:又是溝通
    41-45:還是溝通
    46-50:測試
    51-55: 又是測試
    56-60:編碼,developer
    61-65:規(guī)劃,envision
    66-70:設(shè)計
    71-75:人力資源