Knowledge Gained by The Joel Test: 12 Steps to Better Code

今天ㄚ琪讀完Gained by Back to Basics這章後繼續拜讀第三章約耳測試:邁向高品質的12個步驟,聽說過SEMA嗎?ㄚ琪好歹也唸過資管畢業,怎會不知道,但是當然正如約耳說的,這個東西會花你很多時間,研究所時候確實有人在論文上是以這個東西為方向的,不過我不是,因此就不要花太多時間了。

約耳有一套自己的測試方法,嗯,ㄚ琪很欣賞這個方法,也或多或少有在用,讓我自評一下吧!

約耳測試 (Joel Test)

  1. 你有使用原始碼控制系統嗎?
  2. 你能用一個步驟建出所有結果嗎?
  3. 你有沒有每天都重新編譯建立(daily builds)嗎?
  4. 你有沒有問題追蹤資料庫(bug database)?
  5. 你會先把問題都修好之後才寫新的程式嗎?
  6. 你有一份最新的時程表嗎?
  7. 你有規格嗎?
  8. 程式人員有沒有安靜的工作環境?
  9. 你有沒有用市面上最好的工具?
  10. 你有沒有測試人員?
  11. 有沒有在面試時要求面試對象寫程式?
  12. 有沒有做走廊使用性(hallway usability)測試?

ㄚ琪學過原始碼控制系統,就是約耳說的免費CVS,所以這一點是贊同的,雖然目前自己的部門只有自己在寫,但相信我以後一定會用的,有沒問題追蹤資料庫,ㄚ琪也聽說過一些問題追蹤系統,但我想在自己所寫的程式中,日報系統及現行的網誌其實應該就算我自己的問題追蹤資料庫了,不錯吧!請不要再罵我工作中寫Blog了,它真的是我的工作日誌!最新的時程表是一定會定的,這叫目標管理不是嗎?ㄚ琪確實也需要安靜的工作環境,感謝老闆讓我確實有這樣的環境!有沒市面上最好的工具,沒有,絕對沒有,而且超慢的,跑一個程式可以讓我看完一個章節了,夠慢吧!當然這是較誇張的用詞啦!有沒測事人員,我的user就是測試人員,夠精簡吧,當然這樣子一定是不好的!所以我自評後可以得5分吧!看來可以比平均2~3分高一些吧!

你能用一個步驟建出所有結果嗎?

中譯是修正「最後的」問題,課本是寫「最後一個」問題,但是註解有描述就像考試收卷前的心態,再寫最後一題就好。這個InstallShield也是我在用的沒錯,不過這個分數我不敢拿,畢竟還是不太懂這個意境。

你有沒有每天都重新編譯建立(daily builds)嗎?

沒有團隊哪來的每天編譯,ㄚ琪舉手投降,另外可以繼續參考每日編譯是你的好朋友這一章。

你有沒有問題追蹤資料庫(bug database)?

一個最簡化的有效問題資料庫必須包含每個問題的下列資料:

    1. 重現問題的完整步驟
    2. 應該看到的行為
    3. 實際看到的(有問題的)行為
    4. 被指派的負責人
    5. 是否已修正

我想以後我的工作日誌會盡量合乎上述步驟的資料,雖然已經在做了,但是應該可以做的更好才是!

無痛錯誤追蹤是長怎樣,待我繼續讀下去就會知道!

你會先把問題都修好之後才寫新的程式嗎?

ㄚ琪對這沒概念,所以0分,不過老師既然教導要先把問題修好,那就這樣做囉!

你有一份最新的時程表嗎?

當然有,但是說實在的,要訂時程還滿困難的,特別是要跟客戶定期限,總覺得頭髮會越掉越多!

不過課本說功能過度膨脹(featuritis,又名scope creep),這個定義連結http://www.netmeg.net/jargon/terms/c/creeping_featuritis.html失效,其實不是失效是那個定義不見了?所以改看維基的吧!但是很抱歉沒有中文的看!另外關於無痛軟體時程,文中敘述建立好用時程表的簡單方法,ㄚ琪期待趕快看到那一章!

你有規格嗎?

沒有,但是也可能有,像是之前在跟客戶demo的時候,所做的,不過這是要學的,另外,也學到了Netscape的歷史問題,參考你絕對不應該做的事 之一就可以瞭解,另外有提到去參加寫作課程,網址在http://www.yale.edu/english/undergraduate-courses.html,這是耶魯的說,台灣人我想高中不是常寫作文嗎?就好好練一下吧!ㄚ琪就在工作達人自練了!

另外課本後面有四章系列文章可以學,不要灰心,一定可以學好的!

程式人員有沒有安靜的工作環境?

哈哈,原來有沈浸狀態這個學問,說得好啊!另外這本書Peopleware:腦力激盪產業的人才管理之道,方亞瀾,錢一一譯,經濟新潮社,列到書單進來,有空一定要去讀讀看!

你有沒有用市面上最好的工具?

沒有,公司cost down的太兇了,不買新的設備,不過我家裡倒是自行添購了一台新的桌機了,32章兩個故事應該也很好看!

「一流的開發團隊不會虐待他們的程式人員。即使工具不好所引起的挫敗很小,累積起來都會讓程式人員心情不爽脾氣暴躁。而不爽的程式人員就等於無生產力的程式人員。」這句說得太好了!

你有沒有測試人員?

一人公司很難找到測試人員,校長兼敲鐘的應該會有很多冊市的迷失,看看不用測試人員的五大(錯誤)藉口應該會有很多學習!

有沒有在面試時要求面試對象寫程式?

ㄚ琪如果是老闆或人事主管,鐵定會這麼做,不然老是找一些說會什麼C語言的,結果進來都不會寫,搞屁啊!

軟體人員面試教戰守則給老闆看看反省一下吧!

有沒有做走廊使用性(hallway usability)測試?

參閱約耳寫的免費線上UI設計書,是針對程式人員的短篇入門書,課本說只有免費試讀的,但是從連結來看,又是免費的中譯書囉,大家好好把握去努力讀吧!

「不過處理使用者介面時有一點最重要:如果你把程式展示給少數幾個人看(事實上五或六個就夠了),就能快速地發現一般人會遇到的主要問題。Jakob Nielsen的文章中有解釋原因。即使你的UI設計技巧不足,只要強逼自己實行不花什麼工夫的走廊使用性測試,就會讓你的UI水準大幅提昇。」

這個走廊使用性感覺好像做吃的找路人來試吃喔!嗯!好好學吧!就是這樣!

約耳測試的四種用法

    1. 對你自己的軟體組織評分,再把分數給我作為講八卦的題材。
    2. 如果你是一個程式設計團隊的經理,可以用它來確保團隊能在最佳狀態工作。等拿到12分之後,就可以把程式人員放著不管,專心去避免業務的干擾就好了。
    3. 如果你正在決定是否接受一份程式設計的工作,可以問問未來可能的雇主他們能拿幾分。如果分數太低時要先確定你有權修正這種問題。否則你將會灰心喪氣而且一事無成。
    4. 如果你是個正在評估某個程式設計團隊價值的投資者,或是你的公司正考慮與其他公司合併,這個測試可以提供快速的判斷方法。
    5. 好,我算第二類的吧,這樣知道怎麼找工作了!給志在軟體產業的男女青年一個建議,這篇必讀!

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *