自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

怎樣做好需求評審?

開發(fā)
下面介紹的是一個檢查清單,用于軟件工程師在接受需求時來評審需求是否合理。

作者 | 少個分號

Bug 對于軟件來說是顯而易見的,程序員犯了一絲毫的錯誤就會帶來 Bug。

需求則不同,不適當?shù)男枨笸⒉皇悄敲疵黠@,而且暴露的很晚。錯誤的需求往往不會責備需求的提出方,因為互聯(lián)網(wǎng)時代需要快速 “試錯”,而糾正需求所產(chǎn)生的工作卻落到了工程師頭上。

顯然,這似乎不太公平。錯誤的需求難以被質疑,這也帶來了需求的肆意膨脹,是軟件設計不加以克制的原因。

下面是一個檢查清單,用于軟件工程師在接受需求時來評審需求是否合理。

圖片

原則

屁股決定腦袋,產(chǎn)品經(jīng)理和軟件開發(fā)者之間的立場不同,則關注點不同,這是需求產(chǎn)品經(jīng)理和開發(fā)之間的矛盾的主要原因。好的產(chǎn)品經(jīng)理思考的是軟件的市場和背后的生意而不是用戶交互;好的軟件工程師思考的是軟件模型和整體設計,而不是某項技術的偏好。

如果軟件開發(fā)和建筑行業(yè)一樣,產(chǎn)品經(jīng)理就是設計院,設計院輸出的圖紙,如果在施工方無法實施時,設計院會承擔巨大的責任。

互聯(lián)網(wǎng)時代,軟件和建筑一樣隨處可見。

軟件給人一種容易修改的錯覺。產(chǎn)品經(jīng)理隨意調(diào)整需求被質疑后感到無辜,不就是改一點代碼的事情嗎,為啥說的那么難,這人肯定是技術不行。

簡單的軟件確實容易修改,同理,在農(nóng)村搭一個窩棚也是,但復雜的軟件和摩天大廈不在此列。

復雜的軟件因為承載了大量的業(yè)務模型,以及各種存量的用戶數(shù)據(jù),修改運行中的軟件,數(shù)據(jù)遷移的工作往往比預想要大很多,同時還要考慮已經(jīng)發(fā)布出去的軟件兼容性。

需求變更應該是一個嚴肅和慎重的事情,這是原則。

提前

《一本小小的紅色寫作書》是我最喜歡的一本關于寫作的入門書籍,作者布蘭登·羅伊爾給新手提供了一個寫作建議:當你想到一個絕妙的主題,完成寫作并發(fā)布出去等待人們的贊美時,不妨先放一放。當一個好點子蹦出來時,人們往往把所有的美好都寄托在這個點子上,而絲毫看不到不合理之處,其實需要時間讓人冷靜下來。

產(chǎn)品經(jīng)理往往會蹦出一些“絕妙” idea,自我美妙的 “上頭”。實際上在落地時,會遇到各種問題。

提前準備需求就顯得非常重要,提前三五個星期設計好的需求,隨著時間的推移,實際上每周都能有優(yōu)化的點,到開始實施時也想的八九不離十了。

軟件工程師應該建議產(chǎn)品經(jīng)理提前準備需求,如果是 2-3 天內(nèi)的需求,就需要警覺起來。

雖然互聯(lián)網(wǎng)時代變化很快,但不是慌張的理由。

系統(tǒng)性

剛入行的人,多少可能對“系統(tǒng)”這個詞感到奇怪,我們明明只是做了一個軟件、網(wǎng)站或者小程序,但是為什么會被稱作為系統(tǒng)。

我們之所以稱這些軟件為系統(tǒng),是因為現(xiàn)代軟件不像單機桌面軟件,它們有很多組成部分。Web、APP、管理后臺、開放 API、定時任務等各種組件構成。

系統(tǒng)性,帶來的就是牽一發(fā)而動全身。

一次產(chǎn)品經(jīng)理提出需要收集用戶的公司信息,因此在注冊表單增加了一個字段,但是在管理后臺創(chuàng)建用戶時,并沒有相應的字段,造成數(shù)據(jù)的混亂。

當產(chǎn)品經(jīng)理提出一個 Web 端的需求時,參考檢查項:

  • 對應的后臺是否有相應管理功能?
  • APP、小程序等其他端是否有類似需求?
  • 開放出去的 API 是否受到影響?
  • 已有數(shù)據(jù)是否需要遷移?
  • 是否和其他功能沖突造成邏輯矛盾?

產(chǎn)品經(jīng)理或 BA 需要知道當前系統(tǒng)的運行狀態(tài),一個將軟件系統(tǒng)視為黑盒的產(chǎn)品經(jīng)理,不太能提出嚴密的需求來,只能用創(chuàng)新作為托詞。

遵守慣例

不遵守業(yè)界操作慣例的軟件使用起來讓人非常難受,索尼微單的軟件操作方式比主流相機顯得怪異,即使很多人認可它的拍攝性能,也不愿意買單。

不遵守業(yè)界操作慣例,而美其名曰創(chuàng)新的需求,往往都會經(jīng)歷來回改的結果。

按照慣例,信息系統(tǒng)的列表頁都會有分頁、搜索、篩選、排序等組成部分。如果設計上列表頁沒有分頁,在可以預見的情況之下,性能會非常差。

對于表單組件來說,每一種組件元素都有它背后的交互邏輯,刻意改變用途,不僅不能帶來創(chuàng)意效果,反而會讓用戶感到困惑。表單有四種基本元素,缺少了說明需求不合理,需要調(diào)整:

  • 標簽
  • 表單域
  • 提示信息
  • 操作按鈕

圖片

另外表單設計還需要考慮數(shù)據(jù)回填視圖,這種視圖下可能交互和 UI 有所不同。

一致性

需求的一致性體現(xiàn)一個軟件是否專業(yè),影響用戶的主觀感受。

一致性有幾個維度:

  • 操作邏輯上的一致性
  • 組件 UI 一致性
  • 文案的一致性

同類的交互使用同一個組件,避免出現(xiàn)多種組件。比如上傳文件的邏輯,文件大小、交互方式、允許的文件類型,都應該保持一致。

在之前一個產(chǎn)品中,領導要求 UI 的設計稿還原接近 100%,我們采用將設計稿疊加在瀏覽器中實現(xiàn)的。然而,中途設計師離職,新的設計師無法做到和原來的設計師保持完全一樣的設計尺寸、顏色。

這種情況繼續(xù)堅持 100% 的還原度,后果是前端代碼中所有的頁面都有自己的樣式文件,組件幾乎無法復用。

大的團隊往往有自己的設計規(guī)范、設計系統(tǒng)等,這樣也減少了高保真的輸出,使用設計系統(tǒng),不必輸出高保真。開發(fā)人員使用原型圖 + 設計系統(tǒng)中的組件即可做出統(tǒng)一美觀的軟件界面來。

使用原型圖表達整個系統(tǒng)的交互邏輯,不用關系 UI 細節(jié),UI 細節(jié)交給設計系統(tǒng)來完成。

文案的一致性,要求系統(tǒng)所有的地方使用同樣的名詞概念、表述方式,避免給用戶帶來困惑。

非功能性需求

評審需求時,非功能需求是最容易遺漏的需求,也是需求的冰山。下圖是一個添加文章的需求,背后有交互、性能、UI等多方面的非功能性需求。

圖片

有大量的文章敘述非功能需求,這里簡單給出一個清單:

(1)交互體驗相關

  • Loading
  • 表單的二次提交
  • 輸出格式化
  • 請求用戶確認和提示

(2)安全相關

  • 身份校驗和權限
  • 表單驗證

(3)性能相關

  • 響應時間
  • 生效時間(比如,權限相關允許重新登錄生效)

(4)可用性相關

  • 兼容性
  • 特殊設備適用性
  • 本地化和國際化
  • 升級策略

性價比

最后一項是性價比。

有一些需求不符合當前的軟件模型,改動成本極其高昂。但是如果產(chǎn)品經(jīng)理做出一些取舍,根據(jù)當前的技術模型和架構進行調(diào)整,可以維持現(xiàn)在技術模型的一致性,降低開發(fā)成本。

比如,用戶的會員信息是存放在 Session 中,這樣每一次請求的權限檢查可以非常高效地完成。但是,代價是用戶的會員過期后,需要重新登錄才會生效,大多數(shù)系統(tǒng)都這樣處理,因為會員過期是一個極其低頻的事件。

如果產(chǎn)品經(jīng)理要求,會員過期及時的告訴用戶,并進行續(xù)費,而不是在重新登錄時觸發(fā)這個行為。即使在技術上能完成,但是付出的代價非常大,也應該在評審時對此類需求進行質疑。

責任編輯:趙寧寧 來源: Thoughtworks洞見
相關推薦

2011-11-09 12:38:11

2015-03-06 09:56:42

2009-07-06 18:24:51

IT資產(chǎn)運維管理廣通信達科技

2013-08-26 10:29:20

弱需求移動開發(fā)應用留存率

2012-12-20 16:20:38

災難恢復數(shù)據(jù)保護

2009-02-25 09:17:08

虛擬化策略自動精簡配置重復數(shù)據(jù)刪除

2019-02-19 09:14:52

IT運維系統(tǒng)

2010-08-31 15:04:39

2012-10-22 13:30:35

2021-04-06 08:15:05

開發(fā)技能代碼

2012-11-14 13:41:17

信息化網(wǎng)絡

2012-10-22 13:46:27

2013-08-21 15:04:32

2011-07-10 16:37:55

SEO

2022-04-13 14:04:14

銳捷

2020-02-19 11:07:40

運維架構技術

2010-01-12 12:55:15

中低端交換機

2022-10-19 15:00:16

2020-04-24 08:46:41

SSDLC安全設計評審安全威脅

2019-04-29 09:52:46

容器安全漏洞網(wǎng)絡安全
點贊
收藏

51CTO技術棧公眾號