0. 為啥要講人、績效、和職業道德? 學好專業不就行了麼,為啥要扯這麼多?
用專業知識教育人是不夠的。通過專業教育,他可以成為一種有用的機器,但是不能成為一個和諧發展的人。要使學生對價值有所理解並且產生熱烈的感情,那是最基本的。他必須獲得對美和道德上的善惡鮮明的辨別力。否則,他 —— 連同他的專業知識 —— 就更像一隻受過很好訓練的狗,而不像一個和諧發展的人。為了獲得對別人和對集體的適當關係,他必須學習去了解人們的動機、他們的幻想和他們的疾苦。
---- 愛因斯坦
1. 比較不同團隊的績效評估方法,提出自己團隊的績效評估計劃
用某一次《現代軟體工程》課上的幾個團隊的部落格做例子:
第一組(seven):
我們可以按照以上的9級來分,但是對於我們而言,大家在很大程度上都是同一級的勞動者……所以我們可以進一步細分同一級的排名,比如將整個任務分為等量的小任務,每個人負責其中的一個,而最終大家的排名可以通過完成這類任務的個數來決定。關於如何評價是否完成“任務”,可以通過功能性、是否準時來評價;當整個工程完結時,我們可以做一次評定(review),包括功能、效能和程式碼的評價,然後大家之間討論互評。
第二組(霸王):
對於浮動分數,可以通過每個職位對團隊的貢獻來分配。隊友之間根據各自的貢獻給出排序,最後彙總得分。
第三組(銣銫):
一群學生做軟工專案(PM、開發、測試),PM:0.3(n*30)分,開發:0.5(n*30)分,測試:0.2(n*30)分
第四組(take it & go):
在團隊合作中,每個成員的貢獻度不僅僅取決於其工作量,而且還取決於這份工作對團隊的意義有多大。我們認為貢獻度的計算應遵循如下公式:
貢獻度 = 工作量×工作的影響力×工作的不可替代性
這個等式給我們的評測提供了一個方向。與直接估計貢獻度相比,分別估計三個分量顯得更易操作,準確性也更高。
//評點:如果大家都想做“不可替代的工作”,怎麼辦?
第五組(banana):
關於管理體系,可以天花亂墜地說很多,但實際和理論會差得很遠,我們並不能完全按照一個專業團隊去執行。大四是一段美好休閒的時光,很難要求大家訓練有素地執行進度,我們只能儘可能友情提示大家一起幹一些事,但我覺得做完整個工程應該沒有問題。
//評點:我個人覺得第五組的同學最適合去壟斷性國企。
如何衡量兩個團隊成員的勞動生產率呢?或者這已經超越了勞動生產率的範疇,到了智慧財產權,職業道德的領域?
2. 在團隊中會不會出現 “劣幣驅逐良幣” 或者 “不敢犯錯誤” 的現象?
例如,在大家做任務估計的時候,那些給出非常樂觀估計的成員會不會產生無形的壓力,讓一些實事求是的團隊成員不得不調整他們原來比較靠譜的估計,最後導致整個團隊的估計都是過於樂觀, 客觀(包括比較保守和悲觀)的估計都消失了?
或者,在工作中太看重失誤,懲罰失誤,導致無人敢冒險?
請看這個例子: NBA 球星科比的投籃不中次數已經是歷史第一,超越了大部分NBA 球員的所有投籃數:
http://china.nba.com/news/4/2014-11-12/1048/24547.html link2
這麼多投籃不中,應該懲罰麼? 如果要嚴厲懲罰的話,科比,或者球隊會有更好的成績麼?
3. 請閱讀驅動和責任[LL1] ,討論團隊如何能讓所有人都明確驅動和責任
有極端的看法說任何與報酬掛鉤的績效評估都是有害的,你怎麼看?
4. 採訪並收集下面幾類公司對員工績效考核的做法:
- 已經上市多年的公司
- 剛剛上市或準備上市的公司
- 國有軟體企業,
- 民營軟體企業
- 初始的創業公司
5. 走出“自我”和“當下”
在授課過程中,我也看到不少同學還是隻關注“自我”和“當下”,不善於跟別人合作,也不會估計別人會怎麼想,或者估計“我們的團隊將來會發生什麼,我要如何應對”。造成這種現象的一部分原因是,不少同學從小就被灌輸“搞好自己的學習就可以了”,“把眼下的考試考好,以後就好了”,另一部分原因是,同學們從來沒有練習如何與別人合作,估計別人會想什麼,估計團隊以後會發生什麼。
科學家認為,人類有別於其他動物的最大特點是人類大腦裡有發達的部分在處理“別人在做什麼”和“未來會發生什麼”(Interpersonal Awareness & Social Awareness)這些事情。能擺脫[自我/當下]而考慮到[別人/將來],從而主動為群體和將來行動,這是人和其他動物不同的地方(來源: http://www.pbs.org/wnet/humanspark/)。
在成功的大型企業中,人際交流能力和人際覺察(Interpersonal competence, and Interpersonal Awareness)是員工素質培訓的一個重要部分,它包括如何與別人建立平等而融洽的合作關係,如何處理矛盾與衝突,如何影響同事,如何給別人的工作做評價,如何能瞭解別人表面行動下的言外之意、隱含的動機等等。在前文提到的“黃金點遊戲”這個場景中,一位參賽者需要了解一屋子的同學大概的思路 ,如何影響他們,自己才能增加獲勝的希望。如果每個人獨自埋頭推導公式,而不管其他人在想什麼,是得不出獲勝的數字的。
一個軟體團隊,如果大家都不考慮“別人”、“未來”,光是每個人獨立地搞自己眼前的一攤事,是不行的,把自己的程式碼重構出花來也不行,把SCRUM(史克朗姆)玩到極限也不行。這也是我覺得聰明的同學們欠缺較多的地方。所以《現代軟體工程》課包括了很多“兩人合作”、“黃金點遊戲”以及估算工作量等練習[1]。
上這門課的同學,你覺得這些活動和練習有價值麼?
人和人不一樣, 你覺得程式設計師和自閉症的患者有什麼聯絡麼?
http://archive.wired.com/wired/archive/9.12/baron-cohen.html
如果把人按照 empathetic (有同理心的) -- systematic (系統思維的) 兩極來分類, 有人畫出瞭如下的分佈示意圖,你怎麼看?
參考資訊1: 通常人們都在路邊招手叫計程車,只有很少的人打電話約車, 從2014年起,在很多叫車軟體出現後, 在路邊招手往往看到很多計程車不停車,因為它們已經被叫車軟體訂了。很多人說這對於沒有叫車軟體的弱勢群體不公平,你說呢?
12. 成長,責任,和公司的關係
絕大部分的工程師都在某一個企業工作,工程師的成長也和企業的興衰有很大關係。企業興旺,工程師也是與有榮焉,很多人覺得是自己的功勞,理所應當提薪升職;企業衰落,很多工程師未必覺得是自己的問題(我的程式碼很好的,都是經理,市場,老大的問題!); 企業最後要裁員,很多人為了一些補償和企業產生糾紛。
幾個例子:
http://weibo.com/1620213837/BgSGLhdAe
http://www.csdn.net/article/2014-09-29/2821931
http://www.csdn.net/article/2014-10-01/2821945
那麼,軟體工程師在企業中是勞動密集型的工人麼,還是有獨創性的專業人士? 他們對軟體企業的成敗負多大的責任?
13. 工程師單打獨鬥 - 接私活
和上面的討論題目相關, 很多人把專案的不如意歸結於團隊,公司,等等個人之外的因素, 那麼,當工程師一個人做全棧工程師,順便把別的角色都搞定,是不是很爽呢? 當一個工程師直接在社會上拼搏的時候,會碰到什麼有意思的事情呢? 我們看看 “接私活” 這個場景。 請看完下面的幾個故事,談談 “接私活的軟體工程要注意幾個方面”:
http://www.cnblogs.com/geeking/p/3157744.html
http://www.cnblogs.com/txw1958/archive/2012/11/06/programmer-personal-work.html
http://www.cnblogs.com/yhyjy/p/4444094.html
http://www.cnblogs.com/myproj/p/3402928.html
http://www.cnblogs.com/toutou/archive/2013/05/06/4602685.html
http://www.cnblogs.com/shenyisyn/archive/2013/01/11/2856753.html
http://www.cnblogs.com/jj-fly/articles/2086838.html
http://www.cnblogs.com/adylee/archive/2009/06/05/1497022.html
===== 教材知識點之外的話題 =====
[1] 國外還有Social awareness + emotional skills = successful kids的說法, 據說此類教育在小孩到了高中甚至成年都有積極的影響。參見:http://www.apa.org/monitor/2010/04/classrooms.aspx