很多需求分析的工作是從需求調研開始的,我們就從這裡說起吧。需求調研是需求分析最重要的一環,也最集中地體現了需求分析的特點——既是乙份體力活兒,更是乙份技術活兒。它既要求我們具有一種理解能力、設計能力,更要求我們具有一種與人交往、溝通的能力。
在乙個陽光明媚的下午,專案經理帶領著專案組成員,參加了客戶組織的見面會,乙個新的軟體研發專案就這樣開始了。雙方在一種友好的氣氛中進行,雙方相互寒暄,介紹與會人員,拉拉家常。逐漸地,會議開始進入了正題。初次接觸客戶,對於專案團隊意義重大。對方對你印象的好壞,今後如何與你交往,都在這個階段被確定下來。然而,在客戶至上的今天,與客戶保持適當的謙卑是有必要的,但過於的謙卑卻常常給專案日後的程序帶來風險。為什麼這麼說呢?過於的謙卑,處處都是諾諾諾,客戶說什麼就是什麼,就會使客戶變得非常強勢。這樣的結果就是,客戶提出了許多**的、不太現實的、不合理的需求,而我們呢卻是一味地服從,客戶說什麼就是什麼。最後我們做得很累,結果卻不能讓客戶滿意。
正確的做法是,我們對客戶提出的需求進行深入理解以後,運用我們專業知識,提出比客戶的原始需求更加合理、可操作的解決方案,讓客戶感覺你說的正是他們想要的。如果能夠這樣,客戶不僅能夠欣然接收你提出的方案,而且會感覺你非常專業,你在客戶心目中的形象也會無形中提高,使你有更多的機會提出有利於開發的可行方案,降低開發的風險。這毫無疑問會形成乙個良性迴圈,但要做到這一點並不容易,我們需要在與客戶接觸的初期,就運用自己的專業知識在客戶心目中形成威信。
也許在見面會之前我們已經做足了功課,已經對客戶提出的需求進行了一番詳細的整理,也許有了一大堆疑問急需解答。但是,在最初的見面會上,不是解答具體問題的地方,這是我們常常會犯的乙個毛病。作為客戶,特別是客戶方的領導,最希望了解的是這個專案在巨集觀上給他們帶來的利益。因此,在這樣乙個場合,我們討論的都是巨集觀上的問題:客戶在巨集觀上對這個專案所要達到的目標,我們在巨集觀上給客戶提出的解決方案,在巨集觀上能給予客戶的利益,等等。
同時,這樣的會議又是乙個專案啟動會議。客戶方領導要傳達給與會代表乙個清晰的訊號,就是與會代表今後要積極配合我們完成今後的工作。這時候,要清楚地弄清,客戶方有哪些角色,誰是這些角色的需求制訂人與負責人。這是什麼意思呢?在軟體專案中,特別是管理型軟體專案中,客戶都代表的是乙個群體,而不是個人。他們代表的可能是乙個單位、乙個集團,甚至是一系列組織機構。在這樣乙個群體中,他們按照職能被劃分成了不同的角色。拿乙個單位來說,橫向可能劃分成不同的部門,財務部、銷售部、採購部、生產部••••••不同的部門,由於業務的不同,對軟體的需求自然是不同的;縱向又可以劃分為多個層次,如高層領導、中層領導與基層人員,高層領導關心的是巨集觀的目標,中層領導關心的是具體的效益,而基層人員關心的是細節的每一步操作。劃分清楚角色,弄清楚每個角色的需求制訂人與負責人,才能在今後的需求調研中找對正確的人,使事半功倍。
俗話說:萬事開頭難。我們以往在專案開始的時候總感覺千頭萬緒不知如何著手。在這裡我給大家的建議就是這三點:1)樹立良好的職業威信;2)從巨集觀上制訂目標與方案;3)進行角色分析,將與會各方代表對號入座。隨後的工作,就是逐一拜訪客戶代表,各個擊破。
七 我們應當怎樣做需求調研 需求捕獲(上)
前面我們討論了,需求分析工作是乙個迭代的過程 需求捕獲 需求整理 需求驗證 再需求捕獲 需求捕獲是這個迭代過程的開始,也是整個需求分析工作中最重要的部分。沒有捕獲哪來後面的整理與驗證工作?但是,非常遺憾,按照我以往的經驗,需求捕獲是我們最薄弱的環節。前面我提到的許許多多專案開發的問題都可以歸結為需求...
八 我們應當怎樣做需求調研 需求捕獲(下)
前面我們討論了,需求分析工作是乙個迭代的過程 需求捕獲 需求整理 需求驗證 再需求捕獲 需求捕獲是這個迭代過程的開始,也是整個需求分析工作中最重要的部分。沒有捕獲哪來後面的整理與驗證工作?但是,非常遺憾,按照我以往的經驗,需求捕獲是我們最薄弱的環節。前面我提到的許許多多專案開發的問題都可以歸結為需求...
我們應當怎樣做需求分析
又到新年了,日曆又要從2011年翻到2012年了,這使我有太多的感慨,進而勾起了對太多往事的回憶。過去的10年,毫無疑問是中國軟體業發展最快的10年。當我們剛剛畢業的時候,還在使用vb pb開發一些簡單的資料庫應用,而現在卻幾乎看不到它們的蹤影,換來的是諸如j2ee和.net這樣的大型web應用。而...