當(dāng)你提需求時(shí),程序猿到底在想什么?

5 評(píng)論 10733 瀏覽 31 收藏 6 分鐘

本文作者將以幾十年的從業(yè)經(jīng)驗(yàn)來告訴廣大的汪們:當(dāng)你跟程序猿提需求時(shí),程序猿到底在想什么?

普通人跟程序猿的交流,往往會(huì)產(chǎn)生一些意想不到的結(jié)果:

程序猿之妻:「老公,下班回來買六個(gè)蘋果,如果有賣西瓜的,買一個(gè)?!?/p>

程序猿:「好的,老婆大人?!?/p>

程序猿下班后,在超市里看到了賣西瓜的,然后買了一個(gè)蘋果回家了。

這類奚落程序猿的小故事大家應(yīng)該都看過,雖說有點(diǎn)夸張,但也反應(yīng)了程序猿怕老婆思維嚴(yán)謹(jǐn)?shù)谋举|(zhì)。

然而,在現(xiàn)實(shí)生活中,由于程序猿「喜愛加班」的天性,導(dǎo)致與程序猿交流最多的并不是程序猿之妻,而是產(chǎn)品汪!而交流最多的主題,就是「產(chǎn)品需求」。

下面,果果就以幾十年的從業(yè)經(jīng)驗(yàn)來告訴廣大的汪們:當(dāng)你跟程序猿提需求時(shí),程序猿到底在想什么?

是否違背邏輯?

這里說的邏輯并不是產(chǎn)品邏輯,而是「程序猿邏輯」。產(chǎn)品的邏輯往往是從用戶的角度出發(fā),提供高效便捷的使用體驗(yàn),有時(shí)候也難免天馬行空。但程序猿的邏輯則以「嚴(yán)謹(jǐn)」著稱,一絲不茍。思維方式的不同,對(duì)同一個(gè)問題就難以達(dá)成共識(shí)。例如原來的產(chǎn)品中有根據(jù)搜索詞的動(dòng)植物屬性作為類別展示結(jié)果的功能,現(xiàn)在如果你有一個(gè)需求,想在用戶搜索「竹子」的同時(shí)也能把熊貓展示出來,在你提需求前,先做好跟程序猿大戰(zhàn)三百回合的準(zhǔn)備吧。

能實(shí)現(xiàn)嗎?

當(dāng)討論需求點(diǎn)時(shí),程序猿的腦子就會(huì)像翻字典一樣快速遍歷自己了解的所有技術(shù),并逐一匹配需求中的對(duì)應(yīng)功能。當(dāng)需求中的所有關(guān)鍵功能都一一映射為技術(shù)點(diǎn)后,技術(shù)可行性基本上就沒問題了。然而,如果有個(gè)別技術(shù)點(diǎn)超出程序猿的「技術(shù)字典」收納范圍,合格的程序猿會(huì)說「我先調(diào)查下這幾個(gè)功能點(diǎn)」,但也有的程序猿會(huì)以「這幾個(gè)功能點(diǎn)無法實(shí)現(xiàn)」為由而直接拒絕需求。針對(duì)這樣的程序猿,一般的產(chǎn)品汪往往只能祭出競品的對(duì)應(yīng)功能予以反擊,但長期關(guān)注果果公眾號(hào)的產(chǎn)品汪則能提出完整的技術(shù)方案,給程序猿造成暴擊傷害。

需求拆分和模塊化

對(duì)于哪些可以在之前的功能上稍作調(diào)整就可以實(shí)現(xiàn)的新功能,往往都是程序猿喜聞樂見的,這種需求一般都會(huì)很容易落地。因?yàn)檫@種需求不會(huì)引入太大的工作量,維護(hù)的工作量也較低。產(chǎn)品汪在設(shè)計(jì)需求時(shí),如果每個(gè)版本的需求都循序漸進(jìn),或者新需求是基于其他功能實(shí)現(xiàn),則更容易營造這種開發(fā)體驗(yàn)。當(dāng)然,這種需求「可遇而不可求」。所以,程序猿為了讓自己在后面的開發(fā)過程中更輕松,往往會(huì)將需求按功能點(diǎn)進(jìn)行拆解,并形成邏輯上相互獨(dú)立的小功能模塊。這些小模塊就像「積木」,后期可以通過不同的復(fù)用和組合拼裝成不同的形狀。

性能是否可以接受?

程序猿在評(píng)估技術(shù)可行性的同時(shí),還會(huì)對(duì)需求帶來的性能損耗做評(píng)估。針對(duì)后臺(tái)來說,可能會(huì)重點(diǎn)考慮網(wǎng)絡(luò)請(qǐng)求的峰值、同時(shí)最大并發(fā)連接數(shù)、帶寬和數(shù)據(jù)處理耗時(shí)等;針對(duì)終端來說,則考慮的是對(duì)CPU、內(nèi)存等硬件資源的消耗,移動(dòng)終端則還要考慮耗電等問題。如果你剛想到一個(gè)24小時(shí)用GPS監(jiān)控用戶位置的需求,我勸你還是只想想就好。

這肯定不是需求的真面目!

作為一個(gè)程序猿,這點(diǎn)覺悟還是要有的。面對(duì)產(chǎn)品汪的朝三暮四,程序猿在完成需求功能點(diǎn)的同時(shí),在代碼中如何設(shè)計(jì)良好可擴(kuò)展性來應(yīng)對(duì)需求變更,也是需要重點(diǎn)考慮的問題??偛荒苷娴呐艿教炫_(tái)上讓你們立字據(jù)吧?!

#專欄作家#

給產(chǎn)品經(jīng)理講技術(shù),微信公眾號(hào)(pm_teacher),人人都是產(chǎn)品經(jīng)理專欄作家。資深程序猿,專注客戶端開發(fā)若干年,對(duì)前端、后臺(tái)技術(shù)略懂,熱衷于對(duì)新的科技領(lǐng)域的探索。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 為什么自稱果果 ??

    來自湖北 回復(fù)
  2. 我也是 搜不到公眾號(hào)

    來自廣東 回復(fù)
  3. 您好 請(qǐng)問一下為什么我微信搜索不到果果公眾號(hào)?

    來自北京 回復(fù)
    1. 微信公眾號(hào)(pm_teacher)

      來自安徽 回復(fù)
  4. 謝謝分享

    回復(fù)