選擇軟件開發(fā)外包公司的關鍵要素


[需求是軟件的核心部分,就像發(fā)動機沒有汽油不能運行一樣。軟件沒有需求就沒有存在的價值,需求就是軟件的土壤或基石,一樣的需求或許因為不同額理解和解釋會開發(fā)出個性迥異的軟件,這就像是相同的種子在不同其中的種植下,長出不同差異的果實一樣。]
?
企云云根據(jù)多年服務企業(yè)軟件開發(fā)的項目經驗,總結出做好需求工作需要做好以下幾點:
?
一、分析軟件開發(fā)的需求特點
?
1、目的性:希望得到什么,有明確的的要求,
?
2、描述性:可描述的需求內容,可以詳細解釋的
?
3、操作性:有步驟、可進行操作,哪怕只有一個步驟,
?
4、條件性:在一定條件下可實現(xiàn)的需求,
?
5、計算性:需要有固定算法,不然無法實現(xiàn),即使人工智能、人工模擬也是通過最基本的算法而成的;
?
6、驗證性:需求最終實現(xiàn)后怎樣判斷結果是否正確?需求是否可被驗證,
?
二、在實踐過程中,用戶一開始提出的需求,往往是模糊的,不明確的,畢竟大部分的用戶都不是信息系統(tǒng)的專業(yè)人士。開發(fā)設計人員需要分化分解才能夠理解需求的內在本質。需要從以下幾方面考慮問題:
?
1、客戶的現(xiàn)狀是什么:用戶目前的現(xiàn)狀、用的什么系統(tǒng),市場情況、使用材料、設備、方法、人員、技術和流程,和有什么缺陷、錯誤、抱怨或損失,數(shù)據(jù)量、使用頻率、用戶量、使用范圍、業(yè)務相關性和重要如何;
?
2、客戶的期望是什么:什么樣的問題最需要迫切解決,用戶系統(tǒng)提升到什么程度,需求的便利性和拓展性怎樣?
?
3、客戶有沒有替代方案:如沒有解決方案,可以代替的方案有幾種,方案之間的優(yōu)缺點是什么?
?

4、客戶的預算范圍:開發(fā)預算決定開發(fā)量和使用技術的成本。
?
5、需求的范圍:公開、內部、多廠區(qū)、多語言使用還是分階段使用?使用的用戶量是多少、是否需要控制權限;
?
6、需求的內容是什么:結構圖、流程圖、操作說明、數(shù)據(jù)報表等具體內容;
?
7、需求的樣本:如用戶、材料清單、服務器配置、數(shù)據(jù)接口參數(shù)、數(shù)據(jù)格式和報告說明等需求的實例文件。
?
綜上:需求清楚是軟件設計與軟件開發(fā)的工作依據(jù),是決定軟件成果能否落地的關鍵。所以選擇軟件開發(fā)公司時,對軟件開發(fā)公司安排的梳理需求的人員的專業(yè)和經驗需要重點評估。