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