軟體質量的認識論:每晚有多少睡眠?你工作愉快嗎?這些是最影響軟體質量的問題。 - increment
研究表明,人為因素最影響我們的工作質量,可是為什麼我們會投入更多精力希望透過技術性解決方案解決軟體質量呢?
假設您經營一個新團隊。您可以一刀切地實施任何您想提高人員生產力和減少程式碼錯誤的策略。你會做什麼?
進行配對程式設計!切換到Haskell!使用UML進行所有操作!這些技術都有自己的書籍和會議。但是他們值得努力嗎?它們生效需要多長時間?他們甚至都能有效嗎?
這些技術解決方案中很少有能影響軟體質量的:
靜態型別?FSE 2014年提出的一項研究:沒有發現任何證據表明,靜態型別是有幫助的-或有害的。
編碼標準?在ICSM 2008上分享的另一篇論文發現,這些會使情況變得更糟。
程式碼審查?好的,根據Empirical Software Engineering發表的2016年一篇文章,實際上有效。但是我們不能僅僅依靠我們團隊的成功“更多程式碼審查。”
我堅信技術解決方案會有所幫助。但是,我們經常將將技術工具和流程的選擇作為決定團隊成敗的關鍵決策。業內知名人士可能聲稱:Lisp是“ 秘密武器 ”;Python使用者是“ 不道德 ”;必須使用TDD才能“ 專業。”
除了技術因素,我們還需要談論人為因素。
每晚有多少睡眠?您上次上一次工作超過40小時是什麼時候?你工作愉快嗎?這些是最影響軟體質量的問題。
程式設計是我們思維的延伸,任何損害我們思維的東西都會損害我們的程式設計技能。
睡眠
有兩種睡眠剝奪。我們經常將失眠視為急性睡眠剝奪(ASD):醒來24小時或更長時間。大多數人已經知道這很糟糕。根據IEEE Transactions on Software Engineering進行的2018年研究,新手程式設計師在經歷ASD時喪失了大部分技能,並且我們可以合理地假設高階開發人員(也就是其他人)也不能倖免。
根據2007年《神經精神疾病與治療》的文章,大多數傷害睡眠不足的人不知道自己的病情惡化,這是在傷害中增加了侮辱。一個開發人員不一定能說出他們犯了更多的程式設計錯誤,這使得自我調節變得更加困難。這意味著危險更加微妙,長期並且容易被忽略。
慢性睡眠剝奪(CSD)更微妙,連續幾個晚上睡眠不足。2007年的文章證明了CSD全面降低了心理表現。更糟糕的是,要完全逆轉CSD,可能要花幾個晚上恢復時間,每晚要睡超過八個小時 。
工作時間
根據勞動經濟學研究所2017年的一份報告,呼叫中心員工在大約四個小時後發現他們的服務質量直線下降。研究人員估計,在每週工作60個小時的兩個月後,生產率下降的速度甚至更快,
壓力
最後,考慮壓力。當您焦慮,生氣或分心時,很難集中精力。也有理由認為,當您承受壓力時,您沒有那麼有生產力或一絲不苟。疾病預防控制中心 的一部分,國家職業安全與健康研究所已經表明,壓力大的護士既生產力低下,又犯嚴重錯誤的可能性大大增加。
2014年發表在PeerJ上的一項研究發現,快樂的開發人員只要直截了當地解決問題即可。
總結
一方面,一些研究表明,諸如語言選擇和測試實踐之類的技術解決方案可能會對工程團隊的工作質量產生某些影響。另一方面,大量研究表明,睡眠,工作量和壓力會對效能產生巨大影響。那麼,為什麼部落格文章,會議演示和軟體工程書籍這麼多地談論前者而很少談論後者呢?
假設您經營一個新團隊。您可以全權以赴地實施任何想要使團隊效率更高,程式碼更少錯誤的策略。你是做什麼?您可以選擇一種新的程式語言,或者將所有內容切換到微服務,或者遵循最新的趨勢。或者您可以做重要的事情。您可以安排時間表。您可以確保沒有人每天工作超過8個小時。您可以讓人們提前20分鐘離開,以避免高峰時間。您可以讓父母儘可能輕鬆地在孩子生病時休假。您可以讓人們覺得他們很重要,因為人們很重要。沒有什麼方法,工具或語言比我們自己的想法重要。
相關文章
- 軟體測試對軟體質量的影響有那些?
- 軟體測試對軟體質量有哪些影響?
- [譯] 虛構問題,低質量軟體的根源
- 軟體測試中影響軟體需求質量的因素有哪些?
- 軟體質量屬性真題
- 軟體論文之論軟體質量保證及其應用
- 軟體測試——軟體安全質量的保證
- 軟體質量的一級屬性科技論文(2)
- 有關軟體質量一級屬性科技論文(3)
- 如何保證軟體質量
- Facebook如何提高軟體質量
- 方案:軟體質量保證
- 軟體質量一級屬性科技論文(1)
- ECO:研究發現睡眠質量會影響人們在節食後的體重保持
- 論軟體工程師的自我修養:角色、重構與質量軟體工程工程師
- 軟體測試學習教程—軟體測試質量
- 研究發現開電視睡覺影響睡眠質量
- 智邦國際erp軟體品牌怎麼樣?軟體質量靠譜嗎?
- 只有不容忍才能提升軟體質量
- 推薦5款提高工作效率和質量的軟體
- 軟體專案管理 8.1.軟體質量基本概念專案管理
- 軟體測試這些你知道嗎?
- MES模賽思軟體質量工具更新
- 2022國產QMS質量管理軟體合集
- 軟體質量保障全流程實踐分享
- 軟體專案管理 8.4.軟體專案質量計劃專案管理
- SAP成都研究院姚瑤:軟體質量保證工作的變遷
- 軟體研發的這些誤區,你中了嗎?
- 守好軟體定義汽車下的質量之門
- 熟悉一個“高質量”軟體的開發過程
- PDCA迴圈——快速提升軟體質量的必備工具
- 軟體專案的鐵三角模型:軟體質量與快速開發的矛盾 - Richard模型
- 自媒體軟體有哪些,這些軟體都是必備的
- 自媒體平臺有哪些?這些平臺你都認識嗎?
- 報告指出資料質量問題正在影響公司業績
- 軟體構造的多維度檢視&質量目標
- 高質量的軟體是否能賺回成本? - Martin Fowler
- 軟體產品安全測試,保障軟體產品質量的關鍵性步驟