題:
由於不斷變化的需求,我被錄用的項目脫離了軌道,現在是我當場
ajf-
2018-06-06 22:00:44 UTC
view on stackexchange narkive permalink

我被聘為前端開發人員,為蓬勃發展的歐洲初創企業開發管理後端。他們考慮的最初估計是6個月,這是適當的。這是一個3人的團隊,由CEO /所有者,後端開發人員和前端開發人員組成。

在我被錄用後,他們立即要求我專注於為他們的應用程序進行測試。這需要進行實質性的結構更改以支持測試框架,這使我花了大約兩個半月的時間。

最初設想的管理平台是“實時編輯”類型的,因此在這一點上,我創建了駐留在支持此功能的前端框架中的組件。加上我成為我開發的測試工具的唯一管理員,我花了大約2個月的時間。

然後,範圍發生了變化,它變成了功能強大的管理面板。在結構上,這有很大不同,需要一個單獨的平台。為此,開發基礎並保持以前的工作花了大約1個月的時間。

前6個月,我們甚至還沒有完成我受僱做的項目。我們最多只有一個基礎,他們正變得非常焦慮。他們變得更加“動手”,要求每天舉行站立會議。他們也開始不信任我的建議,將項目的方向帶到了我認為不應該遵循的方向,但是我什麼也沒說。他們還要求我減少工作時間,提供更快的速度,並減少與我的溝通。

由於我是一名自由職業者,可以收到工作的評分和評論,所以我可以清楚地看到它們正變得沮喪,並且我正在盡最大努力幫助和合作,即使根據我的經驗我也可以看到該項目並沒有朝著最好的方向發展,但恐怕由於他們對我的不良經歷,他們會給我不好的評價,這會降低我的聲譽,因此我正在努力做到順從。我覺得僅僅盲目跟隨他們的方向會對項目造成更大的傷害,進而對我造成更大的影響。

有沒有辦法讓我扭轉這種局面?

您的合同對范圍變更時的情況有何看法?如果您原來的範圍是6個月,而現在的範圍要大得多,那不是您的責任。
我們沒有指定。這是一個臨時合同,我們在開始之前剛剛開會。我按小時為他們作為前端開發人員工作,這與我們的合同所說的一樣多。其餘的是口頭協議。
因此,該軟件尚未準備就緒,並不是因為您無法對其進行測試,而是因為他們要求從開發中刪除1/2個開發人員。你怎麼了
只是好奇他們會給你什麼不好的評價
聽起來您被雇用為開發人員而不是經理,這是一個很大的項目管理問題。雖然您不是項目經理,但始終應該告知潛在的問題(畢竟您是專家),而管理失誤也不是您的錯。
“減少我的工作時間*”是否意味著減少工作時間或每小時減少收費?在我看來,這聽起來更像是前者,但後者似乎更適合這種情況。
https://workplace.stackexchange.com/questions/112823/contractor-faced-with-scope-screep-should-i-fulfill-none-some-or-all-client-r的可能重複項
TLDR的最後2個塊:_«[G]從我的經驗中,我可以看到該項目並沒有朝著最佳方向發展,[他們]朝著我認為不應該遵循的方向進行項目,只是盲目地遵循了他們的方向會對項目造成更大的傷害,但是我什麼也沒說。由於我是一名自由職業者,會收到工作的評分和評論,所以恐怕它們會給我不好的評語,並且會降低我的聲譽,因此我正在努力做到合規。»_看到問題了嗎?如果水管工/婚禮策劃師/汽車修理工對您這樣做了,您是否希望他們“合規”或預先?
-1
假設軟件更改所需的預測時間只是猜測,總是*總是*錯誤的。在編寫程序時,任何程序都是第一次編寫(至少從編寫程序的人的角度來看)。某些不可預見的困難將延遲完成的機會永遠不會為零。使時間完成“估計”變得始終是樂觀的,並認為可以通過“更努力地工作”來解決,這是不道德的管理的特點。
八 答案:
Old_Lamplighter
2018-06-06 22:14:04 UTC
view on stackexchange narkive permalink

所有文檔 ​​strong>

每次範圍更改時,請執行以下操作:

  • 記錄更改。
  • 顯示這將對您的工作產生影響
  • 提交新的時間軸
  • 讓利益相關者簽字同意

發生範圍爬行,但是要避免成為受到指責的唯一方法是記錄一切,證明其效果,讓人們簽字,這樣您就可以擁有紙條記錄

我知道這將如何在將來保護我,但是在當前情況下這將具有建設性嗎?您是否建議我們退後一步,重新概述項目?在非理性的狀態下,他們不希望看到該項目可能還要花6個月才能完成
@AlainJacomet這是您的唯一選擇。他們會喜歡項目拖延,沒有盡頭,也沒有理由比在他們面前擺放細節要少得多。這是專業的事情。
@Alain Jacomet已為時已晚。手指已經尖了。您可以做的是嘗試盡可能多地理解和保持靈活性,但是要清楚地說,您不能做得比您能承受的更多。
同樣,只是為了擴大答案,“不要跳槍”。不要開始開發尚未在文檔中最終確定的東西,或者僅僅是浮出水面的想法。不要處理會改變開發中期的文檔。當我開始執行任務時,我會在文檔中放置一個“本地”副本,以防止發生這種情況。所做的任何更改都需要明確報告/記錄下來,否則我將不予回复。這實際上需要其他人也記錄(與您有關的)事物,從而擴展了自己記錄所有事物的想法。
@AlainJacomet:您所擁有的最好的是逐步重播事件,以解釋為什麼截止日期延長。例如:(1)您想要[this]。這將由[當時]完成。(2)然後您說您想要[那個]。這將[時間]添加到截止日期。(3)然後,您將開發更改為[那些]。至少需要[時間]來更改現有代碼以適合該代碼(依此類推...)。這清楚地證明,截止日期更改與他們更改需求有關。您需要向他們明確說明該連接。
**提交新的時間表**這是最重要的部分,每當您被要求“不同”或“新”地做某事時,調整時間表/最後期限,並向利益相關者明確其影響。
我認為可以通過進一步強調提供新的更新估算值如此重要的原因來改善此答案。根據我的經驗,當人們要求更改時,他們認為這將是他們之前要求的1:1替代。他們很少意識到自己的要求將意味著更多的工作。您必須立即使這一點變得顯而易見,以防止他們說*'如果您告訴我,我第一次不會要求您更改此內容'*
+1正是我要說的。由於缺乏溝通,項目失敗並且不信任感蔓延。通過記錄所有內容並進行良好的溝通,範圍蔓延不會那麼出乎意料。
@ajf-這對您來說不會很好。自由職業者不能同時兼顧。他們無法為客戶提供時間估算,也無法按小時計費。如果您說一個任務需要10個小時。如果您在9小時內完成?客戶節省了1個小時的成本。他們同意支付10,但只支付9。如果您說一個任務需要10個小時,而您要在11個小時內完成。客戶抱怨他們多付了1個小時。您會被這兩種方式搞砸。當自由職業者按小時計費時。應該是“我在這裡,我想做你想做的事,我按小時收費,現在風險已成問題”。
Brythan
2018-06-07 11:43:10 UTC
view on stackexchange narkive permalink

Mea culpa

我認為 @Neo的答案是正確的,但我不同意實施。考慮

自從我來過這里以來,我犯了一些錯誤。第一個重要的問題是,當您告訴我為該應用程序開發測試工具時,我並沒有堅持要我們對更改進行範圍調整。當時,我只是同意測試工具是一件好事,因此向前邁進了一步。那花了兩個半月。維護它還花了X個月的時間。

沒有意識到這個錯誤,當您告訴我將“實時編輯”更改為功能強大的管理面板時,我重複了一次。我並沒有堅持要確定變更範圍。我們花了一個月的時間進行更改。

我無法再犯同樣的錯誤。從現在開始,每次提出更改時,都希望時間軸更新。這就是今天的情況...

然後說明在當前要求下完成當前任務集需要多長時間。如果他們提出新的更改,請說明他們將如何更改該時間表。還要說明如果您現在不進行這些更改而以後再進行更改會發生什麼情況。您甚至可以通過他們已請求但尚未實施的更改來做到這一點。

我將繼續您在這裡所說的內容,因此我可能會丟失時間軸的某些部分。如果是的話,請確保您為它們寫了那些部分(除非您需要有關它們的幫助,否則我們真的不需要看到它們)。

這種方法的優點在於,它需要您自責。大概他們同意您犯了錯誤,所以您從同意開始。除了你,它沒有指向手指。它著重於問題,並最終轉向解決方案。

不要忘記在其中包括對測試工具的持續維護。如果那花費您一半的時間,請告訴他們。他們可以將工作轉移到您之外(前端或測試工具),也可以使用更長的時間。

如果您不告訴他們實際情況,那麼您將繼續遇到同樣的問題。

繼續前進

當我讀到這篇文章時,真正跳到我頭上的是測試工具。即使在維護之前,這也超出了六個月範圍的兩個半月。這就是為什麼我說X。我不知道X是什麼,但這聽起來很重要。如果您從那以後花了半個月的時間,那麼它將成為前六個月的大部分時間,如果再花更多的時間,則可能成為您在那裡的大部分時間。您確實需要對此進行量化。

從這裡計算出完成原始項目將花費多少時間。也許您已經添加了一些額外的功能。您不需要拿出東西。但是,如果您沒有添加原始要求中未包含的其他內容,那麼時間表將是什麼?然後向他們展示任何新的要求如何影響該計劃。然後向他們展示他們當前的建議將如何影響時間表。您無需拒絕,只需告訴他們他們要添加多少時間。

他們可以擁有敏捷或瀑布。他們不能混搭。敏捷接受不斷變化的需求,因為系統始終在某種程度上運行。因此,所有要求要么都在當前的sprint中,要么不存在。 Waterfall嘗試立即安排整個項目。這意味著,任何時間要求發生變化,您都必須更改整個計劃。從理論上講,項目經理應該處理此事,但實際上,如果那沒有發生,那是您作為承包商的責任的一部分。您需要管理時間表。

還請考慮您當前計劃在前端進行的某些工作可能會在後端進行的可能性。如果是這樣,您應該量化將花費多少時間。讓後端開發人員量化在後端進行編碼所需的時間。讓經理選擇在哪裡做會更好。即使在後端花費更長的時間,但如果您在後面,並且後端開發人員當前正在等您,那麼在那裡這樣做仍然有意義。

後端開發人員可能會接管測試工具。如果只有兩個開發人員,而這會花費您太多時間,那麼其他選擇就不多了。如果您可以專注於原始項目,情況將會好得多。如果後端開發人員一直在等待您,那麼與此同時您也需要做的工作。

這個答案得到我的投票。其他答案則說明瞭如何防止問題中所描述的場景在將來發生,這有很多好處,但是,這還說明瞭如何“立即”從當前場景變為當前場景。其他答案也可以應用。
隨著出價的增加(每個都有獨立的估計誤差),買方更有可能選擇一個低估所需工作量的投標。更高的出價(對於一個問題,一個或多個問題,它們的出價不止一個)意味著更高的負載係數。但是+1,做得很好。
除了對您的行為負責之外,您還可以減輕他們甚至可能不知道的隱含責備。您可以更輕鬆地對他們所做的事情承擔責任;它往往會鼓勵其他各方“放鬆警惕”
這很棒。正如anaximander所說,它不僅解決了將來避免使用它的問題,而且還提出了立即採取改進措施。您要提出的一件事是我想擴展的,即瀑布與敏捷的思想。您觸及了它,但我認為切換到敏捷(或類似敏捷的系統)將是改善當前狀況的重要一步。它為他們提供了更多的控制權,透明度和對項目狀態的反饋。我添加了一個答案,以更深入地探討這一問題。
在承擔任何責任之前,@Brythan OP應諮詢律師。根據合同和國家/地區,這可能會對因OP錯過最後期限而導致客戶損失利潤等情況下的合同處罰和責任產生嚴重影響。最好不要採取責備遊戲,在陳述導致當前局勢的情況以及提出即時解決方案時保持中立。
Neo
2018-06-06 22:13:47 UTC
view on stackexchange narkive permalink

有辦法解決這種情況嗎?

我認為您在這裡遇到了麻煩,因為它對我來說似乎不是管理了他們的期望

在遊戲後期您能做的最好的事情是記錄整個場景,包括時間線,就像您與我們在一起一樣。有時,客戶記憶短促,只回想起過去(現在)或短期過去。我懷疑他們是否記得他們幾個月前要求您做的事情。

提醒他們

確保在拼出工作時,請注意導致您不得不大幅度修改體系結構的每個決定。

除此之外,我不確定還能做些什麼。

為了您的未來

請確保記錄下您所做的一切,並且如果您有變更請求(原始工作說明書中的變更),請確保記錄變更及其對時間表的影響

沒有人喜歡這樣的人,當事情著火時,他會開始指責並說“這不是我的錯”。如果有的話,我想做些富有成效的事情。
-1
損害控制聽起來確實合適,也許與您概述的其他要點結合在一起。
@AlainJacomet在那裡,完成了。在我的情況下,我找不到其他方法來挽救它。
@AlainJacomet的一個小的更正。沒有人喜歡這樣的人:當事情著火時,爭論“不是我的錯”。例如,很明顯是誰的錯,還是每個人的錯。但是,如果您辯稱“不是我的錯”並且確實是相關的,那麼有人會從美學上反對這一點並不重要。
agemO
2018-06-07 10:59:02 UTC
view on stackexchange narkive permalink

但是我什麼也沒說

這不是開發人員工作的很大一部分,尤其是自由職業者嗎?

您的經理不是開發人員,他們不能告訴繁重的需求從輕量級的更改,也不能告訴錯誤的方向(從開發人員的角度來看)好的指導(例如,他們仍然有充分的營銷理由嘗試這些指導)。

每次您在討論要做的新事情時,都必須告訴他們這將花費多少時間(或者這一次是多麼不可預測),即使他們不問 >。

究竟!詢問者似乎擔心時間表和預算。對這些主題負有任何責任的人不能在沒有提供指導的情況下在其中取得良好的結果。
Kilisi
2018-06-07 01:58:42 UTC
view on stackexchange narkive permalink

您需要進行損害控制,因為我認為這很多是您的錯。

您應該更快地管理更改,或者確保很明顯六個月後不再適用他們想要做其他事情。相反,您只是在看著時間表飛逝時才收錢。

有辦法解決這種情況嗎?

選項1:做點工作

選擇2:告知他們基於現實的時間表,以及無法滿足原始時間表並從那裡繼續前進的原因。聰明的人會理解,他們可能不會高興或留下深刻的印象,但他們會理解。

作為自由職業者,您的聲譽是您最大的財富,您需要比平常人更好,更有組織,更快和更專業為了建立聲譽,有時這意味著在壓力大的情況下免費工作幾個小時。

評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/78646/discussion-on-answer-by-kilisi-project-i-was-hired-for-is-off-the-滑軌到C)。
@Jon註釋已移動,未刪除。我們沒有選擇地移動它們的選項。評論中的擴展討論幾乎總是會導致整套討論被感動。我們可以有選擇地取消刪除其中一些評論,但是應該有充分的理由。此外,不應期望評論將永遠存在。彈出窗口建議留下評論以“改善帖子”,而不是解釋不贊成票。OP清楚地看到了建議,並選擇不更改答案。因此,該評論已過時。不知道為什麼要堅持下去。
Artelius
2018-06-07 08:07:52 UTC
view on stackexchange narkive permalink

直言不諱地說,如果這是您的錯,您最終要么會受到打擊,要么是聲譽受損,要么是錢包受損。

作為專業人士,您通常是希望能夠提供合理的估計工作時間,並在時間表不切實際的情況下立即通知您的雇主。

我並不是說您要全責,而是您確實應該在4個月前告訴他們的事情,然後犯了一個錯誤,而這要花費他們。而且,您保持沉默的時間越長,情況就越糟。

這就是說,據我所知,團隊中已經有前端和後端開發人員,他們也應該對范圍變更的影響有一個合理的認識。因此,聽起來每個人都在恐慌和擠壓其他人,或者也許他們只是彼此信任而不是信任您,所以他們在擠壓您。

一件事要記住,很多時候,每個人都是強調,人們完全不同步,完全誤解了別人在做什麼。例如,也許您看到的“動手”就是他們希望迅速擺脫絆腳石,而您看到的“降低溝通”實際上只是每個人都在匆忙中。同樣,他們可能會錯誤地對待您。解決這些問題的方法是通訊。

首先,我會很快在紙上提出該項目的現實時間表,並弄清您可以工作的最長時間和在替代方案失去工作以及評估很差的情況下可以接受的最低費用。您需要頭腦中的這些類型的數字,因為事情可能很快就會陷入談判過程。並找出他們是否更擔心預算或時間軸。

然後繼續說:“伙計,這個項目顯然給每個人帶來壓力。我們可以退後一步,對此進行一次平靜的討論嗎?我想了解一下,也許對我們從這裡開始如何做貢獻有所貢獻。”

如果他們拒絕,請告訴他們,儘管您將繼續盡力而為,但由於工作量過多而工作量不足,您現在無法滿足他們的期望。時間。

否則,您可以與他們討論該項目。不要對抗。強調您了解存在復雜的業務壓力,最終的決定取決於他們,但從您的觀點出發,提出您認為是最佳的行動方案。如果他們向您扔出曲線球(例如,您不確定需要多少時間的功能),請告訴他們您必須先對其進行研究,然後才能確認它是現實的。

最重要的是,提供解決方案,而不是問題。與其說“我沒有聽說過blah”,不如說“請您將來告訴我有關blah的信息嗎?”

聲譽會受到打擊,確切地說是在誰的眼中?許多開發人員看到了管理不善的項目,因此,即使他們聽到了最初的幾個症狀,他們也會認出一個。
@mathreadler“哦,不要雇用那個自由職業者。他告訴我們,完成我們的項目將需要6個月的時間,而這實際上需要1 1/2年!”大多數自由職業者是為客戶工作的,而不是直接為其他開發人員工作的。自由職業者應該學習的第一件事是他們不僅僅是開發人員。
您可以通過“ @Voo”輕鬆地對此做出回應,因為“需求不斷變化,因此估計完成時間當然也有所變化”
@mathreadler除了開發人員沒有在實施之前通知客戶有關時間框架的變更(錯誤已經詳細討論,因此不值得討論)之外,重點還是作為自由職業者您可以口口相傳。如果準客戶與您的前雇主交談並聽到了上述句子,您將甚至沒有機會告訴他們,因為該客戶會去找幾十個直接競爭對手之一。
@Voo客戶是否只是假設需求的變化不會導致估計完成時間的變化?好吧,我想他們那時會來...
@mathreadler在您接受之前,您從未與任何非技術客戶直接合作過。如果公司僱用您,那麼您應該是專家。獲得足夠的技術知識和對代碼庫的理解(甚至將如何工作?),以能夠估計實現新功能所需的時間,這不是客戶的工作。[如果您與非技術用戶花費更多的時間,您會發現他們很難估計什麼是難題,哪些不是問題](https://xkcd.com/1425/)。
最終,這沒關係。作為一個自由職業者,您會因口口相傳而生死。口耳相傳的準確性與否無關緊要-考慮到如果有人聽到關於您的不好反饋,有多少人在從事這種工作,他們將選擇您幾十個競爭對手中的一個。
他們可能很難估算技術實施的難度或時間(@Voo,),但也應該始終保持了解他們的利益。是的,祝您找到可以做同樣事情的人好運。
Robert R.
2018-06-08 01:02:37 UTC
view on stackexchange narkive permalink

您寫道:“我們沒有指定。這是一個臨時合同,剛開始之前我們開會了。”

這是您的根本原因。那裡有足夠的工作,這個項目的任何打擊只會給您(IMO)造成些小問題。此外,許多公司還了解這是怎麼發生的,而不是為此而怪罪您。

記住,儘管他們在影響您的聲譽方面發揮了作用,但您卻可以利用,因為他們花費了大量的金錢和時間在這方面,會花更多的錢在別人身上。您已經在計劃中學到了教訓。項目的80%應該在計劃中,而20%應該在實施中。

您已經學習了有關在合同工作中使用好的合同的經驗,並且只要您履行合同義務,就不必擔心自己的聲譽。的確,只要您滿足要求,如果給他們低分或給您低分,他們就會處於危險之中。

簡而言之,創建一份好的合同並進行真實會議計劃!您可以從中恢復過來,但是現在您需要採取正確的方法,即通過使用合同和涵蓋所有內容的真正的逐步計劃來保護自己和客戶。

仍然,根據我的經驗,我認為這是一個很好的經驗教訓,可以在其他地方尋找新的起點,從而大踏步前進。

或者採用更敏捷的方法,避免計劃步驟,而用持續的通信週期代替它。
Jonathan
2018-06-07 23:37:07 UTC
view on stackexchange narkive permalink

我想在Brythan的答案上做些擴展。提出但要掩飾的要點之一是使用Waterfall或Agile。從您的描述中,我嚴重懷疑他們使用的是敏捷,從他們公司的描述中,他們甚至可能不知道它是什麼。我將寫出我的答案,假設任何人讀它都不熟悉敏捷(或就此而言瀑布)。至少,這可能有助於向公司解釋您想做什麼,因為敏捷可能很複雜,尤其是如果他們習慣於瀑布式的話。如果您不熟悉該術語,那麼瀑布就是舊的“開始時就計劃好一切,給整個事情定一個時間範圍,然後祈禱沒有錯,並且您對多長時間的猜測是準確的

在Brythan的回答示例中,我將結束段落更改為如下內容:

在為了避免將來出現這種情況並為項目帶來更大的透明度,我想提出以下建議:

首先,每兩週召開一次會議,決定需要採取什麼措施。在接下來的兩週內完成。我將提供仍需要完成的任務列表,我們可以共同決定優先級是什麼,以及在這兩週內我可以合理地完成的任務。在兩週結束時,我們將舉行另一次會議,以演示已完成的工作,以便您可以退出會議。

通常,將項目分解為“任務”(或稱為“用戶故事”的用戶故事)的過程將由您和項目經理完成,但您可能必須自己處理。將它們分成幾部分,可以在兩週或更短的時間內完成。在這兩週結束時,每個任務都應該作為完整的工作組件向公司展示。有時,您創建的東西實際上並不是可以獨立交付的,但是即使那樣,也要嘗試找出某種方式來顯示功能。想法是,他們看到進度。

此外,我想召開每天不超過15分鐘的會議,討論日常進度。這樣,您始終可以確切地知道項目的狀態,如果出現任何問題,可以立即解決。

這是Agile的非常基本的實現,但是對Waterfall進行了巨大的改進,並為項目所有者提供了有關項目位置的即時和持續的反饋。

瀑布對他們而言會好得多-似乎他們並不完全知道自己想要什麼,並且即使在有限的時間限制內使用Agile進行大的更改也永遠不會起作用。瀑布會讓他們提前思考,而這確實是缺少的。
@gbjbaanb錯了。對於發現和理解,敏捷實際上會更好。OP的問題在於,他/她沒有及時更新它們,因為它們改變了期望,因此無法完成工作。Waterfall可以保證僱用他的人對產品不滿意。確實,這只是敏捷中的不幸錯誤。
@Steve對於一個為期6個月的項目,知道自己想要的東西比能夠適應變化更重要-鑑於OP所說的,您沒有足夠的時間在那個時間範圍內進行變化。當然,如果您是按日付款的...
-1
兩者都要求您首先定義一個範圍。對於敏捷,您應該從一開始就構建所有功能,並從中構建用戶故事。因此,該論點無關緊要。但是Waterfall需要您能夠預測未來。您不妨以塔羅牌或茶葉作為估計,這幾乎是準確的。即使具有完全定義的,不變的範圍,也很難預測這麼多工作的準確時間長度。雖然,敏捷可以提供幫助。如果將所有故事分解為可用於衝刺的故事,則估計起來會容易得多。
@Steve可以肯定,但是作為一名自由職業者,您的工作是建立他們想要的東西,這就是他們所支付的價格,如果您建立其他東西,則有可能您不會獲得報酬(即使這是他們想要的)。由他們自行決定需要什麼,如果他們願意,可以重新僱用您重新進行。
-1


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