成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

教你如何做需求調研:忽略極端情況

開發 項目管理 前端
寫accidental entities系列文章之初,我們跟著一個顧問公司為一個汽車租賃公司開發一套軟件。當時他們已經完成了新車注冊部分的功能。計劃中的下一步是讓顧客能在系統中預訂。

寫accidental entities系列文章之初,我們跟著一個顧問公司為一個汽車租賃公司開發一套軟件。當時他們已經完成了新車注冊部分的功能。計劃中的下一步是讓顧客能在系統中預訂。

我們爭取到了租賃公司的CEO抽出一小時時間給我們介紹預訂系統流程。

CEO: 我想這個會議用不了一個小時。預訂流程非常簡單。你們對預訂流程有什么看法?”

Us: “是這樣,就我們的理解——也不是很復雜——客戶下了訂單,我們為車分配租賃期,用郵件通知客戶,這就完成了。”

CEO: “等一下,可不是這么簡單。我們收到訂單后,首先要確認客戶的信用卡。”

Us: “我們如何確認?”

CEO: “不是讓你們確認。我們有一個第三方的電子認證系統,由它來做這些;這個系統會檢查信用卡是否有效,是否有能力支付。”

Us: “如果信用卡被系統拒絕,會發生什么?”

CEO: “這簡單,我們取消訂單,通知客戶。”

Us: “如果信用卡通過審核,會怎樣?”

CEO: “那就預訂成功。”

Us: “這里有個問題。在客戶下訂單時我們要立即分配車輛嗎?”

CEO: “當然不是!信用卡的驗證需要時間;如果最終信用卡被系統拒絕,我們會因此造成業務損失。”

Us: “哦,如果這期間另外一個人也預訂了這輛車,怎么辦?”

CEO: “這是一個很好的問題。在過去,這種問題很少發生,但確實有過;我們也許要注意這種極端情況。”

Us: “那發生這種重復預訂情況后如何處理?我估計你們肯定不希望取消第二個訂單,放棄這個客戶,對吧?”

CEO: “當然不想,我喜歡你的思考方式!有幾種做法;如果他們預訂使用車的期間只重疊30分鐘左右,我們什么都不做。當客戶來取車時,我會向他抱歉,解釋有一點 點延遲,我們會用一些措施安撫他。如果重疊期再大,而且有更大更好的車在空閑,我們會給他提供免費升級。當我們沒有更好的車可用時,我們會讓最出色的銷售 員打電話給他,說服他。有時我們會給他打折,他們通常會很高興再等幾個小時,而不是去找另外的車。我們盡量避免訂單被取消,我們希望樹立一個有求必應的好 口碑。”

Us: “哦,有趣。如果讓我自己琢磨估計會浪費不少時間才明白這個過程。你說這事情很少發生。看起來要想能正確的處理這種重復預訂的事情并不是很容易,是否可以 目前不處理這種極端情況,讓人工處理這種事情?我們可以把這輛車標識為重復預訂,讓系統給出提醒,請求人工處理。Backoffice有這種工具,他們對 處理這種重復預訂的事很有經驗。把這個問題放一放,可以使系統提前幾個星期上線。”

CEO: “我很欣賞你的這個想法,讓我們的***個版本盡量精簡。真的沒有必要立即讓系統能夠自動處理這種事情。這并不是說系統功能不夠強大。系統還是要記錄每個重復預訂的情況,這是有用的信息。我們能做的這些吧?”

Us: “是的,這并不困難。”

跟CEO交談之后,我們開發一個代碼模型。

在我們的***次迭代中,一個訂單有多個顯示效果,每種效果表示一種訂單狀態。這樣做的好處是,可以手工的在各種狀態間切換,當信用卡被拒絕時,你不能接受預訂….反之就是正常模式,或一些其他操作,這些不是我們這篇文章的重點。

  1. var booking = new Booking( 
  2.     bookingId, carId, 
  3.     new Customer(new CreditCard("343705171682875"), new CustomerName("Jef""Claes")),  
  4.     new Period(DateTime.Now.AddDays(1), DateTime.Now.AddDays(4))); 
  5.  
  6. var bookingWithVerifiedCreditCard = booking.CreditcardVerified(); 
  7. var doubleBooking = bookingWithVerifiedCreditCard.Double(); 

每次狀態的改變都會觸發一個事件。如果我們輸出事件,運行下面的代碼將會看到下面的信息。

  1. (EVENT) BookingCreditCardVerificiationPending 
  2. (EVENT) BookingCreditCardVerified 
  3. (EVENT) DoubleBooked 

BookingCreditCardVerified 事件觸發我檢查重復預訂。

  1. public class BookingCreditCardVerifiedHandler : IHandle<BookingCreditCardVerified>  
  2. {     
  3.     private readonly IBus _bus; 
  4.  
  5.     public BookingCreditCardVerifiedHandler(IBus bus) 
  6.     { 
  7.         _bus = bus; 
  8.     } 
  9.  
  10.     public void Handle(BookingCreditCardVerified @event) 
  11.     { 
  12.         _bus.Send(new DetectDoubleBooking(@event.BookingId)); 
  13.     } 

如果發現重復預訂,我讓系統顯示提醒,通知我們。可以通過郵件,或Backoffice里的一個提醒,或其他的。

  1. public class DoubleBookedHandler : IHandle<DoubleBooked> 
  2.     public void Handle(DoubleBooked @event) 
  3.     { 
  4.         NotifyHumans(); 
  5.     } 
  6.  
  7.     private void NotifyHumans() { } 

盡管技術上的實現并不是很特別,我想它已經向我們展示了事件系統如何起作用,如何將責任分發到相應的負責單位。

通常人們有個誤解,認為我們有計算機,它們應該解決我們的所有問 題,甚至一些極端情況。極端情況——根據定義——只會發生在極端條件下,缺少一定的投入,用常規的方式很難處理。通過手工處理極端情況,用戶可以進行人工 干預,決定什么才是應付這種問題的做好做法。這樣做我們可以快速的讓系統上線,減少了代碼編寫,最終能讓客戶更滿意。通過統計這種極端情況的發生頻率,我 們能夠按照實際情況來決定是否值得去投資處理這些極端情況。

原文鏈接:http://www.jefclaes.be/2013/06/not-handling-edge-cases-making-them.html

譯文鏈接:http://www.aqee.net/not-handling-edge-cases-making-them-explicit-instead/

責任編輯:陳四芳 來源: 外刊IT評論
相關推薦

2014-06-11 09:22:19

大數據

2023-03-07 17:53:00

NPS調研

2023-06-30 09:33:37

自動駕駛技術

2022-08-29 08:08:58

SQLOracleCPU

2022-08-03 09:11:31

React性能優化

2015-07-30 11:21:16

代碼審查

2012-05-07 08:49:57

Clojure

2021-04-25 09:19:22

騰訊Code Reviewleader

2013-07-24 10:01:24

產品設計產品經理新手做產品

2022-10-19 14:16:18

樣式隔離前綴css

2023-11-06 07:33:01

推薦策略數據分析

2012-03-12 16:42:54

測試

2023-12-29 10:04:47

數據分析

2022-02-17 13:18:58

定價模型營銷AHP

2011-04-29 10:32:46

項目管理

2016-02-02 09:58:40

產品調研用戶

2016-04-26 09:59:59

飛魚星/無線網絡

2014-04-15 13:16:00

Code Review

2018-07-18 14:39:29

2013-11-29 10:15:48

國產虛擬化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产yw851.c免费观看网站 | 操射视频| 精品国产一区二区三区性色 | 日本免费黄色 | 免费人成激情视频在线观看冫 | 黄色片在线免费看 | 男女网站在线观看 | 日本精品一区二区三区视频 | 小早川怜子xxxxaⅴ在线 | 一区在线视频 | 国产1区2区3区 | 99精品视频一区二区三区 | 麻豆av在线免费观看 | 久久成人一区 | 337p日本欧洲亚洲大胆鲁鲁 | 久草视频观看 | 成人在线视频网 | 日韩中文字幕一区二区三区 | 欧美日韩电影在线 | 精品一区电影 | 国产视频1区 | 国产精品亚洲综合 | 91黄色免费看 | 国产精品精品3d动漫 | 国产美女黄色 | 欧美bondage紧缚视频 | 久久久久久国产 | 日韩看片 | 青青草av在线播放 | 欧美视频 | 国产成人免费视频网站高清观看视频 | 五月激情六月婷婷 | 欧美国产91 | 日韩精品在线观看视频 | 精品免费视频一区二区 | 亚洲在线看 | 国产欧美精品在线 | 欧美日韩综合一区 | 在线免费av观看 | 国产高清一区二区三区 | 国产区在线 |