❶ 好累,程序員聽不懂產品經理提的需求,問多了,產品經理嫌煩。該怎麼辦
在我們公司面對產品經理提的需求,我們都有統一的回復:
❷ 產品經理該如何跟程序員溝通
產品經理面試的過程中面試官特別喜歡會問一個問題,如果開發人員以無時間為理由拒絕你的需求怎麼辦?工作中產品經理和技術人員打交道的次數太多了,行業內也流行著一些圖片來調侃產品和技術之間的關系,兩者的關系可以用相愛相殺來形容。
之所以這么說有兩個理由,相愛是因為兩者要互利合作,把老闆交給的任務完成,而且只有彼此合作才能讓工作進展的更順利。相殺是因為這兩個職業又存在著很大的矛盾,產品經理的需求間接決定了技術人員的工作量,有些技術人員確實對產品經理比較反感。
我也看過一些關於產品與技術如何溝通的文章。這篇文章我想結合我自己的親身經驗,分享一些小技巧,可以當做是保持良好關系的潤滑劑。
1
首先我們分析一下技術與產品之間產生矛盾的原因。在分析之前,先設一個前提,每個公司在招人的時候都有其標准,尋找價值觀相同的人,所以我一直都相信開發人員並不會無故找理由拖延項目周期。反過來,如果開發人員因為品性而偷懶或者說是耍心眼不幹活的話,那就沒辦法了,個人主觀因素太大。
第一種情況是產品經理的需求與開發人員手頭的項目撞期了,解決的辦法很簡單,就是根據需求的優先順序來調整開發排期。碰到這種事,有些領導也總是期望產品經理靠著自己的方法解決。但是除了跟上級領導申請調整優先順序,沒有別的好辦法。一個客觀事實,公司在多個項目中確實有優先順序之分,雖然你自己的孩子自己最看重但是在別人眼裡並不是這樣。第二個原因是開發人員是按照公司意願辦事,說嚴重點你總不希望別人因為你的事情跟領導鬧僵,搞砸自己的飯碗吧。
第二種情況技術人員並不認同產品經理的觀點,雖然產品經理和技術人員各司其職,但是在工作中會碰到有些技術對產品特別關心,如果產品經理的做法自己不認同的話會提出質疑。如果質疑的人是技術老大,產品經理往往會更被動。遇到這種情況我覺得很正常,想辦法說服技術人員。
除了搬出之前做的產品分析和用戶調研外,我在工作中總結了一點經驗,平時可以多跟技術聊聊天,增進彼此了解,觀察他們經常上使用的產品,在溝通說服他們的過程中,可以拿他們經常用的產品舉例,這樣的話他們本身對那個產品更熟悉,自然也更好理解。另外,在跟技術講解產品的時候也要適當的畫餅,描繪一下產品上線成功後的美好未來,這會帶動起他們的積極性。
2
產品經理要做好自己的基礎工作,這利於給開發人員留個好印象。做好這方面的工作有兩點,一是想好產品規劃的原由,避免被技術的同學問住。技術人員也特別討厭產品經理說「某某產品就是這么做的,我們按照他們的做就行了」這樣的話;二是寫好產品文檔,在產品文檔中避免有遺漏的地方,特別是一些比較復雜的功能,一定要解釋清楚,因為技術人員會遵照著產品文檔進行開發,所以說如果有疏漏的地方會增加溝通成本,如果文檔寫錯了,造成開發出來的產品功能不符合預期就是產品經理的責任了。
為了提高文檔的可讀性,我們也可以多使用圖文、流程圖的表現形式,如果只是乾巴巴的一個word文檔,幾千個文字,看起來確實很枯燥。
對於產品經理和開發人員來說信任尤為重要,如果開發對產品經理缺乏了信任,結果就是你的話開發人員不會再聽了,每個需求他們需要經過你的領導確認後才會去做。獲取對方信任的一個很重要前提就是說話算數,當技術人員詢問你某一個問題時如果自己沒想清楚,可以先暫時別回答,考慮清楚後再說。要是隨口一說,過後又讓開發人員修改,不僅會造成開發人員返工,這種行為也是非常不負責任的。
即便文檔寫的再完善,在產品開發過程中也難免需要當面溝通。項目跟進,需要產品經理極大的責任心和積極性。一個項目立項後,公司通常會把參與人員列為一個小組,產品人員需要根據開發排期跟進開發進展,避免開發出來的產品與預期不符,驗收產品功能是否與產品期望一致。這個過程產品人員的工作往往會比較繁瑣,也會比較忙,當然也會鍛煉產品經理的溝通能力。
3
說一下行業內一直討論的一個問題,產品經理該不該懂技術?我覺得這個問題並沒有什麼好討論的,無論是從個人知識量還是從是否有利工作的角度講肯定是懂技術要更好,而之所以能吸引那麼大的熱議,可能是由於很多產品經理不懂技術,但是又沒有興趣學習,所以心底一直會糾結這個問題。
從我個人的經驗來看,特別是你做項目比較多的時候,會發現懂點技術跟技術人員溝通起來會順暢很多,一個重要的體現是技術人員也很願意跟你交流技術實現的一些想法,而不會說「算了,跟你說了也沒用」這樣的話。
產品經理懂技術還有一個很重要的益處是當業務部門提出需求時,自己就能評估出技術實現的可行性,對於實現起來比較困難的需求自己就可以跟業務部門商量優化方案。而不必每個功能都去詢問技術,無形中也減少了技術的麻煩。
不過我跟很多人的觀點也一樣,產品經理對技術的了解不需要太精通,說到這我還得慶幸自己大學時候學的是計算機專業,雖然學的不好,但對於現在的工作還是非常有益處的。不過我在工作中也會碰到技術人員偶爾說了一個名詞自己不理解的,這時候兩種辦法,要麼主動問一下,要麼自己去網上查,明白其中的邏輯關系,知道是怎麼一回事就好。
畢竟術業有專攻,雖然我們希望知識越多越好,但也別給自己太大壓力。況且技術知識也在更新迭代,他們使用的框架也會變化,技術的語言也有很多,如HTML、Java、PHP等,你不可能全都精通。
4
最後說點工作中會遇到的個人主觀因素。
當產品經理跟其他部門提需求或是溝通確認的時候也不排除其他同事有未及時回復的情況,為了確保項目上線也為了爭取資源,這個時候就需要產品人員更加主動一些,所以產品經理有時候還需要臉皮厚一點。
當提交一個需求給開發部門制定排期,你會發現他們都會把時間定的很充足。也許你會因此對其他同事有看法,但其實在工作中都是這樣子,大家都不會把自己的時間安排的太緊張,而且還要考慮過程中可能會出現的風險因素,例如請假的情況。當然也不能把時間定的太長,那樣老闆該不開心了,所以最好是產品經理根據上線時間與開發人員定一個時間結點,讓開發人員在這個時間點前完成即可。
❸ 如何向外行解釋產品經理頻繁更改需求為什麼令程序員煩惱
客戶購買產品的出發點都是為了幫助他解決問題,買個10w的車是解決出行問題,買個100w的車是解決應酬問題,買個1000w的車是為了解決面子問題。但是很多客戶由於搞不太清楚他面臨的問題到底是什麼,就導致他們對自己的需求不明確,對於要做什麼東西總是模模糊糊沒有清晰的概念。此時客戶會下意識的將他們想到的功能以不成熟的設計描述出來,並且希望產品那邊趕緊出一個demo看看是什麼樣子。如果做出來的東西恰好能解決他們的問題,那就皆大歡喜(從經驗上看,這種概率一般都低於20%),如果做出來的東西無法完全解決他們的問題,甚至都不搭邊,這樣就會引起更改,有可能不斷的重復這個過程。PM的角色應該是通過引導客戶對其面臨的問題進行詳細描述,從而主抓他們主要面臨的問題,進而形成一套解決方案。了解客戶面臨的問題是很關鍵的一步,因為很多客戶對自己面臨的問題看的不全面,考慮的不周到,往往只從一個方面描述問題,有很多因素都沒有考慮到。如果PM在跟客戶確認需求時,沒有對客戶描述的問題進行深入分析,那麼以此設計出來的產品成熟度就很低,需要反復修改的風險就很大。之前聽到一個例子很好的描述了這個情況:一對夫妻找到他們的律師決定立一份遺囑,這對夫妻對遺囑的描述很簡單,就是有一方如果仙逝,則財產全部自動歸到另一方名下。此時如果是一個不稱職的律師(PM),基本就會按照這對夫妻的描述來起草遺囑。如果是一個稱職的律師(PM)則會想這對夫妻問以下這些問題:律師: 如果你倆同時遇難,財產如何分配?夫妻:財產全部歸我兩個孩子,一人一半。律師:如果在你們遇難時你的兩個孩子都未滿18周歲,那財產如何分配?夫妻:額,那個,財產暫時由男方父母代管,18歲時再分配給子女。律師:如果你們的兩個孩子先於你們過世,財產如何分配?夫妻:那就捐給基金會。律師:如果你們遇難之後不久男方父母也過世,並且兩個孩子都未滿18周歲,那麼財產如何分配?夫妻:這個。。。額。。。好吧,我們還是決定如果孩子未滿十八歲,財產由信託基金代管,Hope信託基金能堅持到兩個孩子都滿18歲。律師:好的,跟信託基金簽署的合同是另外一個topic。如果你倆一方仙逝後,另一放再婚,財產如何分配?妻子:我那份留給兩個孩子丈夫:。。。在產品的開發過程中需求變化是在所難免的,好的PM應該能從解決問題的要點出發,盡可能的幫助客戶找到適合他的解決方案,同時在跟研發團隊設計產品時應該盡可能的讓產品模塊化,留出可擴展空間,解釋清楚每個需求變化的原因,讓研發團隊了解修改的合理性,以便能盡可能的滿足客戶需求。
❹ 產品經理和程序員,如何避免矛盾
產品汪和程序猿
一、產品經理和程序員最討厭的三句話
產品經理和程序員,就像一對情人,若即若離,有時還會撕逼,和諧的時候一切都好,撕逼的時候兩敗俱傷。
你知道程序員最討厭的三句話是什麼嗎?
1、這個需求很簡單,改一下就好了
2、你先大概弄一個,我看看再說
3、我先下班了,加油啊
我想任何一個程序員聽到這樣的話都會氣炸了,不撕逼才怪,你作為程序員會如何回答這三句話?
1、這個需求很簡單?你行你來啊!
2、大概先弄一個?請問先生(女士),什麼叫大概?
3、你大爺的
你知道產品經理最討厭的三句話是什麼嗎?
1、這個需求做不了
2、這個需求工作量太大了,估計要搞3個月
3、這個變更沒時間做,往後排吧
產品經理在前端,有用戶、有老闆、有銷售,版本發布的壓力很大,聽到這樣的話估計心情也好不了哪去?
1、這個需求做不了?又不是我提的,還不是那個2B用戶提的
2、要做這么長時間?養你們有什麼用,還不如我自己來
3、變更沒時間搞?隨便,等老闆來拍你吧。
二、產品經理和程序員本質上的差異是什麼
奶爸干過程序員,也干過項產品經理,深知這兩類工作的差異,各有各的不易。
總體上來看,做產品更側重於創造和方案能力,不需要精密的邏輯,所以試錯成本相對比較低,大不了改改原型,改改方案,這個成本是可承受的。
程序員的工作是非常精密的邏輯,一個看似很小的變更有可能對代碼產生很大的影響,所以試錯成本非常高,弄不好可能會因為需求的變化導致系統的重構,這時候程序員的挫敗感是可想而知的。
三、產品經理和程序員友好相處的清單
1、產品經理收集需求後,在需求分析階段,需要把一些不合理的需求盡量和用戶溝通去掉,避免不合理需求造成產品發布時間延遲和沒有必要的成本浪費,當然這需要產品經理去說服用戶,不能只做用戶的傳聲筒。
2、需求分析時,產品經理應該根據經驗,敏銳的發現一些在技術層面實現有困難的需求,及時讓研發介入,評估技術可行性,避免後續出現需求定下來,研發說做不了的情況。
當然這需要我們的產品經理對軟體技術架構有一定了解和預判能力,你不能所有的需求都要在需求分析階段讓研發介入,這個成本也是極高的,所以要把握好這個度也是一項能力。
3、原型還是需求溝通的最好方式,這樣是避免產品和研發在需求理解上有差異的最好手段,只靠寫一些文字的需求說明書很難達到好的效果。
但這裡面要注意一點,產品經理繪制出來的原型一般是非高保真原型,是為了更好的溝通需要,所以不能完全按照原型做,需要基於我們自己的前台架構進行定製。
4、需求評審的時候,研發可能會有一些不一樣的意見,他們做了很多年的開發,會有很多好的經驗,好的經驗要虛心接受,不能覺得自己是產品就是老大,就是要按我說的做,這樣很容易造成矛盾,求同存異,目標一致,這個是最好的結果。
5、研發說這個需求做不了的時候,有兩種情況,一個是覺得這個需求實現起來比較麻煩,故意騙你;另外一種情況就是他的知識盲區,他可能確實不知道這個事能做。
產品經理需要有能力和研發進行談判,比如採用類比法(類似的需求在其它項目上咱們就做過),比如去找架構師探討技術可行性。
6、研發有時候評估的工作量會比較大,整個上線計劃拉的比較長,產品經理可以要求研發出詳細的資源配置清單,這樣能清楚的看到一個需求被分解成了多少個研發任務,每個任務的起止時間,由誰負責完成。這樣產品經理大概能看出任務的前後置關系是否合理?工作量是否合理等。
產品經理絕不能說,這么簡單怎麼要搞這么長時間,類似的話一出,絕對會激怒對方,還是要有理有據進行談判。
如果實在無法壓縮工作量,如果增加人力能解決問題的話,可以考慮找領導申請資源。如果還是不行就要砍需求或者改方案了。
7、在版本計劃定好的情況,盡量不加需求,這樣很容易打亂開發的節奏,如果一定要加進來,一定要和研發說清楚,這個是用戶領導或者老闆的強制要求,轉移矛盾。如果可以的話,增加了需求盡量推遲上線計劃。
8、開發過程中如果需求有改動,需要及時更新需求文檔,同時發給我們的研發同學,否則只是靠嘴說一下,很可能研發的同事就不做了,所以一定要落到紙面上。
9、上線的時候要堅持和研發同事一起加班,這樣大家才是一個團隊,贏了一起狂,輸了一起扛。
10、最後一點,就是要多交流,沒有什麼問題是一頓火鍋解決不了的,大家關系好了,很多事情溝通起來自然容易,而且也會更信任對方,這樣就萬事OK了。