? ? ? 在論壇俏讹、知乎上經(jīng)车毖纾看到一些「年輕的」產(chǎn)品經(jīng)理發(fā)的引戰(zhàn)帖,大意是:「開發(fā)大哥泽疆,我代碼寫的少户矢,你可別騙我,這么簡(jiǎn)單的需求殉疼,明明一下午可以搞定梯浪,你跟我說一個(gè)星期捌年?如果讓我來的話,巴拉巴拉巴拉...」挂洛±裨ぃ看到這種論調(diào),一些沒耐心的程序員就會(huì)一笑了之虏劲,甩下一句「You can you up,no can no bb」托酸,或者「你這么屌,你咋不上天咧」之類的回復(fù)瀟灑走人柒巫,但是作為一名愛管閑事的程序員励堡,我怎么能放過這個(gè)絕佳的「站在制高點(diǎn)上俯瞰眾生」的機(jī)會(huì)呢?
? ? ? 先來反駁一下這位「年輕的」產(chǎn)品經(jīng)理堡掏。寫代碼是一個(gè)典型的「紙上得來終覺淺应结,絕知此事要躬行」的事情,往往一些看似很簡(jiǎn)單的需求泉唁,實(shí)際上會(huì)遇到很多坑鹅龄。你看過「人在囧途」吧?一段很簡(jiǎn)單的回家路游两,誰(shuí)知道會(huì)有那么多的坎坷砾层。就是這種感覺。
? ? ? 舉個(gè)例子贱案,你要實(shí)現(xiàn)一個(gè)「視頻播放的時(shí)候肛炮,用戶可以設(shè)置屏幕亮度」的功能。實(shí)際上系統(tǒng)提供了「設(shè)置屏幕亮度」的程序接口宝踪,你只需要去調(diào)用就可以了侨糟,核心代碼可能就一兩行,夠簡(jiǎn)單吧瘩燥?但是秕重,一運(yùn)行你就會(huì)發(fā)現(xiàn)各種問題。如果用戶在我的APP里提高了屏幕亮度厉膀,退出之后要不要給人家還原呢溶耘?如果用戶只是暫時(shí)離開了我的APP,退出又回來服鹅,我是不是要給人恢復(fù)成原來設(shè)置的亮度呢凳兵?這些都是產(chǎn)品邏輯問題,你們溝通之后很快就解決了企软。但是后來測(cè)試發(fā)現(xiàn)庐扫,「設(shè)置屏幕亮度」的接口是一個(gè)很耗時(shí)的接口,可能會(huì)造成整個(gè)APP的卡頓,這時(shí)候你就得考慮用多線程來解決形庭。引入多線程之后铅辞,線程之間的資源共享問題如何解決,誰(shuí)先誰(shuí)后的問題如何解決萨醒,等等...
? ? ? 「年輕的」產(chǎn)品經(jīng)理不會(huì)想這么多斟珊,自己爽完提上褲子就跑了,留給程序員一堆爛攤子验靡,程序員能開心的幫你干活嗎倍宾?還有就是,程序員寫代碼可不光是完成功能那么簡(jiǎn)單胜嗓,代碼寫的規(guī)范不規(guī)范高职,魯棒不魯棒,擴(kuò)展性怎么樣辞州,都是需要事先下功夫去設(shè)計(jì)的怔锌。我一開始寫代碼的時(shí)候,就喜歡那種實(shí)現(xiàn)一個(gè)功能的快感变过,迫不及待的要秀給別人看埃元,后來體會(huì)到并不是那么回事。寫代碼就像談戀愛媚狰,一開始轟轟烈烈岛杀,海誓山盟,談的久了崭孤,你會(huì)發(fā)現(xiàn)往往一些簡(jiǎn)單的小事类嗤,要完全負(fù)起責(zé)任,才是最難的辨宠。
? ? ? 說了這么多遗锣,就是想讓你理解程序員寫一行代碼,究竟要「熬過多少患難嗤形,濕了多少眼眶」精偿。這是動(dòng)之以情。接下來我們談?wù)勅绾握_的提需求赋兵,就是要曉之以理了笔咽。
? ? ? ?1.提需求要有節(jié)奏感。
? ? ? 不要誤會(huì)霹期,這個(gè)節(jié)奏感不是啪啪啪的節(jié)奏感叶组,而是說你提的需求,要跟著項(xiàng)目的版本周期走经伙。一般一個(gè)不是太拖沓的互聯(lián)網(wǎng)產(chǎn)品扶叉,每個(gè)版本會(huì)經(jīng)過功能開發(fā)、單元測(cè)試帕膜、集成測(cè)試枣氧、beta驗(yàn)證、上線幾個(gè)階段垮刹,我們分別來看一下达吞。
? ? ? 功能開發(fā)階段,簡(jiǎn)直是程序員的美好時(shí)光荒典。下午懶散的陽(yáng)光打在臉上酪劫,泡一杯濃香的卡布奇諾加一點(diǎn)點(diǎn)糖,戴上女朋友送的Beats大耳機(jī)循環(huán)一首輕音樂寺董,手指在機(jī)械鍵盤上跳來跳去覆糟,噼里啪啦的,就像腦海中忽閃忽閃的靈感遮咖,根本停不下來滩字,對(duì)對(duì),就是這樣的感覺御吞。
? ? ? 這期間程序員要么做產(chǎn)品經(jīng)理提的需求麦箍,要么悶頭做一些技術(shù)需求。這是產(chǎn)品經(jīng)理提需求的最佳時(shí)期陶珠,程序員剛剛結(jié)束了上一個(gè)版本緊張的發(fā)布期挟裂,急需要一些新鮮的需求來壓壓驚。技術(shù)需求是一些性能優(yōu)化揍诽、代碼重構(gòu)之類的事情诀蓉,這個(gè)雖然是程序員自己給自己提的需求,但是你一定要給他時(shí)間去做寝姿,不然程序員每天總覺得自己寫的代碼亂糟糟的交排,沒有安全感。
? ? ? 單元測(cè)試是一個(gè)功能模塊的需求做完之后饵筑,提給測(cè)試同學(xué)去找bug埃篓。集成測(cè)試時(shí)所有模塊的需求都單元測(cè)試完成之后,整體來一輪測(cè)試根资。這時(shí)候程序員天天在改bug架专,你奇思妙想來一個(gè)新需求,他可能要象征性的反抗一下玄帕,但是大多數(shù)會(huì)乖乖去做部脚。
? ? ?到了beta和發(fā)布階段,大家都繃緊了神經(jīng)裤纹,天天盯著用戶反饋和線上的各種指標(biāo)委刘。這時(shí)候你突然被一塊石頭砸中丧没,有了一個(gè)絕妙的需求,請(qǐng)hold一下锡移,一定要hold住呕童,因?yàn)槟闾崛魏涡枨蠖际菚?huì)拉仇恨的。
? ? ?2.先自己嘗試評(píng)估一下需求難度淆珊。
? ? ? 這個(gè)就有一點(diǎn)技術(shù)含量了夺饲。有些需求天生是很難的,比如智能推薦施符、智能識(shí)別往声、搜索引擎這種,需要很強(qiáng)的技術(shù)能力戳吝。還有些需求浩销,需要前后端聯(lián)調(diào),后端開接口听哭,商量協(xié)議撼嗓,這些時(shí)間算上去總時(shí)間要翻倍。除了這些欢唾,剩下的就是相對(duì)的了且警,取決于是否有現(xiàn)成的輪子。程序員常說礁遣,「不要重復(fù)發(fā)明輪子」斑芜,就是說如果有現(xiàn)成的代碼,就直接用不要自己再花時(shí)間寫了∷罨簦現(xiàn)成輪子可以來自開源社區(qū)杏头、自己項(xiàng)目的積累、還有系統(tǒng)平臺(tái)提供的支持沸呐。如果某個(gè)需求有現(xiàn)成輪子可用醇王,那它的難度應(yīng)該至少要減半。
? ? ? ?你想知道開源社區(qū)都是有哪些輪子崭添,可以平時(shí)多看一些別人整理的技術(shù)博客寓娩,你可能并不需要知道里面技術(shù)上是如何實(shí)現(xiàn)的,你只需要記下呼渣,這個(gè)功能是有輪子可以用的棘伴,就夠了。你想知道自己項(xiàng)目積累了哪些輪子屁置,去問你們的開發(fā)吧焊夸,找他們抽支煙、吃個(gè)飯蓝角,很容易就套出來了阱穗。有些項(xiàng)目比較成熟饭冬,像推送、埋點(diǎn)上報(bào)揪阶、自動(dòng)更新這些都有輪子可以用伍伤,但一些年輕的項(xiàng)目則不然,建立這一套東西也要花不少時(shí)間遣钳。你想知道系統(tǒng)平臺(tái)提供了哪些輪子,就買一本介紹你們產(chǎn)品平臺(tái)的技術(shù)書麦乞,比如《瘋狂Android講義》蕴茴、《iOS Programming》,大體翻一下就行了姐直,主要是了解一下這個(gè)平臺(tái)到底可以做哪些事情倦淀。
沒有輪子可以用的需求怎么評(píng)估呢?少俠声畏,你眼光不錯(cuò)哦撞叽,每天進(jìn)來看看,你就知道答案啦插龄。
? ? ? 2.下點(diǎn)功夫做準(zhǔn)備愿棋。
? ? ? 這是個(gè)普遍的道理,你讓別人給你辦事均牢,吩咐半天講不清楚糠雨,別人肯定不耐煩。如果你的需求是抄的別人的徘跪,可以拿別人做好的效果演示一下甘邀,這是最直接了當(dāng)?shù)摹D愕男枨笫菢I(yè)界首創(chuàng)的垮庐,可以簡(jiǎn)單畫個(gè)流程圖松邪,如果這時(shí)候你能用上一兩個(gè)技術(shù)上的術(shù)語(yǔ),程序員肯定覺得你碉堡了哨查。需求講清楚了也要順便讓人理解為什么逗抑。這時(shí)候不要留情,把程序員帶到你的產(chǎn)品世界里寒亥,用你豐富的經(jīng)驗(yàn)打敗他锋八,他就會(huì)乖乖的跟你走了。
? ? ? 還有一點(diǎn)很重要护盈,產(chǎn)品經(jīng)理要給開發(fā)協(xié)調(diào)一些其他資源挟纱,像設(shè)計(jì)、測(cè)試這些腐宋,如果能提前準(zhǔn)備好紊服,那么即使是beta甚至上線階段加需求檀轨,程序員也會(huì)十分感動(dòng)然后再拒絕你的。
? ? ? 最后忍不住吐個(gè)槽欺嗤。有些產(chǎn)品經(jīng)理動(dòng)不動(dòng)就拉老大來給程序員施壓参萄,我覺得這種是最low的,連文章開頭那些「年輕的」產(chǎn)品經(jīng)理煎饼,水平都比他們高到不知道哪里去了讹挎。就好比兩個(gè)小朋友打架,你打不過人家吆玖,喊的不是「放學(xué)你等著筒溃,有種操場(chǎng)見」,而是「我要告老師沾乘,看他怎么收拾你」怜奖。哎我說,不要慫啊親翅阵。
? ? (轉(zhuǎn)自微信公眾號(hào):給產(chǎn)品經(jīng)理講技術(shù))