我不喜歡整天板著臉的工作,我經常將軟體的設計開發想象成一套軟體從雲裡霧裡誕生的情形,感覺很神奇。一套軟體系統的開發會將我從乙個外行變成業務專家,而且軟體也隨之誕生了。而我在這裡將描述這個過程,我是如何想,如何做的。
下面我將假設自己是某公司的軟體工程師和專案經理,負責乙個客戶的軟體開發。我非常希望我的團隊裡能有出色的熟悉業務的專職系統分析人員,出色的軟體工程師,聰明的助理,甚至高效率的美工人員以及充足的經費和無限的時間。但這些實在太奢侈了,我甚至不得不自己參與到設計過程當中。其實我時常都想喊:這不合理,這不是我該幹的。但我想這可能是很多人真實的經歷吧。
我所知道的資訊也非常有限,實際上公司對於這個專案也是知之甚少,這對我們都是乙個全新的挑戰。我們只知道我們需要為一**指**投資者開發一套軟體,除此之外我們基本什麼都不知道,似乎老闆希望能夠開發這一市場。所以決定成立乙個專案組開發這個專案,他希望能夠生產出幫助期指投資者的軟體,所以就找到了這樣乙個人。這個客戶是專家,他的話可以代表其他的使用者,就是說這個客戶如果這樣說了,那麼其他人也會這樣想。就這樣,他希望知道這些人到底希望得到什麼樣的產品,還希望知道開發成本。決策是老闆的事情,無論看起來多不合理,也和我無關,我需要做的是達成這個目的。
當然,場景是虛構的,但專案是確實存在的真實專案,需求也是真實存在的,客戶嘛,自然就是我自己。至於整個過程,基本上就是我以往工作的總結。
1、第一次接觸
我在接觸客戶之前惡補了一下股指**的相關知識,應該可以說是對交易規則略知一二,談話的時候對於對方的專業術語應該是可以理解了。隨行人員是助理---他主要負責記錄,還有我自己---乙個經驗豐富的軟體工程師。
助理的要求是能夠快速的記錄以及將關鍵點整理出來。而我可以第一時間判斷某個功能是否可行,盡量引導客戶降低需求,並將需求的方向向對我們有利的方向發展。但這次因為知道的太少,所以最好還是先聽聽他怎麼說吧。
第一次接觸的目的就是先弄明白他到底想幹什麼。虛心的向客戶學習,學習客戶的業務領域。
第一輪:
見面寒暄之後開始座談。我的第乙個問題也很簡單:您到底想要個什麼東西?
他的回答是這樣:我希望要乙個工具,能把我每天的操作情況記錄下來,包括**和實盤操作。也要把我盤後覆盤的操作記錄下來,自動幫我計算收益。而且需要以圖形的方式顯示。最好還能從以往記錄的資料裡發掘出有用的資訊。
這個回答並不能帶來多少有用的資訊,我不能在腦袋中描繪乙個軟體的介面,也不能想象他會如何去操作。我們還需要更多的資訊。上面的回答只是乙個開始,剩下的需求需要發掘,慢慢的順藤摸瓜,直到弄明白他想要做什麼為止。
在對上面的回答進行進一步深入的發掘之前,還有幾個問題是我所關心的。
第二個問題:誰會是這個工具的使用者?
回答:他自己,並不會有別人幫他用。
看起來他認為這應該是乙個個人程式,我的腦海中已經出現了乙個畫面,這套軟體將會被裝進漂亮的包裝盒中擺在貨架上銷售。
第三個問題:一般會什麼時間使用這個工具?
回答:一般來說應該是非交易時段,大概都是在三點之後吧,因為交易的時候太忙,沒時間做這些事情。
看來是可以悠閒的完成的某種工作,這是個好訊息,因為就算慢一些的話似乎也不是什麼大問題。
第四個問題:都會在**使用這個軟體?
回答:可能會在很多地方,家裡、機場、賓館等地方,現在不是有平板電腦嗎,那個很方便。現在的手機也可以在很多地方用。
暈,網頁應用?我們是不做網頁應用的啊……那這個程式估計要跨平台了,這可不是什麼好訊息。我需要更多資訊來否決這個需求
第五個問題:為什麼希望有這樣乙個軟體?
回答:我希望能夠將自己的交易情況記錄下來,包括當時怎樣想的,操作的依據等等。這些都是經驗,這對我們很重要,將經驗總結下來會對以後的操作也有幫助。其實我嘗試過微博啊,部落格之類的工具,這些工具雖然能夠記錄,但卻不能總結。比如說一段時間總是失敗,會不會有相同的原因?比如開倉依據有問題?這些微博什麼的做不到。另外網上的其他工具沒有圖形介面,不直觀,或者操作起來不方便,比如excel雖然可以做簡單的統計,也可以劃線,不過更複雜的工作就會很麻煩。所以我希望有乙個能夠針對我的要求設計的軟體,不要網頁的,那個很麻煩。
這次他回答了兩個問題,為什麼和怎樣做。看來我不用擔心網頁應用的問題了,他不要網頁應用。
回答:有時候來回切換軟體麻煩,手機可能也很麻煩,不過現在平板電腦挺方便的,另外我還有個蘋果的air,這個很好。
看來躲不過跨平台了,還好這個問題不是很大,我用的工具還是做的到的。另外,ipad啊air這類東西,計算能力比起普通手機來說算是相當不錯了,但問題是這些東西得操作方法貌似很獨特,需要在設計時考慮周全。另外還想到乙個關於環境的問題。
第七個問題:那麼您是不是想在網路上儲存和交流這些經驗呢,另外您想通過網路或者是u盤同步您記錄到軟體裡的資料呢?
回答:不要通過網路,我不需要和別人交流,只有我自己知道就好,用u盤就可以了。
應該不是網路應用,檔案形式儲存資料
第一輪詢問基本可以結束了,似乎不是什麼很大的系統,但卻要跨平台,更像乙個工具軟體。接下來看一下記錄的結果。
上方是功能性需求,下方是非功能性需求
每一輪詢問為了更完整的了解所面對的問題,可以嘗試從一下幾個方面進行詢問:what who when where why how
在不同情況下,含義可能會不同,但這樣問下來通常會得到乙個相對完整的描述。
不建議採用追蹤乙個問題快速跟進的方法詢問,這樣很容易遺漏掉重要的資訊。另外where還包含可能使用的裝置資訊,比如程式將來會被部署到什麼樣的裝置當中去。
從上面的記錄看,這似乎應該是個小型的工具軟體,畢竟是個人使用,規模似乎不會很大。不過現在仍然很模糊,無法勾勒出乙個軟體的情況。接下來需要針對每一點詳細的詢問一下。
系統分析師
2011年的個人計畫 拿下系統分析師 原由 已在it行業幹了近3年多了,從最初的傻瓜式程式設計師,到現在自己帶隊做專案,雖然期間經歷了很多,也成長了很多,但是總覺得自己還是缺少點什麼.也許是因為所在的公司的性質決定的吧 公司是一家馬來西亞公司,說是公司,其實就是乙個開發部門,因為我們接手的專案都是大...
linux系統工程師試題
引數 c 建立乙個壓縮檔案的引數指令 create 的意思 x 解開乙個壓縮檔案的引數指令!t 檢視 tarfile 裡面的檔案!特別注意,在引數的下達中,c x t 僅能存在乙個!不可同時存在!因為不可能同時壓縮與解壓縮。z 是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?j 是否...
免費學桌面工程師 系統工程師 系統運維工程師
零學費入學!免學費啦!學高薪計算機技術,做it行業白領,拿國家承認大專學歷!入學簽訂終生就業協議,一年學完,畢業全部分配工作!從零學習計算機,學不會免費再學,直到學會為止!it白領課程 課程名稱 課程內容簡介 課時 人數 學費 計算機基礎 電腦硬體知識 系統安裝 電腦組裝 電腦維修 計算機打字 of...