?譯者 | 范曉波
審校 | 孫淑娟
當(dāng)你查看項(xiàng)目簡(jiǎn)報(bào)時(shí),一個(gè)典型的問(wèn)題是如何最大限度地降低軟件開(kāi)發(fā)成本。當(dāng)然,有很多方法可以在不犧牲質(zhì)量的情況下做到這一點(diǎn)。但是,不要忘記這一切都是需要權(quán)衡的。
與軟件專(zhuān)家合作
當(dāng)我們談?wù)摻档蛙浖_(kāi)發(fā)成本?時(shí),外包是實(shí)現(xiàn)這一目標(biāo)的一種方法。你可以找到許多出色的開(kāi)發(fā)伙伴,比如Apiumhub,并且你不再需要擔(dān)心地理或知識(shí)限制。另外,與軟件代理商合作讓你可以利用大量資源并節(jié)省許多費(fèi)用,例如帶薪假期和病假、保險(xiǎn)、招聘費(fèi)用,與入職和培訓(xùn)相關(guān)的預(yù)算等等。
乍一看,可能按小時(shí)或按月的費(fèi)率似乎很貴。盡管如此,如果你真的選擇專(zhuān)家,從一開(kāi)始就開(kāi)始開(kāi)發(fā)你的項(xiàng)目,應(yīng)用最佳實(shí)踐,考慮軟件架構(gòu)、基礎(chǔ)設(shè)施等。要注意,在開(kāi)始合作之前提供詳細(xì)的項(xiàng)目范圍和要求非常重要。
使用預(yù)構(gòu)建的功能
分析并確定你可以使用哪些預(yù)構(gòu)建功能。這并不一定意味著你需要從貨架上挑選所有東西。你可以簡(jiǎn)單地認(rèn)為這些功能和附加組件可以快速無(wú)縫集成,而無(wú)需你的開(kāi)發(fā)團(tuán)隊(duì)從頭開(kāi)始編寫(xiě)代碼。例如,用戶(hù)管理和訪問(wèn)管理解決方案可以在2周內(nèi)從頭開(kāi)始構(gòu)建,按小時(shí)付費(fèi),或者在一天內(nèi)與 VYou 應(yīng)用程序集成,支付年費(fèi),這要便宜得多。這可以節(jié)省時(shí)間并降低項(xiàng)目的總體成本。此外,由于附加組件和預(yù)構(gòu)建的功能已經(jīng)通過(guò)性能和功能測(cè)試,它們可以幫助開(kāi)發(fā)相對(duì)便宜且高質(zhì)量的產(chǎn)品。
敏捷
根據(jù)敏捷方法設(shè)計(jì)你的解決方案,你的項(xiàng)目將保持靈活性并隨時(shí)準(zhǔn)備好進(jìn)行更改。在此過(guò)程中,早期糾正錯(cuò)誤總是更好。使用這種方法,你可以掌握動(dòng)態(tài)市場(chǎng)的脈搏和不斷變化的用戶(hù)期望。因此,即使在開(kāi)發(fā)過(guò)程中偏好發(fā)生了變化,你也可以不斷適應(yīng)、改變策略并創(chuàng)建目標(biāo)受眾需要的產(chǎn)品。
DevOps
DevOps 是優(yōu)化應(yīng)用程序開(kāi)發(fā)預(yù)算的另一種方法。一個(gè)關(guān)鍵的 DevOps 方法是這種做法及其文化允許團(tuán)隊(duì)成員更好地與彼此和客戶(hù)交互。軟件開(kāi)發(fā)團(tuán)隊(duì)和負(fù)責(zé)應(yīng)用程序運(yùn)行的人員清楚地分擔(dān)責(zé)任,這有助于你避免將責(zé)任從一個(gè)團(tuán)隊(duì)成員轉(zhuǎn)移到另一個(gè)團(tuán)隊(duì)成員。DevOps 涉及責(zé)任領(lǐng)域的智能整合。持續(xù)集成和持續(xù)交付 (CI/CD)是 DevOps 策略的主要組件。根據(jù)這種做法,創(chuàng)建的每個(gè)模塊都逐漸集成到業(yè)務(wù)流程中,以評(píng)估其有效性和反饋。因此,你可以避免創(chuàng)建的應(yīng)用程序不符合業(yè)務(wù)目標(biāo)和需求的情況。
僅基本功能
必須專(zhuān)注于最小可行產(chǎn)品(MVP)-你的解決方案的第一個(gè)工作原型,它僅包含關(guān)鍵功能,對(duì)業(yè)務(wù)至關(guān)重要的功能,以對(duì)其進(jìn)行測(cè)試,接收反饋和迭代。
半定制替代方案
自定義軟件開(kāi)發(fā)成本可能很高,因?yàn)殚_(kāi)發(fā)人員將創(chuàng)建每個(gè)模塊并從頭開(kāi)始設(shè)計(jì)每個(gè)元素。這是開(kāi)發(fā)杰出或創(chuàng)新事物的最佳方式。但是,如果你的開(kāi)發(fā)預(yù)算有限,有必要尋找其他替代方案。在這里,主要思想是使用已經(jīng)證明可以工作的其他應(yīng)用程序中的現(xiàn)有功能。例如,VYou 應(yīng)用可以用作用戶(hù)管理系統(tǒng),但它也可以進(jìn)行個(gè)性化設(shè)置,并且你仍然可以添加你必須使用的功能。
測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)是為代碼迭代編寫(xiě)測(cè)試的過(guò)程。一旦這些測(cè)試到位,你就可以放心地開(kāi)發(fā)軟件,因?yàn)槟阒雷约翰粫?huì)意外破壞功能。起初可能需要更多時(shí)間,但它會(huì)給你信心和安全感,即你沒(méi)有破壞功能。你正在構(gòu)建工作軟件。
采用正確的工具
你可以從影響日常工作的工具開(kāi)始。常見(jiàn)的例子包括用于管理項(xiàng)目、客戶(hù)關(guān)系、基礎(chǔ)結(jié)構(gòu)、測(cè)試、支付、訪問(wèn)管理等的平臺(tái)。
自動(dòng)化
構(gòu)建軟件時(shí),盡可能多地努力使你的流程自動(dòng)化。你不必重新發(fā)明每個(gè)輪子?;〞r(shí)間和資金開(kāi)發(fā)新功能或改進(jìn),而不是重新發(fā)明現(xiàn)有功能。自動(dòng)化可以帶來(lái)更高的生產(chǎn)力,因?yàn)樗试S有限的人力資源更有效地專(zhuān)注于具有更高回報(bào)的特定任務(wù)。你唯一需要考慮的是,第三方公司是否已經(jīng)有一個(gè)更好地為你的需求開(kāi)發(fā)的自動(dòng)化解決方案,或者你是否有足夠的時(shí)間和資金從頭開(kāi)始構(gòu)建解決方案。
譯者介紹
范曉波,51CTO社區(qū)編輯,資深網(wǎng)絡(luò)安全工程師。精通SDN、SD-WAN、VPN、NFV等網(wǎng)絡(luò)相關(guān)技術(shù)。精通二三層網(wǎng)絡(luò)轉(zhuǎn)發(fā)。熟悉DPDK、VPP、OVS高性能網(wǎng)絡(luò)開(kāi)源框架。喜歡打羽毛球、烹飪美食。
?