【軟件工程心得】與真實客戶交流
這是大三上學期寫的,具體時間是軟件工程課程的“需求分析”階段結(jié)束之后。寫這篇文章的目的是將自己在這個過程的收獲記錄下來,并分享給其他三個團隊成員。剛才重看課程總結(jié),想起還有這篇,就發(fā)到博客上了。
歡迎大家點評,以下是正文:
- 與客戶交流非常重要。沒有明確需求,就會做很多無用功:
你以為用戶是這樣想的,寫出代碼。交給用戶時,用戶說他想要的不是這樣的功能。那你就得改代碼了。如果這個功能牽扯到其他很多功能呢?牽一發(fā)而動全身。到時候?qū)嗖豢把浴?/li> - 一定要主動與客戶聯(lián)系。你要知道,你做的是真實的項目,跟你的收入有關系。不要害怕與用戶交流,多交流可以減少很多麻煩。
1、交流前
- 仔細研究客戶已給出的需求描述。并記錄在研究時所有的疑問,無論大小。
記住,從多個角度進行分析。尤其要從用戶的角度進行分析。比如教師報課系統(tǒng),從教務處的角度看,是整合多張表格;而從程序員的角度,是對數(shù)據(jù)庫添加的操作。要體會他們是如何看待這個問題的。
- 將客戶的需求進行分類,哪些是核心功能,哪些是不太重要的功能。
- 把所提供的功能,用思維導圖畫出來。這樣客戶就能從宏觀上看到所有功能。
- 做出原型,盡可能把所有功能體現(xiàn)出來。這里就深入較為細節(jié)的部分,能在很大程度上解決需求不明確的情況。你理解的用戶需求,和用戶真實的需求,這之間相差有多大,通過原型就能體現(xiàn)出來。
如果可以,做出可以操作的原型,而不是靜靜地躺在紙上。網(wǎng)上有在線的原型制作工具,提供了制作可運行的原型的功能。
2、交流過程
- 帶上思維導圖和原型(紙質(zhì)原型,能交互的原型也帶上)。
客戶可能無法在一開始就完全理解你跟他都說了什么,沒有一個總體的概念。這些東西他可以在你進行講解的時候查看對應的部分,也可以帶回去,好好了解你會做成什么樣。
- 帶上筆和紙。
僅有思維導圖和原型是不夠的,客戶可能提出新的疑問,而這些疑問并不能通過思維導圖和原型進行解答。如果只是用語言描述,客戶可能會理解錯你想要表達的意思。因為你在講解的時候,在頭腦中是有成像的,但是用戶在腦中并不能及時生成圖像,也就很難理解。這時候就可以用筆在紙上將你的想法畫出來,這樣更利于用戶理解你的想法。
- 如果項目不涉及機密,一定要提出錄音請求!
這有多重要呢?如果你沒有多少經(jīng)驗,客戶傳達的很多重要的信息,一開始你可能沒發(fā)現(xiàn)他們的重要性,或者認為你能記住它們,但過后卻忘了??蛻裘枋鲂枨髸r,很可能自相矛盾;或者描述不清楚,很難理解;或者你剛好在思考他的上幾句話,漏掉了他正在說的重要信息。而一旦錄音,你可以不用害怕忘記什么重要信息,可以更專注于如何引導出用戶需求。
- 詳細描述原型的每一個功能該如何操作。
使用“用戶場景”進行描述:
- 給出一個目的
- 從軟件打開開始,一步一步展示,直至達到這個目的。
用這樣的方式給客戶展示一遍,能讓客戶較為全面了解你的軟件將做成什么樣子。
- 要判斷是否能夠完成客戶的每一項需求,要大膽的說“不”。
不能老是讓客戶來決定該怎么做,有些客戶的要求會讓你在實現(xiàn)功能的時候變得很復雜。你可能認為,客戶說怎么做就怎么做,這樣就是完美的了解用戶需求。盡管用戶需求很重要,但是砍掉不合理的需求也很重要,這樣才能實現(xiàn)共贏。
- 描述完你的原型之后,對這次交流進行一個總結(jié)。
讓客戶知道你是否都了解了剛才你們交流的內(nèi)容。這樣客戶會更放心一些,因為他有了一個總體的概念。
- 交流結(jié)束,一定要留好聯(lián)系方式。讓客戶可以方便聯(lián)系到你,而你也可以方便聯(lián)系到他。
最好再找客戶要一下郵箱,這樣可以在必要的時候發(fā)項目進展給他,讓他可以對項目進行反饋。
- 要讓客戶記住你的名字。
不然客戶怎么稱呼你?
3、交流之后
- 整理在交流時的筆記。
- 聽錄音,補充筆記。
這時候你應該能從錄音中聽到很多你原本沒注意到的地方。
- 整理完之后,修改思維導圖和原型,再配上功能說明文檔,發(fā)給用戶。

本文采用知識共享署名 2.5 中國大陸許可協(xié)議進行許可。歡迎轉(zhuǎn)載,演繹或用于商業(yè)目的,但是必須保留本文的署名 schaepher(包含鏈接)。如您有任何疑問或者授權(quán)方面的協(xié)商,請給我留言。

浙公網(wǎng)安備 33010602011771號