確保您構(gòu)建和購買一個有效的定制軟件開發(fā)項目的第一個關(guān)鍵是確保確實需要定制的軟件,而不是購買打包的解決方案,而且有充分的理由。根據(jù)一項調(diào)查,75%的企業(yè)和it高管預(yù)計他們的軟件項目會失敗,其中不到三分之一的項目能夠在一年多的時間內(nèi)按預(yù)算按時完成。
構(gòu)建和購買比較分析的一種方法是詢問是否有一個打包的軟件解決方案可以提供以下80%以上的功能:
支持或自動化獨特的業(yè)務(wù)流程和事務(wù)
流程行業(yè)或業(yè)務(wù)線特定的信息和數(shù)據(jù)
滿足獨特的隱私或安全要求
促進和集成遺留應(yīng)用程序和數(shù)據(jù)
以更低的成本替換或幫助整合現(xiàn)有解決方案
替換或幫助合并現(xiàn)有解決方案以提高生產(chǎn)力
創(chuàng)造新的機會或提高競爭優(yōu)勢
成長并適應(yīng)不斷變化的需求。
協(xié)作是關(guān)鍵
如果要做出決定,一個重要的初始考慮是從關(guān)鍵參與者那里購買,并確保他們在項目上進行溝通和協(xié)作。合作者包括發(fā)起人、用戶、開發(fā)人員,甚至是組織外部的客戶和業(yè)務(wù)伙伴。
協(xié)作意味著“與業(yè)務(wù)用戶就需求進行合作,在全球開發(fā)團隊之間共享知識,并在開發(fā)和運營團隊中合作以提高質(zhì)量和響應(yīng)能力?!?/P>
需求是必要的。
協(xié)作的關(guān)鍵成果之一是對軟件需要做什么而不是不做什么有一個清晰、共同的愿景。已經(jīng)確定,“組織需要有效地定義和管理需求,以幫助確保滿足客戶需求,同時解決法規(guī)遵從性問題,并在計劃和預(yù)算范圍內(nèi)”以及“需求定義和管理是一項有潛力實現(xiàn)以下目標(biāo)的活動:高、快的ROI?!?/P>
根據(jù)我們的“良好”要求,
正確(技術(shù)上和法律上可行)
完整(表達完整的想法或陳述)
清晰(明確)
一致(與其他要求無沖突)
可驗證(可確認(rèn)申請符合要求)
可追溯(僅識別和跟蹤)
可行(可在成本和進度內(nèi)完成)
模塊更改(可以更改而不會產(chǎn)生太大影響)
獨立于設(shè)計(設(shè)計沒有具體的解決方案)。
方法、技術(shù)和實踐
在定義需求(可能不止一次更改)之后,應(yīng)用成熟的現(xiàn)代開發(fā)方法和實踐可以幫助快速高效地交付有效的、甚至是創(chuàng)新的軟件。
需要考慮的開發(fā)方法:
敏捷開發(fā)將需求分解為易于使用的功能,并通過增量開發(fā)快速實現(xiàn)這些功能。隨著功能的部署,反饋循環(huán)有助于發(fā)現(xiàn)和修復(fù)缺陷。
Devops是開發(fā)和運營的結(jié)合體。它是一種基于敏捷的方法,將軟件開發(fā)和It操作集成到軟件設(shè)計、開發(fā)、部署和支持中。
快速應(yīng)用程序開發(fā)是一種非線性方法,它將設(shè)計和代碼構(gòu)建濃縮為一個相互關(guān)聯(lián)的步驟。
擴展敏捷框架提供了一種將敏捷方法擴展到大型組織(如全球開發(fā)團隊)的方法。要考慮的技術(shù)和實踐:
開源是對公眾和開發(fā)社區(qū)開放的軟件源代碼。例如,Linux是一個開源操作系統(tǒng)。它可以通過重用軟件組件來提高開發(fā)效率,并通過避免專有架構(gòu)來提高互操作性。
通過在云中托管開發(fā)環(huán)境,基于云的開發(fā)將云計算的優(yōu)勢帶到了軟件開發(fā)中。這些環(huán)境支持編碼、設(shè)計、集成、測試和其他開發(fā)功能,以構(gòu)建本地和云本地應(yīng)用程序,并實現(xiàn)云技術(shù)承諾的成本控制、速度和隨需應(yīng)變的便利性。人工智能(AI)使軟件能夠模擬人類的決策和學(xué)習(xí)。它可以用來改進開發(fā)過程。例如,可以使用自然語言處理(計算機和軟件理解人類語言的能力)來分析需求文本,并基于best提出改進建議