現代軟件工程 第十七章 【人、績效和職業道德】 練習與討論

1. 比較不同團隊的績效評估方法,提出自己團隊的績效評估計劃

用某一次《現代軟件工程》課上的幾個團隊的博客做例子:

第一組(seven):
我們可以按照以上的9級來分,但是對於我們而言,大家在很大程度上都是同一級的勞動者……所以我們可以進一步細分同一級的排名,比如將整個任務分爲等量的小任務,每個人負責其中的一個,而最終大家的排名可以通過完成這類任務的個數來決定。關於如何評價是否完成“任務”,可以通過功能性、是否準時來評價;當整個工程完結時,我們可以做一次評定(review),包括功能、性能和代碼的評價,然後大家之間討論互評。

第二組(霸王):
對於浮動分數,可以通過每個職位對團隊的貢獻來分配。隊友之間根據各自的貢獻給出排序,最後彙總得分。

第三組(銣銫):
一羣學生做軟工項目(PM、開發、測試),PM:0.3(n*30)分,開發:0.5(n*30)分,測試:0.2(n*30)分

第四組(take it & go):
在團隊合作中,每個成員的貢獻度不僅僅取決於其工作量,而且還取決於這份工作對團隊的意義有多大。我們認爲貢獻度的計算應遵循如下公式:

貢獻度 = 工作量×工作的影響力×工作的不可替代性

這個等式給我們的評測提供了一個方向。與直接估計貢獻度相比,分別估計三個分量顯得更易操作,準確性也更高。

//評點:如果大家都想做“不可替代的工作”,怎麼辦?

第五組(banana):
關於管理體系,可以天花亂墜地說很多,但實際和理論會差得很遠,我們並不能完全按照一個專業團隊去執行。

大四是一段美好休閒的時光,很難要求大家訓練有素地執行進度,我們只能儘可能友情提示大家一起幹一些事,但我覺得做完整個工程應該沒有問題。

我個人覺得第五組的同學最適合去壟斷性國企。                        

如何衡量兩個團隊成員的勞動生產率呢?或者這已經超越了勞動生產率的範疇,到了知識產權,職業道德的領域?


 

2. 在團隊中會不會出現“劣幣驅逐良幣”的現象?

例如,在大家做任務估計的時候,那些給出非常樂觀估計的成員會不會產生無形的壓力,讓一些實事求是的團隊成員不得不調整他們原來比較靠譜的估計,最後導致整個團隊的估計都是過於樂觀, 客觀(包括比較保守和悲觀)的估計都消失了?

 

3. 請閱讀驅動和責任[LL1] ,討論團隊如何能讓所有人都明確驅動和責任

4. 採訪並收集下面幾類公司對員工績效考覈的做法:

  • 已經上市多年的公司

  • 剛剛上市或準備上市的公司

  • 國有軟件企業,或民營軟件企業

  • 創業公司

5. 走出“自我”和“當下”

在授課過程中,我也看到不少同學還是隻關注“自我”和“當下”,不善於跟別人合作,也不會估計別人會怎麼想,或者估計“我們的團隊將來會發生什麼,我要如何應對”。造成這種現象的一部分原因是,不少同學從小就被灌輸“搞好自己的學習就可以了”,“把眼下的考試考好,以後就好了”,另一部分原因是,同學們從來沒有練習如何與別人合作,估計別人會想什麼,估計團隊以後會發生什麼。

科學家認爲,人類有別於其他動物的最大特點是人類大腦裏有發達的部分在處理“別人在做什麼”和“未來會發生什麼”(Interpersonal Awareness & Social Awareness)這些事情。能擺脫[自我/當下]而考慮到[別人/將來],從而主動爲羣體和將來行動,這是人和其他動物不同的地方(來源: http://www.pbs.org/wnet/humanspark/)。

在成功的大型企業中,人際交流能力和人際覺察(Interpersonal  competence, and Interpersonal Awareness)是員工素質培訓的一個重要部分,它包括如何與別人建立平等而融洽的合作關係,如何處理矛盾與衝突,如何影響同事,如何給別人的工作做評價,如何能瞭解別人表面行動下的言外之意、隱含的動機等等。在前文提到的“黃金點遊戲”這個場景中,一位參賽者需要了解一屋子的同學大概的思路 ,如何影響他們,自己才能增加獲勝的希望。如果每個人獨自埋頭推導公式,而不管其他人在想什麼,是得不出獲勝的數字的。

一個軟件團隊,如果大家都不考慮“別人”、“未來”,光是每個人獨立地搞自己眼前的一攤事,是不行的,把自己的代碼重構出花來也不行,把SCRUM(史克朗姆)玩到極限也不行。這也是我覺得聰明的同學們欠缺較多的地方。所以《現代軟件工程》課包括了很多“兩人合作”、“黃金點遊戲”以及估算工作量等練習[1]

上這門課的同學,你覺得這些活動和練習有價值麼?

 

6. 刷課軟件和刷票軟件

在大學裏,網上選課非常講究時效——因爲好的課程不多,大家都想上。大家也討論過“刷課機”、“換課機”這樣的小程序是否合乎道德和公平。春運火車票也是同樣的搶手,那麼程序員寫一些瀏覽器插件/專用小軟件去搞票是好事,壞事,還是不好不壞?這些行爲應該用哪些道德/規定/法律來約束?

 

7. A/B 測試和道德

技術的發展必然會波及到社會的其它方面,例如道德。 一個網站能用 A/B 測試來影響用戶的情緒麼? 如果是爲了“科學實驗” 的目的呢?

請看下面事件並討論:

http://techcrunch.cn/2014/07/02/ethics-in-a-data-driven-world/ 

 

同學們可以結合本章講述的道德規範,從正面和反面辯論一下。

 

8. 軟件團隊的發展階段

結合課本上提到的四個階段,描述一下你目前的軟件團隊處於什麼階段,爲什麼?

 

9. 團隊如何做決定

軟件開發和軟件團隊的生存都面臨許多問題,需要許多睿智而果斷的決定,一個團隊如何做決定呢?  有下面幾種方式,請評說各自的優缺點:

a) 獨裁:   領導說了算

b) 獨裁+顧問:  領導和一些外部的顧問商量之後做決定

c) 民主投票:這樣就產生了贏家和輸家

d) 全體一致同意後再決定:皆大歡喜?

 

10. 測定工程師的效率

軟件工程師各自效率不同,這是客觀存在的,你們團隊中效率最高的工程師和效率最低的工程師相差多少? 能否設計一個可以量化的測試標準,統計一下?

 

11. 合作伙伴評比

在這個軟件工程課上,你有機會和5-7 名同學進行了深度的合作,那麼,誰的合作精神好?

在課程的最後階段, 每個人列出一個一維的名單,你自己也在裏面,從合作精神最高到最低排列,沒有並列。

小夥伴1

小夥伴2

本人

小夥伴3

...

 

如何打分?  “本人” 得到0 分, 比“本人“高一個名次,則加 1 分,低一個名次,則減 1 分, 以此類推。 TA 拿到全部人的提名後,給所有人統計分數。 然後公佈。

任課老師決定是否給得分最高的部分同學某種獎勵分。  

 

12. 職業道德評論

選取最近IT 界發生的一些事件(例如,某員工因爲個人恩怨把公司服務器上的數據全刪掉),對照軟件工程師職業道德的條款, 評價當事人的軟件工程師職業道德如何。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章