2009-01-27 71 views
7

我問這個,因爲明天是我與客戶,其中她告訴我,她是正確的,現在做的(用手),並且它是什麼,有什麼新的Web應用程序到底應該做的第一次會議。如何開始建模一個Web應用程序?

我弄不明白,她在我做我顯示了該過程的步驟。我是否識別用例並直接對其進行建模?我在prosa中描述過程嗎?我如何描述/轉錄從現實世界到模型的過程,然後纔是代碼的基礎?

什麼是最好的做法,開始與你一個新的發展?有小費嗎?

回答

7

這全是關於流程管理期望和技術很少有關。大多數客戶犯的錯誤(特別是對於小型諮詢公司而言)是因爲他們採用固定價格合同(可能需要支付賬單T & M:時間和材料)。他們將此作爲風險管理練習,這是可以理解的。

的問題是,他們有三種方式支付較低的風險:

  • 付您較低的風險溢價。這是軟件開發和金融市場一樣的基本原則;
  • 開發人員可以承受的風險是成本上升到天文數字,這對任何人都沒有好處(當然,這對開發人員有利,直到事情發生災難性的錯誤,他們幾乎總是這樣做);和
  • 你花了這麼多時間來制定一個規範,並正式確定你忘記的交付成果和接受標準,你只花了30萬美元編寫一個300頁的Word文檔,而不是編碼。

所有這些服務,使最終結果爲客戶更加昂貴,士氣低落的開發者(誰願意寫300個Word文檔?認真!),並延遲客戶端實際得到任何東西(從而增加了範圍蔓延的風險,這與項目的長度成正比)。

通過採用T & M方法結合某種形式的快速原型開發方法,定期向客戶提供不超過4-6周的交付成果或演示,通常可以更好地服務雙方。這符合管理期望。如果客戶可以看到正在發生的事情,它可以讓他們放心,並讓您繼續工作(而不是在通過甘特圖表進行會議的等待時間)。

所以你應該做的就是嘗試並讓你的客戶去採取畢業方法(嬰兒步驟),在那裏他們可以看到他們得到什麼,它是如何演變和參與過程。它得到的結果更快,並且最終更便宜(雙方共擔風險負擔)。

許多開發者似乎也忘記的一件事是,他們就像在15世紀的法國皇室主題。他們可能有特權,甚至是財富,還有很多額外的東西,但是他們爲國王(或女王)的樂趣服務,他們可以隨心所欲地引導他們。我的意思是客戶最終掌握了權力,作爲一名開發人員,您的存在讓他們的生活變得更加輕鬆,而不是相反。

如果客戶想要一個在Cobol on Rails上開發的粉紅色和綠色網站,並在老闆的iphone上的虛擬Vax/VMS服務器上運行,那就是他們得到的。現在,您可以利用自己的專業知識和經驗來嘗試說服他們,這不是一個好主意,但最終如果他們想要這樣做,您有兩種選擇:給他們或走路。

太多開發者陷入給人們他們認爲他們應該擁有的東西,而不是他們要求的東西。大錯。這一過程的一部分是與客戶保持溝通渠道暢通,以便在他們期待完全不同的事情時,不要認爲他們想要某些東西(或決定他們應該有什麼)。

即使是一個小型的軟件開發項目也可以輕鬆運行成6位數字。對於付費的人來說,這通常是一項巨大的投資。他們有權利緊張,你有責任讓他們開心。

0

我不認爲你的客戶想和你談談,這些事情......我敢打賭,她是要告訴你的事情怎麼樣的頁面要組織以及如何她希望工作的一些圖紙。

你應該只需按照她的介紹,詢問的問題(總是站在用戶角度),所以你可以爲她希望做你的工作。離開自己的技術的東西;)

1

大多數開發者不會花時間來做到這一點,並直接跳轉至建模類圖和系統架構,但比什麼,我會說要記下每一個功能,她提及。不要擔心分組,或者他們如何融合在一起。當時,你只需要從她那裏獲得可能的每一項功能。當你離開時,開始考慮應用程序,那麼你將開始繪製各個功能塊之間的相關性,最終將最終分組爲具有屬性和方法的對象。

0

用戶對如何工作並不感興趣。向他們介紹接口的組織和執行操作的必要步驟。我同意上述建議,寫下功能和界面要求,並看看它們是如何以及是否可以建模。

分析結束後,再次詢問她可以做什麼,不能做什麼,並提出解決方案或改進。

0

客戶最有可能告訴你他們在與他們談話的前5分鐘內想要什麼。之後的任何事情只是枕頭說話。

+1

枕頭說...我希望我有這樣的客戶 – inspite 2009-01-27 12:34:34

+0

哈哈哈 - 我的源代碼是(我認爲它的第200頁)重構你的wetware關閉實用書架 – 2009-01-27 12:45:14

1

我可以衷心推薦Eric Evans的「Domain Driven Design」。它解釋瞭如何對問題域進行建模,並在此過程中建立一種無處不在的語言,通過它,您和客戶可以清楚地瞭解應用程序的功能。

此外,請參閱您是否可以爲您的目標平臺找到快速開發工具,以便您可以快速在客戶面前獲得某些信息以獲得及早反饋。例如,如果您使用的是Java EE,請檢查支持往返的Spring Roo

相關問題