會講故事(story),是一個很重要的能力。
該能力不是在於會不會虛構、會不會咬文嚼字、文筆是不是要很好,更多在於能不能把需要的脈絡(context)交代清楚,讓這件正在說的這件事足夠豐富、引人好奇、清楚意圖(intention)。
而正也是軟體開發中,傳達需求與功能時很重要的能力。其實不只是在軟體開發,在日常也是如此。想想看,如果他人要你做一件事,只是單純「要你做一件事」,我們會有多少動力、是否提得起勁?
「你給去掃地!」
這句話聽起來多麽無趣呀。但若是今天你的室友是這樣說的:
明天我父母要來拜訪,我想要展現好的一面給他看,不然他們可能就會認為我無法獨立住在外面,或許就會要求我回家去住。為了讓我們能夠一起當室友,你能幫我一起將現在的居住環境打掃乾淨嗎?
如果你們平時關係維繫得還不錯,我想聽到這段話背後的故事,就算弄亂的不是自己,或許也會捲起袖子和室友一起開始打掃吧!
在軟體開發也是一樣的,若我只跟工程師講規格,那就只是一台 3D 印表機般的存在。我若跟開發者講要什麼功能,雖然對方可能會多問幾句,釐清細節,但不一定懂我的脈絡。我若是跟產品開發者講得是決定要做這個功能背後需求的種種脈絡與故事,那我想對方就會與我一起思考有沒有更好的解決方案,或至少探討這個功能應該只需要做到某個程度就好。這就是把故事講好、脈絡與意圖傳達清楚的好處。
當脈絡與意圖越清楚,那雙方就能更互相理解,所需要的溝通成本也就會降低。下次溝通或與對方聊天時,不妨先思考自己要怎麼將自身所理解的脈絡與意圖,用一個好的故事向對方說說吧!