題:
員工缺乏所有權
Code Project
2019-03-14 22:27:05 UTC
view on stackexchange narkive permalink

我管理著20個軟件工程師,分為4個子團隊。每個團隊都有一個良好的工作標準和高度的主人翁精神。該團隊有一名高級人員和三名初級人員。每當遇到一個嚴重的錯誤(影響業務)時,這位高級官員總是將工作推遲到第二天,說出“今天我無法完成”,“明天我會調查”,“今天真的需要嗎?”或“今晚我們將如何測試?”甚至當我告訴他我現在需要它時,他說他還有其他事情要做,當我不在那裡時就偷偷溜走了。他還告訴這些初級人員也要推遲他們的工作。

上週,我在團隊會議中告訴他們,我希望擁有更高的所有權。如果他們答應某事,他們應該這樣做。如果存在嚴重的錯誤,即使必須遲到也必須修復。

今天,存在嚴重的錯誤,這位資深人士又說了同樣的話-“我無法完成它今天。我和朋友開會,我得走了。”然後他在我和經理談話時潛行了。

這不是我希望我的團隊擁有的心態。我打算告訴他,他必須改變工作風格或找到新工作,然後等待答案。這樣做太直接了嗎?有沒有其他方法可以解決此類問題?

更新

在此特定示例中,該錯誤阻止90%以上的用戶登錄系統。平均而言,這是今年每月發生一次,而去年是兩次。嚴重錯誤是定義明確的錯誤,這些錯誤:1)阻止用戶登錄系統,以及2)阻止用戶購買產品-僅這兩種類型的錯誤。

我們準備每個發行版的工作:

  1. 我們有周密的計劃,每個人都可以理解需求。我們實際上計劃字段名稱和功能。我為所有團隊實施了這樣的規則,即在sprint開始後需求就不能更改。在衝刺開始之前,我們還準備了測試用例。
  2. 我們為所有任務添加了緩衝區,假設我們認為可以在1天之內完成某項工作,那麼我們就花1.5天。我們發現有些人總是低估任務。
  3. 第一個截止日期是1月底-他們認為自己可以通過測試完成任務。這是我在所有團隊中實施的另一條規則。 PO告訴我們他們想要什麼,我們告訴他們需要多長時間。因此,我告訴其他團隊,一切都將在2月的第3週完成。
  4. 到1月底,他們表示所有功能都已在測試用例中完成了測試。我們將它們部署到我們的測試環境中,發現了一個用戶無法登錄的錯誤。原來,他們並沒有編寫所有測試。他們說,我問他們修復錯誤和編寫測試需要多長時間。
  5. 2月的前兩個星期,我告訴大家,我們只會在這兩個星期內測試並修復關鍵的錯誤。同樣,嚴重的錯誤是1.用戶無法登錄或2.用戶無法在應用程序中購買產品。
  6. 向我們發布給客戶之後的2月3-4週,所有其他內容都將保留在我們的積壓中。我們花了兩個星期的時間修復了非關鍵的錯誤(我們從#4日誌記錄),這些錯誤是可重現的崩潰以及其他次要的錯誤(例如layout等)。再次,所有這些修復程序都經過了測試。對所有測試都是綠色的客戶。部署後,我們發現一些數字已關閉,因此我們重新測試了所有內容,並發現了相同的問題再次出現-用戶無法登錄。
  7. 上次他們熬夜了,我又給他們放了2天假。
  8. ol>
評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/91064/discussion-on-question-by-code-project-employee-lack-of-ownership)。
我是否可以建議大家根據以上修改來重新考慮他們的答案。
有關CodeProject的更多問題:您是資深人士,他是唯一可以解決此錯誤的人嗎?誰負責部署前測試?
您是在告訴我(平均),每月有90%的用戶群無法使用您的服務嗎?男孩,您的質量檢查必須很差。您必須盡快審查您的流程!
@DJClayworth不,他不是唯一可以修復它的人,但是它將更快,因為他寫了它。該團隊擁有從編寫代碼,測試到部署的所有內容。
@CodeProject您的團隊是否有專門的角色來進行測試和部署,或者您是否只有一群可以完成所有工作的開發人員?
如果他們停止立即交換上下文的工作,這對團隊有影響嗎?聽起來您對發行版確實很緊。如果它們承受著恆定的壓力並持續燃燒,並且會因任何方面的落後而受到嚴厲的處罰,或者因在關鍵修復程序上犯錯而受到嚴厲的處罰。我會完全讓他們不願陷入嚴重的錯誤。
@17of26我們沒有專用的測試儀。開發人員可以完成所有工作,包括編寫代碼,編寫測試(單元和ui)以及發布
那是你的問題之一。開發人員不能成為優秀的測試人員。https://www.joelonsoftware.com/2000/04/30/top-five-wrong-reasons-you-dont-have-testers/如果您有20個開發人員而不是15個開發人員和5個測試人員,則您的產品將在更好的身材,您將少付薪水。
您是否測量測試的代碼覆蓋率指標?
如果該產品對您的業務至關重要,那麼我不明白為什麼您沒有像這樣的情況下不停班的輪班團隊?
“即使他們必須熬夜,他們也必須解決它。”哦,不,你錯了
我同意獲得一組專用的測試人員,最好是每個開發團隊一個。我從未見過有人提及的一件事是,在敏捷中人們並不認同對時間進行估算的概念,因為人們在估算時間上很爛。這就是為什麼通常使用與某些非線性序列有關的點來進行估計的原因。這個想法是,經過幾次沖刺,您應該了解所有工作平均需要花費多長時間,但是單個故事可能要花費比其點估計更長的時間。即2分的故事平均需要一天,但有時可能需要3天。
@17of26作為測試中的開發人員,我不同意您的主張:-)我發現擔任開發人員已有二十年,這使我成為一名非常出色的測試人員:我知道開發人員的想法,他們將如何走捷徑,這會有所幫助我設計了有趣的測試,以便在集成測試中將它們絆倒:-D
@AaronF您是規則的例外,因為您實際上喜歡測試:)
“如果存在嚴重的錯誤,即使必須待到很晚,他們也必須修復它。”這是在開玩笑嗎?少當奴隸司機,多當領袖。RE:_上次他們熬夜了,我給他們額外的2天假。_這也很愚蠢。您是否考慮過是否有兩點重要的事情讓他們在熬夜的那天錯過了他們,所以再增加兩天就沒關係了嗎?您是否知道這樣做會導致不良睡眠和倦怠的累積?他們對您的義務是有限的,您使用_ownership_作為某種控制他們的邪教武器,長者似乎可以正確地看到它。
閱讀您的更新,該關鍵錯誤顯然已經存在了一個多月,並阻止了最基本的功能之一(登錄)。這告訴我,您的開發/集成環境,服務體系結構和/或計劃的結構中存在嚴重錯誤。待到很晚才修復該錯誤將無法正常工作。
“如果存在嚴重的錯誤,即使必須遲到,他們也必須修復它。”嚴重的錯誤很可能是由於不良的計劃引起的-可能是測試不足或試圖趕上開發人員。這是你的錯。*您*需要對糟糕的計劃負責。聽起來好像該團隊的高級工程師是那裡唯一的高級人員,因為他們正在保護下級免受您的侵害。
@AaronF我認為核心思想是,開發人員需要*糟糕的測試人員*自己的代碼*。我喜歡喬爾(Joel)的作品,但是質量保證書有些古怪,即使總體建議是合理的。我也不喜歡測試儀便宜的想法,您應該以某種方式做出決定。一個好的測試員值得他們用金子來稱重。除了隱喻之外,在某些方面,它們確實並不比開發人員便宜,但價格卻相同。即使那樣,我也不認為“我必須付多少錢”應該成為一個因素。您需要測試人員,就像需要開發人員或服務台一樣。
_“該錯誤會阻止90%以上的用戶登錄到系統。平均來說,這種情況今年每月一次,而去年發生兩次。”(即使是幾年),也不是很關鍵,因為顯然在過去的幾個月中修復並不重要,這意味著您的上級可能會正確地忽略您的緊急要求。為什麼現在看來並非所有月份都如此重要,現在為什麼如此重要?
“所有權”!=“公司附庸”。
-1
步驟5-6是您出錯的地方。測試用例不足(我意識到測試不能覆蓋所有內容的100%,但是您說它們“沒有編寫所有測試”,我認為這意味著計劃編寫但未實現的測試)然後採取了決定只發布修復了一些嚴重錯誤的版本。我會取消/推遲該發布,以便對測試等進行更徹底的調查(因為“未知未知數”)。沒有答案,因為它不能解決您的問題,但這是您考慮的嗎?
*在此特定示例中,該錯誤阻止90%以上的用戶登錄系統。平均來說,這是每月發生一次,而去年是兩次。*-**說什麼?!?!?**您的產品今年每月一次出現過一次腹部脹痛,去年則發生了幾次**您允許它繼續嗎?!?!?** ***您在和我開玩笑嗎?!?!??!?******絕對首要的事情是穩定這個系統-不僅是創可貼,而且可以做什麼有必要,這樣就不會再次發生。您**不能**將您的用戶拒之門外,否則他們將找到更可靠的用戶。依靠它!
這個問題似乎使“所有權”與“願意在很少或沒有提前通知的情況下任意工作大量的無償加班費”混淆了。他們根本不是一回事。儘管確保您的開發人員擁有某些實際所有權(例如,企業中的股份/股權)可以有所幫助。否則,他們為什麼要關心?
@Voo不僅僅是開發人員可以避免進行困難的測試(任何人都可以)。開發人員對測試人員不會使用的東西有一定的假設(“您為什麼要單擊它?”“您為什麼要按此順序進行”),如果他們沒有想到這種情況,開發人員,他們也不會測試。將會有新的眼睛。這並不意味著開發人員不應該進行測試,而是應該編寫單元測試。只是單元測試不是唯一的測試形式,不應依靠它來查找所有錯誤。或作為您唯一要做的事情。您需要集成和冒煙測試。
在您冗長的問題中,沒有任何地方提到*“ [Jan]測試用例的根本原因。應該發現的錯誤。發現了用戶無法登錄的錯誤... [Feb]發布了... [部署後]重新測試了所有內容並發現同樣的問題又回來了-[高達90%的用戶無法登錄。“ *那麼,您對該問題如何通過測試的根本原因分析是什麼?您是否曾經編寫過一個檢測到該問題的測試用例?如果沒有,為什麼不呢?如果是,您為什麼在錯誤修復之前就發布了?例如,“部署後,我們發現有些數字不可用(?!),所以我們重新測試了所有內容” *是什麼意思?!
老實說,聽起來即使您知道錯誤在哪裡,您也無法有效地進行測試。您需要與某人進行事後檢驗,並弄清該人在測試過程中存在的缺陷。不要讓員工陷入無償加班。我也不喜歡當您提到聽起來很像是您的責任的錯誤時,它總是“發布”產品,知道它存在測試用例可能無法覆蓋的嚴重錯誤,或者您無法準確地衡量測試覆蓋率。那個在你身上,別再想辦法了。
無償加班,每日鞭打等並不能彌補基本方法上的不足。如果您對方法論審查可能揭示的過程感到尷尬,請聘請外部顧問。其他人已經提到的一件顯而易見的事情是,人們不應該只是測試自己的代碼。每個團隊僱用一名測試人員也是一個好主意。
我真的很反對你的頭銜。更像*“”我們的產品存在嚴重的可用性錯誤,我們從未編寫過足夠覆蓋它們的測試用例,我們的覆蓋率指標不可靠,但我們仍在發布新代碼-我們應該做些什麼?“ *
@seventyeightist我發現在發布應用程序之後,由於它已在App Store中發布,所以我一發不可收拾。我們解決該問題的計劃是使測試在儀表板上更加可見。
緊急情況多久發生一次?如果雇主*始終*演著“您必須遲到才能解決緊急問題”,那麼該僱員是正確的,它不是真正的緊急情況。
@smci他們第一次捕獲了該錯誤,然後再次進行了重新測試。問題的工程師是不可靠的。
@Harper OP確實說它通常每年兩次,但是今年,這個團隊(不是OP負責的其他三個團隊)每月兩次。而且,如果您閱讀OP對關鍵的定義,那將是非常關鍵的...。
其他團隊是否也遇到了這些“關鍵錯誤”?或者僅僅是一個團隊與高級開發人員一起工作?我假設(!)您讓每個團隊都在糾正他們自己的問題(在產品的某些特定區域)?
@Mars:完全錯誤。OP指出“ [登錄]錯誤阻止90%以上的用戶登錄系統。平均而言,這種情況今年每月發生一次,而去年則發生兩次”。因此,我的總結是完全正確的:*“嚴重的可使用性錯誤,我們從未編寫過足夠覆蓋它們的測試用例,我們的覆蓋率指標不可靠...” *。不要購買OP所說的其他內容,有關“所有權”的語義是煙幕。顯然,產品在登錄時始終存在嚴重的錯誤,他們從未發布過修復該錯誤的版本,也從未編寫涵蓋該錯誤的測試用例。
@Mars: ...殺手part的部分是***“ 7。我們將其發布給客戶,所有測試均為綠色。部署後,我們發現一些數字已關閉,因此我們重新測試了所有內容,並發現了同樣的問題-用戶可以t登錄。” ***您能發現其中的過程錯誤嗎?(登錄功能的)覆蓋率指標是垃圾。這麼簡單。您是否誠實地相信,經過一年的測試,他們是否擁有涵蓋其中的測試用例?這裡幾乎沒有人這樣做。OP在哪裡討論引起根源的問題?無處。過程在哪裡?
@smci似乎我們正在以兩種不同的方式閱讀它。我相信OP全年意味著2個嚴重錯誤,而不是每年2個。嚴重錯誤不一定意味著登錄錯誤,因此我認為假設其始終相同甚至相關的錯誤是錯誤的。
@smci#7說:“不,我們設計正確,有人搞砸了。”或者說“有關高級工程師撒謊了”。OP之所以不討論根本原因的原因是因為這是一個單獨的問題...問題a(根本原因)=我們該如何解決它,以便這種情況不再發生?問題b(正在詢問的問題)=該團隊中有人被搞砸了,負責人不願意做必要的事情以最大程度地減少損失
@smci我對兩件事感到好奇:如果高級IS出了問題,您是否認為他們應該加班來解決?(為了寬大處理,我們假設是付費OT)。在什麼情況下不是上級的錯誤?
@Mars ^^^我們對OP的基本通信的看法無濟於事,因為這裡的許多人仍然無法準確地解碼他們所說的話,並且OP現在不會響應以澄清基礎知識。^^對我來說,不,它不說任何一個。它說該錯誤存在於此版本的一年之前,他們從未編寫過涵蓋該錯誤的測試,OP知道在他/她授權此版本之前,現在他們想以某種遲來的方式將此作為永無休止的消防的藉口。顯然,OP沒有可發布的產品。不要購買有關替罪羊開發者的故事。
@smci我們不是在這裡討論現實,我們是在這裡講故事。如果您想問問我是否認為情況不是OP所說的那樣,那麼您應該提出這個問題;)
^^甚至無法準確地理解OP將SrDev歸咎於什麼,但是所有錯誤均應由任何適當的軟件過程捕獲,因此SrDev對OP的行為不承擔任何責任,也無須理會軟件過程。我認為,對於OP認為他們有權獲得的計劃外加班晚數的雜耍,沒有很多人感興趣。
*“我們不是在這裡討論現實,我們是在這裡談論故事。” *是一個非常奇怪的主張。如果《任擇議定書》在許多基本知識上含糊不清或自相矛盾,以至於對他們的事實,能力和基本溝通都提出了質疑,那麼我們絕對必須設法找到客觀現實。
@smci對不起,我看不到OP在哪裡與他們自相矛盾...
您知道我認為最可能的情況是什麼嗎?合併衝突處理不當,沒有正確的重新測試。或看似無關的錯誤,修復該錯誤的人沒有想像到這種影響,而只是測試了與該錯誤有關的錯誤。這種情況通常發生在測試不是自動化的情況下-您僅測試固定的內容(是的,這並不理想,我推動測試自動化,但是根據我的經驗,這不是很常見)
這是一個需要通過更好的過程來解決的問題。不會改變這是老年人失踪的事實,或者可能需要立即進行滅火的事實。我認為這個問題是第1步,流程修復是第2步
@smci *到1月底,他們表示所有功能都在測試用例中進行了測試。我們將它們部署到我們的測試環境中,發現了一個用戶無法登錄的錯誤。原來,他們沒有編寫所有測試*我做了A。哦,實際上我沒有做A。然後再次針對此錯誤。我做過B。哦...我想我沒有做過B。
@CodeProject,您應該閱讀https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262592 看來您組織中經常有消防和計劃外的工作
@Mars:,沒有必要再重複給我講同樣令人信服的故事,在您發布之前,我已經讀了五遍。請注意,每次OP遇到錯誤時,王室的“我們”都會溜進來,而從不“ I”。(“我們知道嚴重的登錄錯誤已存在一年,並且從未修復過(/他們),'我們'從未編寫過測試用例,'我們'決定發布它,'我們'發現有一些數字不存在了)在您的假設中,“我們”未能注意到合併衝突,並且“我們”未能在發布之前重新運行測試套件。這只是在蔓延)。
至於OP決定在不編寫所有測試的情況下發布版本(並且應該優先考慮它們,並優先考慮登錄錯誤測試),這是OP嗎?而且我不喜歡這樣的模糊性:“事實證明他們並沒有編寫所有測試”。SrDev或其他?b)OP到底怎麼沒注意到?c)“結果”是何時發布的-就在發布之前?那不是軟件過程。試圖將這一責任歸咎於一個人的一次失敗合併並沒有削減它。OP擁有該流程。)
@smci非常有趣!我看到的恰恰相反!OP並沒有說“ SrDev / SrDev的初級人員沒有編寫測試”,而是將自己置於其中以使其成為“我們”。聽起來好像OP沒有在責備。* OP怎麼沒注意到*?OP的團隊由20人組成。很有可能,OP不是審查代碼,甚至不是審查代碼週期的人。OP甚至可能不知道如何讀取代碼。* OP到底怎麼沒注意到*應該直接針對SrDev ... * OP擁有進程* OP可能不知道什麼,除了向OP報告的內容...。
很多這樣的convo只是基於我們自己的環境/經驗進行投影,並沒有真正的幫助。.我認為現在該休息一下了:)
@Mars:我同意,OP在描述出現問題的事情時對帳戶的描述以及對“我們做了X”或被動語態的過度使用使人們無法知道誰沒有/不做什麼以及誰/不負責,並將其渲染客觀上無法回答。但這也不會激發人們對OP溝通的信心,因此也不會激發他們對事情的看法。無論如何,還是不妨離開它。我懷疑OP會回來並澄清缺少的信息。
“如果存在嚴重的錯誤,即使必須遲到也必須修復。”作為經理好友,您呢?我希望** _ you _ **在問其他人之前將其至少修復一半。因為,您是一位領導者,卻沒有為您解釋如何為嚴重的錯誤保留緩衝區以及如何支付加班費。
21 答案:
Jeffrey
2019-03-14 22:37:07 UTC
view on stackexchange narkive permalink

您似乎在混淆兩件事:

  • 他們工作了幾個小時才能遇到意外或計劃外的問題。

  • 他們負責並以可預測的方式提供高質量的工作。

所有權並不意味著團隊要整夜工作以兌現您對客戶的承諾。所有權是關於了解代碼中的內容,代碼的工作方式,制定計劃並能夠告訴您如何以及何時完成工作。所有權是指開發人員做出正確的決定,因此代碼不僅在今晚而且在未來的幾年內都保持正確性。您的帖子。經常導致以下情況:

  • 缺乏明確的任務授權
  • 不斷變化的需求
  • 短期關注
  • 持續的緊迫性

請您詳細說明一下,作為經理,您為準備發布這些版本,增強您的團隊能力以及如何聽取他們的反饋意見做了哪些工作?然後我們可以談談所有權。

有時候,我很難將自己的思想表達出來。您做得非常簡潔。謝謝。如果我可以將它投票給無窮大,那我會的。
說得好,尤其是最後一點。如果一切都緊迫,那麼什麼都沒有。
雖然我有點同意,但恕我直言,原則上我們忽略了一個重要事實。如果您的經理_asks_今天開始修復某些問題,那麼您今天就可以解決。您不推遲到明天,因為您認為它可以等待,無論如何。您可能沒有完成(因為正確的是您可能不想加班),但您要盡快開始,這不是您的要求。這幾乎是不服從的,因此您可能會受到紀律處分。
我強烈反對@AdrianoRepetti。經理方面的計劃不佳並不意味著我生死攸關。是的,我會盡我所能去做經理想要做的事情,但是我也會盡力控制經理的期望。如果他們要我做一些不合理的事情,我不會強調自己要去做。
在最初的問題中,@AdrianoRepetti提到該員工說他“今天無法完成”,因此,就您所知,他確實開始進行這項工作,但是直到工作日結束才能完成。
@AdrianoRepetti今天我將按“開始”任務按鈕-將任務標記為“進行中”,明天我將考慮進行處理。
如果不評論答案的優缺點,它不會回答OP(當前已發布)的問題。
+1為邏輯和解釋。但是,除非員工參與公司的所有權(實際所有權),否則與“所有權”無關。有時人們會鬆散地談論所有權的感覺,這意味著有責任感,但這不是所有權。企業或其他財產所有者可能希望其他人也有參與自己的財產的感覺或行為,但這並不能使該所有權成為現實。這種使用本質上是意識形態的。
這正是我一直想對我的經理說的,但從來沒有
作為員工,@david不能教育您的經理不服從他的命令。因此,人們被正確解雇了。是的,我可以看到很多人都在做夢,但這並不是明智的建議。
@DavidK在談論關鍵Bug時,拋出諸如“計劃不佳”之類的措辭毫無意義。如果您的經理“可以”計劃,那麼可以利用他們的先知能力來打股票或贏得彩票,從而為他們提供更好的服務。唯一的“差勁計劃”並不能確保始終(“絕對**”)在必要時總是有人“上班”提供非工作時間支持。(而且“ 90%的用戶甚至無法通過登錄屏幕” *是*我稱之為“絕對必要”的情況)
如何對此表示反對?這應該是評論,因為它歸結為要求重新措辭和詳盡闡述。
-1
@AdrianoRepetti作為經理,您不會忽略員工的反饋。作為經理,您不會忽略時間或資源上的矛盾。作為經理,您不會忽略工作中提出的阻礙進度的問題-仍然所有這些都是非常常見的“經理實踐”。如果您的員工不服從您,請找到_why_。有時問題出在他們身上,但有時問題出在你身上。
@Chronocidal生產中的關鍵錯誤幾乎總是可以歸因於不良的計劃。如果關鍵錯誤進入生產階段,則意味著在測試階段沒有足夠的時間或資源。關鍵錯誤通常會進入測試階段,因為沒有足夠的時間或資源用於開發。
@17of26您是100%正確的。哎呀,這是一個_login_錯誤,會影響90%以上的用戶群-在世界範圍內沒有被發現嗎?
@AdrianoRepetti:真實世界的示例:在6個月的時間裡,我大約有80天(= 4個月)花在了“緊急火災”緊急事件上。每個項目都有開發人員缺席-每一天-因為某些開發人員需要緊急修復過去項目中的某些內容。在這6個月中,管理層明確禁止我實施任何形式的測試或代碼審查,因為“這需要花費更多時間”。有時會故意暫停項目,直到它們變得比其他項目更緊急為止。當管理人員告訴您跳樓時,跳樓就是這種情況的確切原因。
雖然我可以同意所有權不是交付加班,而是提供優質的服務,但您剩下的答案都不適合最新的問題。他們的方法論和計劃似乎是正確的。似乎有問題的團隊和資深開發人員通過省略強制性測試並破壞質量,無法與其他團隊保持相同的標準。**好的經理,糟糕的開發/團隊績效。**
-1
事後看來,“影響90%用戶的嚴重錯誤不應該進入生產環境”是很好的方法,但是**我不了解大多數人同意您使用功能而不是固定公司的方式賺錢**。即使您採取“ _是在治療症狀,而不是在治療疾病_”的觀點,但首席開發人員顯然也不會回到辦公桌前來解決疾病(這更多的是經理的職責)。
這樣的事情-如果5%的用戶無法登錄,那就是開發人員的問題(以一種可能會失敗的錯誤路徑寫信的方式,質量檢查就沒有可見性(或發揮作用的時間))。如果90%的用戶無法登錄,則稱為“質量檢查沒有執行任何操作”。或應用的UX太可怕了(即,“快樂的道路”很奇怪,並且沒有足夠的指導或錯誤消息)。
dbeer
2019-03-14 23:42:37 UTC
view on stackexchange narkive permalink

甚至當我告訴他我現在需要它時,他說他還有其他事情要做,當我不在那裡時就偷偷溜走了。傢伙又說了同樣的話-“我今天做不完。我和朋友開會,我得走了。”然後在我和經理談話時他偷偷溜走了。去做這項工作,然後再不做。偷偷摸摸暗示他在欺騙或不誠實,但這聽起來像他在透明,你應該認識到這一點。我曾與那些說他們會處理事情然後消失的人一起工作,那些人應該被解僱。告訴您帶寬的人然後跟著走的人完全不同。這個人的誠信不是問題。

上週,我在一次團隊會議上告訴他們我期望更高的主人翁意識。如果他們答應某事,他們應該這樣做。如果存在嚴重的錯誤,即使必須待到很晚也必須修復。

  1. 嚴重錯誤實際上必須是嚴重的。例如,在我自己的職業生涯中,我遲到了一些修復“關鍵”錯誤的工作,這些錯誤隨後兩個月都沒有部署到生產中。在那種情況下,那是經理瘋狂地想要一些東西,而不是一個嚴重的錯誤。當然,實際上也存在一些關鍵問題。
  2. 人員配備水平通常必須足夠。滿足發布日期和解決問題很重要,但是如果我們總是遲到,因為我們有3個人從事4個人以上的工作,那就是另外一種情況。
  3. ol>

    處理這樣的問題?

    某些開發方法具有內置的方法來管理這些問題。例如,在敏捷開發中,衝刺是保證將交付哪些工作的方式。它還包括測量速度(完成的工作量)的內置方法,並且通常與軟件(JIRA是我認為最受歡迎的軟件)一起使用,該軟件可以確定團隊或個人是否實現了這些目標。在敏捷開發中,如果您需要更改過程的中間衝刺(例如花一些時間來修復關鍵錯誤),則表明您正在固有地更改範圍。通常,您將東西取出以添加必須添加的內容。這個過程非常容易評估“我今天不能實現”是因為他正在努力實現其他重要目標還是因為他很難。

    IMO,這是一種出色的方法不幸的是,幾乎從來沒有正確完成過軟件開發。

    更新:針對問題編輯,此錯誤本質上是絕對關鍵的(在大多數公司中,其名稱為使用showtopper(而非關鍵),應立即修復。我將遵循上面描述的技術-從他的盤子上取走東西,以換取他現在就開始工作。這使得90%的用戶無法登錄值得一夜。您需要評估該員工是否已經完全簽出(在這種情況下,您必須幫助他轉職到其他工作上)或該項目是否使他感到疲倦並且需要休息一下。

我同意您的大部分意見,但不確定在這裡是否適用敏捷。我假設操作員說“嚴重錯誤”時,他的意思是發布的軟件中出現了一些必須立即修復的問題(例如,最近的Facebook故障……我懷疑很多人都在燃燒午夜的石油))。的確,敏捷可以讓您評估對進度的影響,但是OP甚至沒有提到現有的工作進度。
+1為“嚴重錯誤實際上必須是嚴重錯誤”。就在上週,我看到了一個“關鍵”項目,該項目最終排在優先級的第六位。
@DaveG我不知道他們是否在使用敏捷。我建議將其作為一個過程,使所有各方都可以清楚地了解今天提出錯誤的影響。我的經驗是,當錯誤升級的影響更加透明時,所有相關方都將獲得更好的體驗。
除此之外,大多數工程師都非常靈活地為真正的“嚴重”漏洞花費額外的時間。但是OP,您是否可以給他們一個小時一個小時的休息時間來代替?如果不是,請期望您的員工像這個團隊一樣開始工作,因為如果公司不給任何回報,最終破壞公司的內心世界沒有任何意義。
我喜歡5種“高”,“顯示停止”的缺陷,歸結為“此菜單是石灰,但應該是黃綠色”。
@Graham完全正確。我曾經在一家公司工作,該公司的團隊受到首席執行官的指責,因為他在工作到晚上達到管理層規定的截止日期前一天的午夜後才進入上午11點。我回擊說,如果他不滿意,我們將很高興從此嚴格遵守合同規定的工作時間。對他來說幸運的是,他有足夠的意識閉嘴,從不批評我們任何人再次遲到。
@Graham問題已更新;“ _他們最後一次熬夜,我給他們額外的兩天假。_”
“如果他們答應某事,就應該這樣做。”-聽起來這個傢伙是唯一一個真正做到這一點的人,因為他沒有*承諾*他不會做的事情。如果OP想要強加“做您要做的事情”,那麼可能*其他所有人*都需要進行交談...
在我同意您的回答的同時,`bug事實阻止了90%以上的用戶登錄系統。平均而言,這種情況今年每年每月發生一次,這意味著沒有時間在測試關鍵功能上。未分配的時間是“執行此操作,這更重要”的管理問題。如果這種情況發生在我工作/編輯不止一次的地方並且已經警告過他們,那麼下次我們不會再呆到很晚了,因為我們沒有時間確保它不再發生(例如單元測試和功能測試)。
@zarose,稱為“優先通脹”。您設置了一個優先級流程:正常(5天)高(1天)和緊急(在一小時內),並且開始被濫用。一旦人們發現了,他們就可以更快地獲得服務,突然之間所有事情都變得至關重要。在我工作的地方,我們設法建立了針對放映者的流程,針對每個關鍵問題,都成立了一個團隊來解決該問題,並由經理進行監督。令管理層大為惱火的是,我遵循了這一流程……“但我只想讓您去解決它!”我:“但過程”。它減少了90%的關鍵問題。
我認為OP的意思是OP向他的老闆伸出援手,讓他的老闆踢下屬的屁股...而在他這樣做的同時,下屬立即離開了房屋。這不是第一次來回事,所以OP合理地猜測下屬離開的動機是為了避免踢屁股。因此,“偷偷摸摸”。
@PieterB Oooooooo,這是我之前從未考慮過的漂亮過程!絕對是把那個藏在我的後兜里。
Helena
2019-03-15 04:49:06 UTC
view on stackexchange narkive permalink

在我的辦公室中,我們經常引用以下內容:

“您方面的計劃不周全無須緊急應對。”

根據我的經驗,開發人員通常會主動幫助解決由於自己的錯誤或無法預料的事情而出現的問題。

但是,經常發生的所有問題不僅令人驚訝在決定給開發人員最後通and並可能使他找一份新工作之前,您應該問自己以下幾點:

  • 您是否做了足夠的工作以避免“關鍵” ”首先是bug?您是否給開發人員足夠的時間來執行測試,代碼審查,重構和監視?

  • 您是否確保在有足夠的時間修復新功能時激活它們? (而不是傍晚或星期五)。

  • 如果常見的重大錯誤,您是否支付足夠的加班費或值班時間?

  • 您要擁有所有權的開發人員是否“擁有”發布過程?如果他們認為功能有問題,他們是否能夠停止發布功能?

  • 您的截止日期是否切合實際並與開發團隊達成了共識?

如果所有問題都可以明確回答“是”,那麼您可能必須放開高級開發人員。

如果任何答案是“否”。或“我不確定”,那麼我將開始在管理中尋找問題並首先解決這些問題。

我已經列出了為防止嚴重錯誤所做的事情,但是顯然這還不夠。當然,我給他們足夠的時間是因為他們告訴我什麼時候可以完成,並且這次包括編寫測試和代碼審查。最重要的是,我增加了30-40%的緩衝時間以及另外2週的測試時間。直到最近幾個月在我們那裡兩次出現嚴重錯誤時,關鍵錯誤才變得很普遍。是的,團隊通過ci / cd擁有發布過程。我相信截止日期是現實的,因為每個人都同意從sprint的開始到結束(我每次參加站立會議時都要簽入)
>“您已經做了足夠的工作來避免出現“關鍵”錯誤?您是否給開發人員足夠的時間來進行測試,代碼審查,重構和監視? 這一點非常同意。有些過程可以確保高質量的軟件。如果經理阻止他/她的工程師完成這些過程,那麼發生的危機是經理的問題,而不是工程師的問題。
“不是我的錯,我不在乎公司會因此損失多少”的開發人員……無論在技術上是多麼優秀的開發人員,在項目上都要擔當一個壞人。任何不關心的開發人員都應該在他們願意關心的地方和/或真正沒有發生緊急情況的地方和/或公司在避免緊急情況方面做得更好的工作找到新工作。留下但不關心對任何人都不好。
-1
@CodeProject *“是的,團隊通過ci / cd擁有發布過程” *-那不是Helena的意思。您在說的是控制代碼部署機制的團隊。海倫娜(Helena)談論的是擁有關於是否發布*決定的團隊-關於他們能夠決定是否發布當前功能的建議,如果他們認為不可行,則決定不發布(並推遲截止日期)準備。您的評論-最側重於捍衛您強加給他們的截止日期-向我暗示,他們實際上沒有這樣的所有權。
TL; DR:“鏡像。在這裡使用。”。
Sefe
2019-03-15 13:53:06 UTC
view on stackexchange narkive permalink

您聲稱團隊缺乏所有權。開發人員構建的所有內容均歸公司所有,而不是公司所有。當您說員工應該“擁有”工作成果時,是否還意味著他們將獲得這些成果為公司帶來的利潤?如果不是那樣的話,那麼他們就不會真正擁有該作品,也無法向他們要求所有權。

如果存在嚴重的錯誤,即使他們有錯誤,也必須對其進行修復

您的解決方案通過使您的員工遲到來解決關鍵問題,這對於公司來說很方便,員工也可以為此付出代價。同樣,如果他們也能分享利潤,那將是可以的。是嗎?

在此特定示例中,該錯誤阻止90%以上的用戶登錄系統。平均來說,這是今年一次,而去年是兩次。

這種情況經常發生,並且您無需安裝組織程序來減少這些錯誤的影響,

實際上,您當前用於解決“關鍵”問題的方法以及對員工的解僱計劃都可以視為功能失調的組織的標誌。您員工的行為可能是他對此做出反應的方式。您對原始問題的更新中列出了您認為自己在做的事情正確(而不是認為自己在做的事情錯誤),這也表明您可能有一個

在要求員工遲到之前,管理人員可以採取許多措施來提高質量並減少緊迫性:

  1. 無論您認為有多專注於質量,結果都表明您沒有。您必須認真提高開發過程的質量,這可能意味著諸如審查,檢查,結對編程,增加測試,重新設計關鍵組件,改進體系結構和設計等措施。您最好開始分析引起這些問題的組織問題寫下您已經實施的措施清單。顯然,它們無法正常工作。
  2. 為什麼您的員工必須遲到才能解決錯誤?您可以在清晨發布版本以使開發人員在整個工作日內解決問題嗎?
  3. 您是否考慮過使用功能切換或其他措施來快速恢復到該功能的先前版本您的團隊時間來解決問題?
  4. 您不能責怪您的員工在晚上突然出現問題時制定了計劃。您可以在關鍵版本發布之日安裝備用系統。然後人們會事先知道他們可能必須待到很晚才能做好相應的準備。
  5. ol>
第三點是我們所有工作場所計劃中關鍵功能的非常標準。+1
請不要執行第3點。相反,對您的應用程序進行遏制。準備好後部署新版本。如果存在錯誤,則可以立即重新部署以前的版本。功能切換是使無用的代碼浮動的好方法,因為它從未使用過/“已打開”。剩下的答案+1 :)
@rkeet:完全不同意。能夠在運行時打開/關閉特定功能而無需重新部署任何東西,這非常重要。而這與是否將應用程序容器化絕對無關。我不想讓第三方/發行經理/平台支持者參與進來,只是想禁用/啟用一個簡單的功能,如果我可以避免的話,它會造成嚴重破壞。
@devouredelysium如果某個功能由於造成破壞而需要關閉,則說明生產中斷了。如果您的生產中斷了,則整個構建尚未準備就緒。如果構建尚未準備就緒,則不應投入生產。假設以前的版本可以運行,請重新部署該版本並修復損壞的產品。容器化部署大約需要2秒鐘。如果您選擇的第三方/公司/平台支持者不像您認為的那樣可靠,則需要重新評估軟件選擇。
@rkeet-您的觀點在服務器端環境中有意義,但正如評論中逐漸指出的那樣,問題實際上是關於移動應用程序的情況-在iOS端,這種情況下更新必須經過應用程序商店批准延遲在Android方面,平台實現的種類繁多,而在這兩種情況下,更新的安裝均需獲得最終用戶的手動批准。功能切換或什至“此版本已損壞,您必須(必須)更新它才能訪問任何其他屏幕”,服務器響應是應對這些現實的明智嘗試。
-1
@ChrisStratton在涉及應用程序商店/移動應用程序的地方未曾閱讀。然後,只有那時,我認為這才有意義。最好確保它永遠不會達到生產。
@devouredelysium生物學在這裡沒有發揮作用。但是在那上面玩,是的,如果您的手臂受傷,那是身體受損,您的手臂不是您身體的一部分嗎?奇怪的比喻。隨你。是的,我會回滾整個功能。不要扔掉它,只需要把它放下來修理即可。(比喻,您顯然會扯開手臂去醫院固定,或在其上放一個游標,直到固定好……)。實際上,我最近回滾了一個耗時3週的發布。它會導致可能導致超時的錯誤(儘管可修復)。不需要,回滾,明天新的一天
@rkeet如果您的移動應用程序從未“達到生產”狀態,那麼很難吸引任何客戶,因此建議的機制肯定是要這樣做的。可以說,提問者可能會考慮走得更遠,使他們的應用本質上成為從服務器下載並最多已緩存的動態內容的查看器。那麼他們實際上可以*輕鬆地將更改回滾到很多重要的事情上。但這可以從數學上證明是將整個東西製成細顆粒的撥動開關的極端。
@rkeet:以及客戶(和其他服務的所有者)是否願意讓您的舊版本運行數小時(甚至數天),直到發現問題,修復並正確測試為止?如果那不是真正固定的,而您又不得不再次回滾怎麼辦?大聲笑。因此,您的計劃是讓整個辦公室都在照顧您,而不是適當地隔離問題(關閉問題)並從容解決問題,同時使其他所有事情始終保持正常運轉?祝好運。
@devouredelysium我想您不介意盯著空白而不是加載的頁面。或“ 500 Internal Server Error”。或“登錄錯誤,請重試”或其他。我更喜歡工作版本。如果某個功能損壞,可以,使Bugger脫機並進行修復。用戶,請不要讓我為您的失敗所困擾。
-1
@devouredelysium您確實意識到,如果部署以前的版本,那麼整個損壞的事情就不對嗎?然後,您可以進行修正**,而不會打擾根據自己的經驗來判斷您的最終用戶**。修復後:重新部署。
@rkeet:我已經編寫了*功能切換或其他措施來快速恢復到以前的版本*。我的主要觀點是使其易於還原。操作方法應由OP決定,但他應堅定地尋求解決方案。
@rkeet:,您留下了所有其他團隊的所有功能,甚至可能包含其他較小的錯誤修復,都停下來了嗎?大聲笑。我不會繼續這個討論。如果他們可以避免的話,那麼業務中絕對沒有人會做與您正在描述的事情相似的遠程操作(正如我們在評論中所陳述的那樣)。
@rkeet解決此問題的方法需要特定的項目和ci / cd設置。如果數據庫遷移無法安全回滾怎麼辦?如果其他已經部署的服務依賴其他正確創建的新功能怎麼辦?如果新版本修復了一些嚴重的錯誤該怎麼辦?等等...
JazzmanJim
2019-03-15 00:20:15 UTC
view on stackexchange narkive permalink

這在軟件工作中很常見。

您將員工視為專業人員。您說的是所有權,但隨後提出了必須立即修復“嚴重”錯誤的要求。

該錯誤實際上是“嚴重”錯誤嗎?是要求不明確的結果嗎?我們的老朋友“範圍緩慢” '?

在每個方面,您(作為經理)都需要管理期望。並非每個錯誤都是“嚴重的”。要求可以吸。項目範圍發生了變化。

他們並沒有要求他們將所有精力投入到與團隊進行“關鍵”合作的工作中,直到何時解決。

我一直將“關鍵”用引號引起來,因為在該領域工作了30多年(我很老)之後,這個詞就被濫用了。一切都不是“關鍵的”。

讓人們按自己的估計是沒有意義的-之所以稱為估計,是因為他們實際上並不知道何時將其修正。
-1
如果您想進行回顧,@JMac將在他們解決之後*會*知道問題出在哪里以及時間在哪裡。但是*直到*解決了,他們只能告訴您嘗試的時間(或其他義務的方式),以及他們目前對檢查/下一步嘗試的預感。整個過程中的一些討論可能會富有成效,甚至從對話中也能獲得洞察力。但是在某些情況下,討論和報告本身會成為自欺欺人的延遲源。
@ChrisStratton雖然並不能真正使人們對他們的估計“毫無意義”。我並不是說他們需要從解決方案中抽出時間來闡明他們的時間去了。但是當有人提供估計時,應該在合理的範圍內堅持。如果讓人們接受他們的估計是沒有意義的,那麼獲得估計也是如此。事實是,估算是有用的並且是普遍採用的,通常需要以截止日期的方式組織工作。我主要是想知道您應該能夠支持您的估計,並對它進行更改。這不是猜測。
確實,對複雜問題的估計通常是沒有意義的,每個有意識的人都知道這一點。充其量來說,如果選擇正確的猜測乘數,您可能平均會得出近似的結果,但是特定的時間消耗很少是預期的,因此,這實際上只是對一個人的悲觀技巧的考驗。
@ChrisStratton我要指出的是,“經常錯誤”和“毫無意義”之間存在著差異。不管您的估計有多不正確,它們背後仍然應該有含義,並且您給出的任何估計都將絕對具有意義。給出估算的人並不能完全對估算的正確性負責,為此,系統太複雜了,但是絕對應將其保持到一定程度,否則項目計劃將變得毫無用處。這並不是大多數客戶都能接受的“完成後再完成”。
在這種情況下,您希望人們做出誠實的估算,然後將其乘以5,然後告訴您所需的時間,只是要確保問題可能在該時間範圍內得到解決。那不再是估計,而是安全的期望管理。
這是有關估算的不錯的話題:https://www.youtube.com/watch?v=QVBlnCTu9Ms (我並不在所有方面都同意,但是有幾點好處)。提示,標題為“ #NoEstimates”
`“我老了”-這意味著您的意見非常寶貴。
-1
@Erik我會認為讓人們接受估計是合理的,因為估計應該始終被高估了。如果您估計需要2週的時間,然後交付一個,那麼沒有人會抱怨他們有一周的時間進行額外的測試,或者您有一周的時間花在其他項目上。項目計劃完全取決於這一事實。如果您希望項目經理成為您的朋友,請不要遲到。另一方面,如果交付較晚,您將不知道將對項目的其餘部分產生什麼影響-這可能會導致緊急問題。
@UKMonkey一旦經理告訴我們所有估算都必須準確,並且我們絕對必須在該時間範圍內完成。從那天起直到他離開公司大約兩個月後,我的所有估計都在“兩年”內。 我設法在該時間範圍內完成了所有任務,這使我100%地估計了正確性。出於某種奇怪的原因,據我所知,我的估計中沒有一個傳達給客戶。我想知道為什麼。
@Josef為您感到幸運,但他們沒有。預計專業服務工程師的收入將是客戶的3-5倍;否則將使他們的薪資面臨風險。通常的估算方式是“您認為需要多長時間x 3”
@UKMonkey,但如果有人要我給出絕對最大值的“估計”,我會給出。如果您估計要花費三倍的時間,那麼有些任務所花費的時間會比該時間要長。
您從未遇到過@Josef,因為您所給的電話號碼已經發送給客戶,並據此收取了費用-您承認這一點;但如果是這樣,客戶總是會拒絕您的電話號碼,而且由於工程師未能將錢匯入公司,您的合同也將被終止。 估計是對估計的肯定;但是,如果您選擇的是愚蠢的數字,那麼充其量就是沒有朋友,最糟糕的是,您可以將工作放在網上。
-1
@UKMonkey我經常遇到將我提供的號碼發送給客戶的情況。我經常在我管理的項目中與客戶討論數字。我什麼都沒承認如果有人要求我“最遲”完成日期,那麼他們就會遇到最壞的情況。
17 of 26
2019-03-15 17:40:10 UTC
view on stackexchange narkive permalink

有了更新的問題,現在很明顯,您正在嘗試解決錯誤的問題。高級工程師的行為是軟件開發過程根本中斷和/或公司運作不正常的徵兆。

如果您每個月都有重要的缺陷投入生產,那麼您至少會遇到以下問題之一:

  • 不稱職的工程師
  • 代碼庫無法維護
  • 測試不足
給定您擁有多少人手(20名工程師是很多資源),這很可能是這三者的結合。

您需要更深入地研究並解決潛在的問題,這些問題導致人們需要不斷地工作至深夜。說服一位工程師經常工作到更長的時間並不能幫助我們了解全局。

現在,該怎麼做...

步驟1:找出原因測試未捕獲到這些關鍵錯誤

您絕對需要做的第一件事就是阻止這些關鍵錯誤進入生產環境。到達生產環境的每個錯誤都是測試過程中的失敗。

回顧一下在生產環境中發現的每個關鍵錯誤,並確切確定為什麼未在測試中捕獲該錯誤。添加更多自動測試範圍,手動測試範圍或必要的測試資源。

步驟2:確定每個嚴重錯誤的根本原因

對於每個嚴重的錯誤,找出來:

  • 創建錯誤的人
  • 創建錯誤的時間
  • 為什麼要修改代碼
  • 代碼中引入了錯誤的地方

通過進行此分析,您將發現一些模式。也許有一兩個開發人員不斷引入這些錯誤。也許有一個很難修改而又不會引起問題的代碼模塊。或者整個代碼可能很難使用。

並停止添加更多的殘破功能,直到修復了現有代碼中的嚴重錯誤為止!
有時這些問題甚至不是“ bug”,而是與代碼運行環境不兼容的根本錯誤的設計。您可以修復由於代碼每次遇到交互系統或OS層以前看不見(但完全兼容)的行為而導致破壞的新方式所導致的“無休止”的“錯誤”流,也可以花一些時間來修復基礎設計錯誤。
確實是@ChrisStratton,這就是為什麼絕對有必要了解這些關鍵錯誤的根本原因的原因。
我非常喜歡這個答案,但是我希望高級工程師在經理“受夠了”時去找經理討論問題,停止做“消防”不是恕我直言,我想從專業人士那裡得到答复經驗豐富的工程師。
“每個生產中的錯誤都是測試過程中的失敗”-幾乎是正確的。“測試”是開發的一部分。與20個開發人員一起,您應該進行單元/功能測試(最好同時使用兩者)。因此,測試是整個開發過程不可或缺的一部分,而不是獨立的過程。改寫為:`每個到達生產環境的bug都是開發過程中的故障。另外,我認為您缺少“ ABC管理想要功能XYZ”的信息。總是要妥善工作。然後,您得到OP要求您熬夜...然後您尋找一份新工作。
@AdrianoRepetti-誰說他們沒有?當開發人員得知公司的管理層不聽話時,通常會進入這個憤世嫉俗的階段。
@Davor,因為OP沒有提到它(也許他甚至不需要問是否有人這樣做了)。我們在這裡進行了太多的假設,我希望盡可能將它們保持在最低限度。從OP撰寫的內容來看,我只能說應該改進流程(始終可以),但是他們對此_senior_存在嚴重的(技術上的)問題(OP是否有權期望加班,這實際上取決於文化)。
我的意思是:您編寫的代碼並且有足夠的時間進行測試...阻止了90%的用戶使用該服務?S *發生了,但是作為開發人員,無論我出於什麼原因(特別是如果我事先沒有說過),我都會以回答“明天見”為由而感到羞愧。
@AdrianoRepetti也許他有,但什麼都沒發生。我們在這裡只看到一側
絕對是@user。這就是為什麼我在談論_assumptions_。從字面上看,一切都是虛無,那麼恕我直言,我們應該(主要)堅持我們所知道的,因為OP編寫了它。
@AdrianoRepetti我同意對此發表評論(並註意,您對“期望”的評論是基於一些假設)。但是答案應該有不同的假設,以擴大對OP以外的其他人的幫助。Fwiw,我要說的是,我們唯一知道的是測試失敗,設計失敗。事實是,現在要糾正的最重要的事情是測試和BROAD設計實踐,而不是一名員工的績效(20名)
The Gilbert Arenas Dagger
2019-03-15 05:14:01 UTC
view on stackexchange narkive permalink

我想補充一點。趕出錯誤修復程序通常會導致技術負擔。如果您的高級開發人員質疑今晚將如何測試它,那麼高級開發人員應該問這個好問題!我在緊急情況優先於質量的地方工作,這對長期產生負面影響。最終,您的團隊的能力將下降,因為它總是在撲朔迷離。

是的,不要因為其他團隊會重新工作並修復他們認為正確的錯誤而自動假設這一點。他們甚至可能有相同的感覺,但不想與管理層進行鬥爭。
關於我們將如何測試大約兩個月前提出的問題,我們通過針對所有commit和prs運行測試來解決該問題。
@CodeProject您編輯中的事件順序實際上是該響應所警告的一個很好的例子。您在2月下旬進行的測試未解決此問題,因此,測試問題實際上並未得到解決。可能代碼庫中的某些區域(或其與基礎移動操作系統或遠程服務的交互)尚未得到適當的理解,因此,該錯誤修復程序繼續包含不安全的假設,這些假設會在您認為不屬於您的情況下中斷測試。**花時間**真正了解它是必需的,測試無法涵蓋所有內容。
如果您真的想要“所有權”,您可能必須開放讓您的高層管理人員確定更多議程,以便包括他們為真正處理潛在問題所需要做的事情。相反,如果您將目標規定為只能解決*症狀*的程度,那麼實際上*您已經擁有所有權*,從而使他們沒有機會這樣做。
-1
讓我們承認,可以肯定地改進該過程。坦白地說,我們也承認團隊極有可能咳嗽能力不足。咳嗽。
匆忙解決問題也會帶來災難性的短期後果,
Qwertie
2019-03-15 10:01:45 UTC
view on stackexchange narkive permalink

聽起來您有一個巨大的測試問題。您問為什麼每個人都不會放棄所有外部承諾去滅火,但真正的問題是為什麼每個月都開始發生火災?

您有任何質量檢查/測試人員嗎?為什麼他們沒有發現第一步和最基本的步驟(登錄)不起作用。完全無法正常工作的東西如何被推到生產環境。

為什麼您對用戶無法登錄以使每個人都呆在後面而又急於解決“緊急”補丁而不是擁有系統的回應管理員還原了該更新,並且在解決問題之後,可以稍後再次嘗試更新。

“今晚我們將如何測試該更新?”這是正確的答案。當存在關鍵問題並且您現在被迫要解決此問題時,開發人員將如何留出時間來適當地檢查更改是否正確/高質量,質量檢查意味著檢查更改後其他所有內容是否仍在正常工作。聽起來好像您還在每個人都累了的一天結束時要求這些更改,而他們的思維能力卻處於最低水平,這使得其他問題更有可能潛入此關鍵修復程序中。

該問題及其更新清楚地表明,存在*測試*並且該測試對於發布決策至關重要-而且還存在的測試並未發現缺陷。一些現代環境中有足夠不同的活動部件,它們期望測試能夠幼稚地捕獲所有內容,因為不安全的代碼可能會根據測試環境之外的條件起作用或破壞。所指的是一個團隊中沒有人完全了解的方面的系統。
@ChrisStratton如果您的測試人員無法實際測試事物,那麼我建議這本身就是一個問題。這也不能解釋為什麼沒有適當的流程來簡單地回滾壞的更改。開發人員可能無法控制測試和操作程序,並且厭倦了不斷處理過程中的故障。
不,測試人員和自動化測試工具都無法涵蓋所有可能的情況。它們有其作用,但是可能的交互作用集比您想像的要大,並且涉及的物理種類也比您可以合理購買或模擬以包括在測試覆蓋範圍內的物理種類要多。上次修補破壞測試的內容是不夠的-必須通過設計*正確,並且根本沒有不安全的部件可以在所有嘗試的測試中正常工作。*部署給客戶*的軟件不一定像服務器端那樣容易回滾。
+1這就是我腦海中的答案
-1
@ChrisStratton閱讀OP的進一步評論,聽起來他們的測試思想僅限於讓開發人員編寫單元測試。
@Aaron不正確,他們描述了在多種手機型號上的測試。但是,兩者都無法避免對移動操作系統的基本誤解。
@ChrisStratton [這是評論](https://workplace.stackexchange.com/questions/131620/employee-lack-of-ownership/131655?noredirect=1#comment423006_131620)我指的是。在我看來,沒有測試人員,也沒有進行太多測試。他們需要一個質量檢查團隊,而不是由編寫代碼的開發人員來對其進行測試。
@user87779-並不像您想的那麼多-當移動應用程序位於經常被廣泛誤解的移動操作系統和遠程服務之間時,交互作用的範圍很容易超出了可實現的測試範圍。您可能會注意到,詢問者描述了一種情況,該情況“通過了測試”,但仍然存在問題,僅在發布後才會出現。這是很普遍的-從根本上來說,錯誤的代碼似乎可以工作,直到它處於恰好可以暴露該缺陷的適當情況下。或者某些特定的移動設備實際上錯誤地實現了API-這種情況不太常見,但是確實發生了。
@user87779-我看到了很多。但是,然後,我經常專門致力於*解決*這類問題-即,其他人的代碼帶有不安全的假設,這些假設在原始測試中並未觸發,或者平台實際上偏離其規範的情況。
paulj
2019-03-15 00:39:26 UTC
view on stackexchange narkive permalink

什麼時候人們最有生產力?團隊何時最有能力處理關鍵錯誤?已經有研究回答了有關何時人類最有能力執行某些任務的問題。

您有一個嚴重的錯誤,並且您想要a)換個思路,b)拿起一個新的“關鍵”任務,c)“直到任何時候都可以修復”。您希望這個關鍵補丁能夠正常工作嗎?老實說,您對產品,團隊,團隊成員的期望是什麼?

放開您的自我和您的非理性的信念。

所以這是很晚了,您發現了一個錯誤,其中90%的用戶無法登錄PROD ...您是說,如果研究表明您的最佳工作是在上午10點完成的,那麼您應該等到那時在這個上工作嗎?這聽起來對你不傻嗎?
@Jeffc如果90%的用戶無法登錄,為什麼在推出之前的測試過程中未將其獲取?那不是錯誤,而是系統錯誤。上述四個團隊中的專門支持團隊在哪裡?即使旋轉。
我不同意您的評論...但我確實不同意您的回答。無論哪種方式,關鍵是發現PROD問題的時間是修復它的時間,而不是等到員工的最佳,最有效的時間。
@JeffC我想說的是該從實驗分支回滾的時候了,他們應該在上面部署此代碼。然後有條不紊地解決問題,而不必著急並可能引入其他錯誤
Gregory Currie
2019-03-15 14:01:00 UTC
view on stackexchange narkive permalink

您要查找的術語是自主努力,而不是所有權

我假設您的員工正在履行合同義務(否則,

您無權期望自行決定的努力。這就是定義。從根本上講,這不是您可以與他們談論並期望有所改變的事情。您可能會得到相反的響應。他們沒有義務給予它。解僱他們的威脅可能會引起壓倒性的反響,而且是違法的。

對於如何改進事情,我沒有任何好的建議。您可以依靠某些人的酌處努力這一事實向我表明,這種文化並不一定會被破壞。

解決此問題需要花費時間,因此,我可以提供權宜之計: / p>

固定1的總線係數

為什麼只有一個員工才能解決此問題?

請啟用呼叫名冊

根據與個人員工達成的報銷協議,而不是您認為值得的費用。

在更好的時間發布更新 >

這也許是不可能的,但是在更好的時機推出它可以增加有人提供幫助的機會。

軟件的價值取決於軟件的性能支持,因此您不應該將酌情處理權用作拐杖。如果您希望軟件得到一定程度的支持,則需要確保已準備就緒。

您錯過了OP所說的資深人士告訴團隊回家的部分。總線係數>1。此外,我對整個“自由決定的努力”感到好奇。無論您選擇使用什麼術語,在美國,工程師都是專業人員,這意味著他們實際上是獲得報酬來從事一項工作,而不是工作X個小時(他們決定,或者在大多數情況下放棄決定的權利),應該花多長時間?採取。工程師交付了他們綠色的產品,結果證明它是有缺陷的。如果是這樣,我認為雇主在法律上有權要求加班,甚至無償加班...
但是,如果您有相反的信息,我會全神貫注
我不能代表美國,但是在澳大利亞,“工人”分為兩類,即僱員和承包商。可以聘用工程師。大多數時候,工人是僱員。據我所知,與我合作的每位工程師(200多名)都是一名員工。
關於無償加班,在澳大利亞,即使僱員犯了錯誤,強迫僱員無償加班也被認為是非法的。
有趣。在美國,軟件工程師無權獲得加班費(儘管我認為至少在他們的合同中有加班費條款是慣例)
我認為在美國將他們分開的兩個術語是“合同工程師”和“有薪工程師”。您可能是正確的,大多數/所有工程師都是合同工程師。(另外,有趣的是“工程師”一詞的法律定義-在歐洲,它具有明確定義的特定含義-對美國而言可能不正確,“任何人”都可以成為工程師嗎?)
有趣。我曾在美國和日本工作,我看到一個人說他們交付了X,但交付了Y。我希望他盡快將X更改為Y,或者接受我不再僱用他們不給我所承諾的東西。但是,顯然有不同的文化和法律!
“專業”(受薪僱員的子類別)免於加班限制,因為他們被認為足以了解自己的工作量/薪金餘額
據我所知,工程師在美國沒有法律意義。
“工程師”的法律含義在美國各州有所不同。對於軟件工程師,在美國無論是承包商還是員工,對於我們來說都是很普遍的事-我最近與一家澳大利亞承包商合作。(所涉及的合同仍然不允許“強迫”加班。)
“專業”與它無關。如果您的薪水超過一定金額(我認為大約為4萬,儘管這些數字是根據行政命令的判斷而變化的),那麼您就沒有合法權利獲得加班費(儘管您的公司可能仍然選擇加班)包括額外工資在內的加班政策,這是法律所不要求的)。
Brandon
2019-03-15 21:02:42 UTC
view on stackexchange narkive permalink

因此,您希望您的員工為解決問題而放棄社會生活和/或家庭生活嗎?

他們真的那麼重要嗎?

strong>

經理們似乎總是認為一切都很關鍵,因為拒絕很難。這是您的首席開發人員後退的強大潛在原因。他們試圖保護自己的疆界,因為你不會。他們會保護您的團隊,因為您不會這麼做。

如果他們確實如此關鍵,那麼出什麼問題了,這些問題就發生了嗎?

如果您的產品質量很差,那麼您需要轉移並讓開發人員制定計劃以使產品恢復正常。質量差不僅是錯誤。質量差會破壞可預測性。如果您由於質量太差而一貫不按計劃進行,請修正質量。而且,您不會通過要求開發人員在自己的時間內進行修復來解決此問題。如果這是您設定的期望,那麼您就是在告訴開發人員該業務不關心質量,因此不重視可預測性。如果您不重視可預測性,那麼就不要抱怨。

如果它們確實很關鍵,那麼為什麼不計劃進行輪班?

這不僅可以保護員工的個人時間並保護企業的需求,還可以激勵開發人員解決導致他們大打折扣的系統性問題。 (也許您需要更多或更好的測試,也許您的舊代碼有問題,等等。)

您為什麼不遲到並修復問題?

您抱怨有人沒有整夜努力解決問題。您為什麼不整夜工作呢?我想您會得出與團隊負責人相同的結論。

您的行為

您揚言要解僱您的員工,因為他們沒有做自己拒絕做的事情。您抱怨這種情況經常發生,但您並未計劃通過輪換或償還技術債務來進行計劃。

在閱讀計劃發行的步驟清單時,對我而言最突出的是頻繁使用“我告訴他們...”以及從頭到尾進行規劃的粒度。您計劃了易於更改的次要細節,但不會計劃產品的支持流程。

這是您100%的問題。

您的團隊

在我看來,您有一群聰明,誠實,專業的人士,他們知道如何製作出色的軟件,但是他們的經理喜歡向他們指示如何做工作以及何時採取這種方法會導致問題,迫使他們工作更多小時。您是否問過您的團隊,他們認為他們應該如何應對意外的關鍵問題?

您的團隊領導正確地推遲了您的期望。我很高興聽到他鼓勵他的團隊對事情說不。

在我作為團隊負責人的那段時間裡,我可以告訴你,最難但最重要的課程之一就是學習如何拒絕。也許您可以從您的這個員工那裡學到一些東西。

1.它們很關鍵。我們遇到的這兩個事件是a)用戶無法登錄和b)用戶無法購買產品。正如我在問題中所寫的那樣,只有這兩個問題被分類為關鍵問題。
2.出問題的是,我們沒有按照我們的同意在所有設備上進行測試。這是一個移動應用,規則已在6台設備上測試* 4個操作系統(共24個)
3.這是一個移動應用,由於輪播已經發佈到AppStore中,因此輪播時輪播無濟於事
4.那天晚上我和其他三個人一起住並解決了這個問題-花了2.5個小時
我說很多“否”,公司裡的很多人都知道這是我的默認答案。這個問題可能是我自己的問題,我正在尋找改善它的方法
各種設備上出現兼容性問題的有力證據證明您的代碼庫存在嚴重的設計問題。解決* specific *故障是一個無休止的過程,因為總會有一部電話暴露您從未想過的允許可能性。您需要做的是使代碼的設計與該平台上的應用程序應如何與系統進行交互的方式內聯,這*不是*原始體系結構的初衷是誰,而且通常根本不容易理解。很容易發現存在此問題的龐大用戶群的已發布應用。
如果問題是缺乏測試,則解決方案是測試更多。不要強迫您的開發人員加班。如果您選擇不進行足夠的測試,那麼您將始終遇到關鍵問題,並且您的開發人員將始終必須工作到很晚。您的主要開發人員看到了這一點,並在嘗試避免設置以下先例:“好吧,上一次我們沒有進行測試,您救了我們喬,所以...”。才華橫溢的開發人員迅速成為超級英雄,這取決於他們保護自己的疆界。
如果您和3個人遲到修復,問題就解決了,不是嗎?我將重點放在改進測試上,這樣就不會再發生這種情況,而不是因為開發人員的工作量不夠而受到懲罰。
第3點和第4點有衝突。您是說由於App Store的限製而無法在數小時後解決此問題,但然後又說您在數小時後解決了問題。
@Brandon-不,應用程序商店不會阻止創建修補程序,但是它們會使即時回滾和即時更新具有挑戰性,甚至可能是不可能的。儘管我不同意發問者的大部分意見,但即使解決方案可能需要幾天的外部商店審查延遲,也可以以解決問題的感覺入睡是有好處的。但是,深夜修復程序傾向於解決症狀和簡單錯誤,而不是根本原因。深夜*對嚴重問題的理解*可能會有所收穫,但仍需要付出大量努力才能找到解決方案。
@CodeProject誰選擇測試?從您的帖子中看來,所討論的高級人員也是負責設計測試的人。
@ChrisStratton我同意您的觀點,認為代碼庫中存在某些錯誤。我花了半天的時間來研究它,其中有一部分代碼沒人知道為什麼要這樣寫。這將是一個巨大的重構
-1
@Mars團隊中的每個人都共同決定測試。是的,這個人也處於循環中,他是測試設計整個過程的一部分
@CodeProject使用您的新信息更新了我的答案:)
“我看著他們說的是產品已經準備好了,還沒有準備好,所以他們需要保持言行。”這種態度將是您與人際關係的死亡。
是的,在這一點上,如果我沒有真正在那裡觀察和聽到衝突的所有方面,我就無法提供進一步的建議。我已提出建議。現在,與我有關的是我一直在關注責備而不是解決方案,包括OP以外的人。我全心全意地相信,只要您一直專注於責備和脅迫他人,那麼您就是問題所在。您需要與團隊一起全心全意地,以1:1的心態認真聆聽。不要檢查他們是否同意你的看法。但是要真正聽到他們的聲音。
DigitalBlade969
2019-03-15 13:57:35 UTC
view on stackexchange narkive permalink

您不能強迫某人加班(取決於國家/地區以及法律規定的潛在極端情況)

如果該人不能或不願意因此,如果任務很重要並且需要立即關注,找到願意的員工或僱用外部幫助是您的責任

請您所在轄區的職業律師進行澄清。

關於所有權以及完成已分配或已承諾的任務,您將一直擁有紀律處分庫,直至終止僱傭合同。

此外,還有什麼塞菲說...

很好的答案,我認為這是我認為問題的癥結所在。 此外,如果OP希望提供擔保,則他們應僱用未領薪水的承包商。承包商無論什麼都必須交付(但是他們認為合適)。
而且,僅想說一句,假設員工盡力而為,不執行已分配/承諾的任務的員工很可能是績效問題,而不是紀律問題。
@GregoryCurrie同意,如果故意這樣做可能會受到紀律處分。
由於諸如此類的問題,沒有人能夠按照固定價格合同準確地*進行移動應用程序開發。
@ChrisStratton我不認為您對正確的帖子發表了評論...還沒有看到有人在談論固定價格的移動設備開發...
回應是對第一個評論的建議,該評論提出了打破觀念,即使用承包商而不是僱員會改變這一點。
@ChrisStratton a我認為評論的意思是代替僱用員工,讓自由職業者或合同要求的其他承包商在日期Y交付里程碑X。同時不必遵守加班法。(對於自由職業者則更少,因為如果他們不想的話,仍然不能強迫他們工作)
您不會發現有能力的人願意簽署這樣荒唐的合同。那些有實際知識的人知道,不靈活的截止日期會導致無法使用的非質量標準,因為事情*會*出錯,並且當他們*做*某事時必須付出。為了真正到達任何位置,結構必須允許朝著目標和通過意外的方向共同努力。
不幸的是,@ChrisStratton並非如此。與公司簽訂合同的公司常常會在合理的期限之前提出對新客戶和老客戶,金錢或聲譽的需求。如果有保證中期/長期現金流量的話,有些人甚至會接受短期財務損失。另一方面,例如以日薪工作,接受加班或週末/假日工作,而被排除在僱員特權範圍之外,並且許多人為緊急工作收取額外費用,僅靠這種生活就可以了。如今,產品的發布日期提前了數年,卻被錯過了花費數千萬。
否。事實是最後期限有所拖延,或者交付的質量低至令人無法忍受的程度-常常兩者都有。此外,除非您有有意義的工作說明和規格說明,否則您不能有合同期限。詢問者的大多數問題都來自於(通過外部)測試來確定代碼是否可以在所有需要的情況下工作的困難(可能會說幾乎是不可能的)。玩截止日期遊戲,您可能會*似乎*像今天*那樣工作,但是*會*在一個月內發現它不能滿足您的實際需求。
相反,當真正了解主題的人一起工作時,無論是作為經理還是僱員,還是作為承包商和客戶,他們*了解*挑戰和風險在哪裡,他們知道有些無法預測,他們知道可寫的規范永遠無法捕獲需求的全部細節,因此它們共同解決了問題,而不是燒毀了無法滿足需求的關係。
@ChrisStratton我同意,但隨後您便開始考慮財務問題,董事會/管理層通常會制定最便宜的方法和最快的周轉時間,以便更快地產生收入並更快地實現ROI。這在很多方面都沒有意義,但他們會認真地接受錯誤的發布和一些反彈,以及在已經獲利的情況下修復它的額外成本。您對您的方法不感興趣,因為它花費更多的前期費用並延遲發布。我已經看到了無數次這種情況發生。
@DigitalBlade969-關鍵是,如果有人試圖發佈內部結構完全損壞的軟件,那麼“他們”必須承擔風險。您不能說“無論如何都必須在星期五發布”,然後說“如果打破了,您必須努力工作”,然後一遍又一遍地做。在成本/收益的權衡上取您的觀點,但是*誠實地說*,*接受後果*並以*生產性態度*共同努力以從不可避免的情況中恢復-**下山推卸責任不是生產性的恢復態度**。
CharonX
2019-03-15 19:26:50 UTC
view on stackexchange narkive permalink

回答更新的問題:

您的大問題不是缺乏所有權,就是。相反,這似乎是一個更深層的,潛在的問題的徵兆:開發過程似乎已基本中斷。

從理論上講,您的過程(即自動測試&測試覆蓋率,衝刺計劃,沒有突然發生)需求變更)應該可以避免您看到的大多數問題。

根據您自己的陳述,即使在部署到客戶時,您也遇到了程序的多個“ Showstopper”問題,其中有些甚至是回歸問題。衝刺未按時完成(測試是衝刺的一部分)。即使編寫測試,也無法提供足夠的覆蓋範圍來捕獲這些錯誤。您還說過您已經處於“熬夜”的情況(事後請假幾天)。

您需要找出問題所在。只有找到並解決根本問題,您才有望解決問題。

甚至不是覆蓋範圍的問題……他們重新進行了測試,錯誤再次出現。換句話說,有人搞砸了測試或修復導致回歸!那麼誰負責失敗的測試呢?將其綠化的高級主管或相信該高級主管的經理?
sf02
2019-03-15 21:01:10 UTC
view on stackexchange narkive permalink

如果90%的用戶無法登錄,並且用戶無法進行購買(即銷售丟失),則需要立即將更新還原到以前的工作版本。與簡單地恢復到以前的版本相比,等待開發人員進行故障排除和修復錯誤可能會花費更長的時間,並給用戶帶來更多負面影響。

更重要的是,開發人員不太可能希望繼續工作如果您有更好的解決方案,他們將被迫加班。如果您珍視員工,則應該尊重他們的工作時間。

如果是網站或後端服務,那麼我們將其回滾。不幸的是,這是AppStore上的應用程序。
@CodeProject有局限性,但是有許多方法可以加快商店中應用程序的回滾(實際上只是更新),如果您還沒有這樣做的話!
Alex KeySmith
2019-03-16 02:23:26 UTC
view on stackexchange narkive permalink

回答更新的問題

似乎遵循了良好的工作習慣:

  1. sprints
  2. 功能已鎖定,即將部署 li>開發人員的時間估算
  3. 自動化測試
  4. ol>

    我部分同意存在一種積極的文化,可以修復關鍵的錯誤,但這種文化也需要反映沒有代碼是完美的,除非您花了很多錢,否則就有一個古老的樓層說 NASA每行代碼花了大約1,000美元!。我不會在文化方面發表過多評論,因為其他方面已經對此進行了討論,而是提出了一些方法論建議:

    目前時尚界的一個團隊結構是擁有全力以赴的特長隊。最終交付和他們對孤立垂直行業的運營責任。如果出了問題,那是晚上醒來的人,但是我會謹慎地在遺留環境中引入它,因為如果團隊沒有機會從一開始就引入他們想要的質量,它將引起不適。 -走。而且具有合同/薪水的傳統Ops角色可能更適合隨叫隨到的工作方式。

    一個更好的主意是在團隊中引入質量檢查冠軍的想法,並引入“ 3個好友”產品,開發人員和QA成員都共同編寫功能規範(行為驅動設計)。這確保了從一開始就考慮了“質量保證成員將如何破壞它”,並且它應該足夠詳細,即以示例方式進行說明。質量檢查成員不必是編寫自動化程序的人,但他們應該對其進行代碼審查。正如人們在上文中提到的那樣,代碼編寫者不應該獨自負責認證代碼的質量,並在過程中儘早引入第三者是積極的舉措。

    也許還需要增強生產環境和發布管理。 “藍/綠部署”和“生產中的測試”是常見的做法,只有在指標證明自己的情況下,才將更改逐步推廣到越來越多的受眾。理想情況下,您的登台環境應該捕獲關鍵的錯誤,但是生產總是存在一些 差異,因此它永遠都不應該是一個大爆炸版本。典型的發布節奏,您不妨考慮更頻繁地發布。如果結合良好的測試和發布自動化,則更頻繁的較小發行版可以降低風險。可以將其與功能開關配對使用,以便在撰寫用戶故事完成時可以完全打開功能。

gnasher729
2019-03-16 02:29:18 UTC
view on stackexchange narkive permalink

我閱讀了您的更新。您的問題是您運送了損壞的產品。而已。這就是您需要進行的工作-不要運送損壞的產品。

您的投訴很荒謬。您決定在產品損壞時發貨。那就是您止步不前的地方。

然後您犯了兩個錯誤:首先,似乎發佈時間如此,以至於下午4點被告知。在開發人員上班前半小時發布。非常簡單的解決方案,這是您的工作。其次,員工似乎沒有動力加班。支付加班費通常效果很好。不允許您定期發布破損代碼的環境。

什麼?聽起來OP部署了一個高級人員標記為全綠色的產品。OP可能甚至沒有技術背景(儘管在這種情況下聽起來像他們一樣),但是高級工程師是這裡的負責人... OP可能實際上甚至不知道某些測試的含義,而是知道被支付知道他們的意思是說他們很好,然後被釋放後說:“啊,實際上.. !!”OP決定發布“有效”產品,而不是損壞的產品。
“似乎沒有動力讓員工加班。”嗯……很明顯,這將是保持其工作的條件!還沒有說明這是免費的OT,並且明確說明了上一次他們額外工作時,他們得到了很多額外的時間
-1
我的錯誤,我不知道手動發布!但是其他觀點仍然成立。此外,假設發佈時間大約是下午4點,則主要是預測-在9點發布,而在10點獲得報告仍然只剩下7個小時來進行診斷,修復和重新測試。如果花費超過7,則表示OT ...
另外,OP可能不負責發布,可能是客戶端。在這種情況下,他們需要與客戶討論使用該功能的問題,但是即使是沒有精通技術的客戶,即使提出這個主題也可能不會順利進行……(“您的意思是推遲發布嗎?您說您測試過嗎?我們付錢給您進行測試。如果您不能在今天之前準備好完整髮布,那麼也許我們應該請其他人可以...”)
Joe
2019-03-16 17:17:42 UTC
view on stackexchange narkive permalink

鑑於更新後的問題,我建議您雖然可能會遇到僱員的態度 ,但實際上您遇到的是 軟件質量 問題:

  1. 沒有獨立於正在編寫這些功能的開發人員的質量保證流程。眾所周知,開發人員在測試自己的代碼方面很糟糕,主要是因為他們自然而然地開始假設他們編寫的任何東西都應該做,並且應該按照他們的意圖 工作,而不是最終用戶期望

  2. 您擁有的任何測試環境都不足以重現客戶發現的問題。您確定了在該過程的多個階段阻止登錄的錯誤,但是最終檢查並未發現此問題。

  3. 高級開發人員願意忽略其實很關鍵。 “ Dude,我和我的朋友今晚要做一些很酷的事情”不是 的反應,因為“沒人可以登錄,因此我們的業務損失了100%的產品使用收入”要支付薪水”。如果這是他對緊急情況的反應,您認為他如何處理小事?還是更注重細節?

  4. ol>

    您更新後的故事中有一個特定部分對我提出了更多問題,我認為您需要詳細調查:研究小組指出,在這一過程中,有一點是他們編寫了所有測試,沒有任何問題。然後您再說,發現並非所有測試都寫完了,沒有發現登錄錯誤,並且您花了更多時間編寫這些測試和解決登錄問題,後來在生產中進行了演示。不固定。

    1. 您說的測試畢竟不是寫的,為什麼為什麼沒有寫?是該案件是一個疏忽,還是團隊誤解了他們的工作完成情況?前者有合理的期望會偶爾發生,後者是您需要明確的不可接受的行為,將來您不會再容忍(除非您誤會)。

    2. 一旦編寫了測試,您怎麼知道這些測試是正確的?您是否檢查過測試?顯然,它們不起作用;他們都通過了,但是經過明確測試並認為已解決的問題仍使它投入生產。不道德的人編寫測試以使其始終通過的情況並不少見,特別是在有最後期限壓力的情況下。如果您自己無法審查測試,則應該找其他團隊的技術人員來為您審查測試。

    3. ol>

      您還寫了一些其他文章,關鍵錯誤的數量現在每月最多一次,但是在此之前,每年至少一次或兩次。這是為什麼?您是否已經調查了為什麼會發生這種情況?在這段時間內產品或團隊是否發生了重大變化?聽起來質量好像在下降。獨立的質量檢查測試(您應該在整個公司範圍內進行此測試,但是由於質量下降,該團隊尤其需要它)。

    4. 查看測試環境並與生產進行比較,以確保測試環境仍然可以反映生產。

    5. 與您當前相比,定期檢查您的團隊為確保質量和正確性而編寫的測試和代碼。

      >
    6. ol>

      可能在與高級管理人員的團隊中存在態度問題,但是您 肯定 有質量問題。態度問題很難解決,但是質量問題更容易解決,而且如果您做對的話,會使團隊中一個人的態度變得無關緊要。

Ibraheem
2019-03-16 15:22:24 UTC
view on stackexchange narkive permalink

我自己是一名高級團隊成員,不得不一次又一次地應對這種情況,我只能說,一個您一直可以依靠的人也需要一些動力。這個人肯定是誠實的,並有權在下班後享有個人生活,但如果有更好的動力,或者您設法為他創造一個友好的環境,他將留下並修復錯誤。

思考反過來說:如果這個人生病或離職或有緊急情況,必須離開辦公室一段時間。目前,他和朋友在一起的時間對您來說似乎是個問題,但即使在上班時間,他也可以滿足所有合法的離開辦公室的要求(下班後與朋友共度時光也是合法的需要)。

一種非常普遍的管理態度是始終對有能力做到這一點的人進行培訓。現在,這因人而異,但作為一名僱員,這可能會導致挫敗感,當僱員開始對您說時,就會出現這種情況。

所以我認為您需要做兩件事:

1:),您應該為下屬員工創建一個學習平台,並逐步委派工作,這樣在有緊急需求時您不必去看每次都是同一個人。

2:),只要該人在辦公時間內完成了他應該做的事情並達到了他的KPI,他就很好了,需要友好地對待方式。

Keith
2019-03-14 22:38:11 UTC
view on stackexchange narkive permalink

在我看來,他對離開辦公室的重視程度遠高於在辦公室。

原因很多,一個好的經理不能簡單地承擔最壞的打算。也許他在家裡有個人問題,無論是人際關係,疾病還是其他壓力。

也許他對工作感到不滿,根本不在乎。

他之所以會表現出自己的行為,有很多原因。我建議您在過度折磨他或對他進行訓練之前,先看看是否有想要給予額外恩惠的東西。

評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/91182/discussion-on-answer-by-keith-employee-lack-of-ownership)。
Mars
2019-03-15 15:03:53 UTC
view on stackexchange narkive permalink

歡迎來到WorkPlace,這一切都是經理的錯。 一切

我看著它,因為他們說產品已經準備好了,但還沒有,所以他們需要保持言行一致。 –代碼項目

以不同的方式提出問題
您有一位高級工程師,他被指派負責一項功能,負責測試並通過了最終產品。綠燈亮的產品存在嚴重的質量問題。 (並且我同意您的定義非常關鍵!)
換句話說,您有一個表現不佳的高級工程師,他不想為了糾正自己的錯誤(或者按照您的說法,實現自己的錯誤)而加班。承諾)。

但是這裡的關鍵不是工程師不會加班-從評論中可以看到您有一個移動應用,因此您不可以發布修復程序
關鍵問題是高級工程師首先要為這些壞掉的產品開綠燈。

這裡的期望/法律很大程度上取決於您所在的位置位於,但以個人名義,我從未在一家公司(美國或日本)工作過,在該公司中您的高級工程師缺乏所有權是可以接受的。無論是否有過失,都必須盡快解決嚴重錯誤。幸運的是,我也沒有在一家公司工作過,因為我至少沒有(在合理的範圍內)為自己的努力付出報酬。我自己的錯誤。


這裡的下一步是查看並找出為什麼發生這些錯誤。這裡的大多數答案都表明問題是系統性的-我要說的是,多個團隊中只有一個存在問題,這表明事實並非如此。

仍然,您應該進行檢查,找出原因並嘗試要解決這個問題。如果這只是表現不佳的高級工程師,則需要採取措施使該工程師達到標準,或者讓另一名能夠正確完成工作的工程師。

文化差異很有趣(英國)。我認為自己很敬業。我很樂意打零工,以容納和我一起工作的人,而且我的合同實際上說我應該按“滿足業務需要”的時間工作,但是如果我被告知,必須立即加班,修復X漏洞後,我將在門停止旋轉之前回到家中途,在我前進的過程中從心理上更新我的簡歷。如果我和我問了這個決定,顯然情況就不同了。幸運的是,尊重員工工作與生活平衡的雇主和客戶都存在,我很幸運。
@BrentHackers哦,我當然知道,您認為強迫加班與您認為有必要加班的感覺有所不同。但是同時,如果我是那個高級工程師,我會覺得“糟糕,我的錯誤或我的團隊的錯誤可能會使這家公司的客戶付出代價。我最好自己去解決!”
但是,當您覺得責任歸咎於其他地方時,情況就完全不同了。我把OT的份額用於其他人的失誤,這簡直太糟糕了!真正快速地離開那裡
“歡迎來到WorkPlace,一切都是經理的錯。一切。” - 完全同意。我讀了這個問題,然後準備好迎接答案,宣布OP是世界上最糟糕的經理。並不失望。
@Graham如果一個月內多次直播,並且他們沒有採取措施制止這種情況的發生,您還要對誰負責?
@UKMonkey誰說的還好呢?還是審查測試人員工作的人?
@Mars還是每個月都在觀察犯罪的人,但不要求團隊對此做些什麼?
@UKMonkey這裡沒有任何信息表明他們沒有為此做任何事情...更不用說犯罪率直到最近才成為一個特別的問題,並且似乎是一個非常本地化的問題。但是,正如我的回答所暗示的那樣,我同意更大的問題是,這位高級工程師首先發布了這些罪行。
@UKMonkey這裡確實有兩個問題:工程師應該被指責丟掉所有東西以修復意外的嚴重錯誤嗎?從文化上來講,這是這裡的規範。不能說到處都是一樣的。是否應該指望工程師放棄一切來修復自己的錯誤而導致的嚴重錯誤?我想說的是,如果他們想保留自己的工作。
“這裡沒有任何信息表明他們沒有對此做任何事情”,肯定存在-它一直在發生。正確的反應是看到有問題,召開團隊會議並確定為什麼錯誤得以解決並加以解決。該速率無關緊要-因為每一次出現故障,都應採取措施以確保不會再次發生。
@UKMonkey應該多快解決問題?今年已經發生了。這是一年中的第三個月。這裡沒有零證據表明他們沒有參加團隊會議,或者確定為什麼錯誤仍然存在。
-1
@Mars我完全沒有假設它們中的最壞情況-用戶無法登錄的原因可能有所不同,但是顯然測試用戶是否能夠登錄是不夠的。如果我是經理,我會拉起測試人員,並詢問他們為阻止這種情況再次採取了哪些步驟。試圖責怪工程師在不給他們薪水的情況下想回家是我對職位的濫用。
@UKMonkey我相信測試人員和工程師是同一個人...測試人員發現了該錯誤(不是足夠的測試!),聲稱已修復該錯誤,並批准了該產品的發布。1)沒有人說OT是無薪的(事實上,顯然是從一個小OT中獲得了工程師額外的大量假期獎勵),以及2)為什麼工程師首先不給他們薪水,如果他們沒有做他們的工作正常嗎?是的,應該採取措施來幫助工程師將來做得更好,但是首先要解決的問題是修復發布並最大程度地減少損失
Bill Leeper
2019-03-15 00:41:08 UTC
view on stackexchange narkive permalink

似乎是時候讓這整個團隊引起注意了。如果他們沒有開始遵守準則,請清除準則,它們將被終止。

您可以通過針對據報告所支持的錯誤/問題建立準則來實現這一目標。例如,優先級為1的bug必須在1小時內開始工作,然後每小時將進度報告給管理層(您),直到bug被修復或滿意的解決方案為止。令您滿意的關鍵是,當工作超過正常工作時間時,您必須在場或自己隨時待命,以支持他們和其他團隊完成工作。

當他們出差回家時,那麼他們就無法滿足您的要求來解決此問題並每小時進行檢查。現在可以測量了。這些準則也必須由其他團隊來滿足。

現在,一旦他們一次不滿足這些要求,便會繼續發出通知,正式書面通知,向您的經理和人力資源部抄送他們未達到要求的通知他們的義務。第二次,您再次報告,通知團隊第三次事件是終止的理由。第三次被解僱。

現在,我猜這名高級開發人員具有一些關鍵知識,他/她認為這些知識會使它們變得無價。沒有人那麼有價值,這發送了這個信息。他們不支持公司,公司將不再支持他們。

如果要終止合同,請期待一些影響。他們確實確實擁有需要付出一些努力才能跟上他人的知識。確保Jr.開發人員了解這些策略,即使他們對Sr.保ba,即使他們能夠開始承擔重擔,那麼當您終止麻煩製造者時,他們將能夠保持進展。

這種方法是肯定的途徑,可以為您的商店贏得聲譽,因為它是軟件開發人員可以避免的絕佳場所。“圍繞有上進心的人建立項目。為他們提供所需的環境和支持,並信任他們能夠完成工作。”(agilemanifesto.org)就是這樣。
通常,我可能會同意你的看法。但是,OP的聲明“每次都存在嚴重的錯誤...”使人很痛苦地清除了這種情況,這種情況經常發生。這告訴我,OP很有可能在工作中失敗,並給它不屬於的地方施加壓力。我個人認為,OP需要重新評估為什麼他們要在生產環境中部署這種有問題的代碼,並可能在解僱人員之前找出解決方法。換句話說,我試圖理解為什麼有20個開發人員的地方沒有經過適當的測試,甚至沒有真正的生產團隊來處理這些問題。
如果您實際上執行了第二段中描述的過程,那麼我希望“後果”包括其他三支退出的團隊,他們將從錫罐獨裁者的拇指之下脫身。
提醒我不要在擁有任何管理權限的公司工作
@NotMe高級工程師是不是設計,開發,測試和發布產品的原因不是這些嚴重錯誤的發生原因?我同意生產/測試團隊會是一個更好的團隊形式,但就目前而言(這也是相當普遍的),是負責產品的某人未能正確交付產品的情況...
@Mars:基於OP更新,這聽起來像是這些嚴重錯誤的原因在於,他們的測試環境實際上並未使用實時數據的副本。換句話說-他們的測試環境/計劃是垃圾。他們需要首先解決該問題。
@NotMe如果是這樣,我完全同意。但是聽起來那對那個團隊來說只是一個問題-這意味著那個團隊的領導者在環境不足的情況下......但是對我來說聽起來並不是那樣。聽起來更像是他們聲稱已修復它,但在此過程中某處丟失了該修復(實際上未修復,或在合併過程中丟失了等等)。
如果您解雇了整個開發團隊,甚至揚言要這樣做,請放心,沒有人會遲到來修復關鍵錯誤。
@Mars我認為只是那個團隊並沒有遲到來修復關鍵錯誤,儘管他並沒有真正指定其他團隊是否擁有它們。
真正。我認為雙方都在這裡做出假設-這個問題對我來說太過文化化了。我讀了它(已經在更新之後),我的印像是該人甚至沒有資格擔任職務,但我的回答是肯定的,到目前為止還不是很有趣,哈哈


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...