自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員的困擾:如何在不影響產(chǎn)品質(zhì)量的情況下,加速開發(fā)進程?

原創(chuàng)
新聞 開發(fā)工具
本文將專注于并行測試、敏捷方法,恰當?shù)奈臋n化、產(chǎn)品質(zhì)量的提升、以及快速推向市場等方面,希望對您有所幫助。

【51CTO.com原創(chuàng)稿件】本文將專注于并行測試、敏捷方法,恰當?shù)奈臋n化、產(chǎn)品質(zhì)量的提升、以及快速推向市場等方面,希望對您有所幫助。

眾所周知,“在不影響產(chǎn)品質(zhì)量的情況下,努力實現(xiàn)卓越的產(chǎn)品生產(chǎn)速度”是各個企業(yè)經(jīng)常要面對的挑戰(zhàn)。

他們會持續(xù)尋找各種產(chǎn)品開發(fā)加速的方法,來保持速度和質(zhì)量上的優(yōu)勢,達到真正領(lǐng)先于其他競爭對手的狀態(tài)。

亞馬遜每 11 秒鐘會產(chǎn)生一次軟件變更,且每天大約有 8000 次各種各樣的變更。您一定能想象到這對于那些不經(jīng)常進行變更的對手來說,會造成什么樣的影響和壓力。

值得注意的是:時常對產(chǎn)品予以變更,是一件既耗時又耗力的工作。如果能在小型開發(fā)團隊中實現(xiàn)全面自動化,會讓持續(xù)部署的成本和風險變得更低,達到更加“和諧”的狀態(tài)。

隨著項目規(guī)模的增大,代碼庫也會變得更復雜,而測試新的軟件版本已成為了開發(fā)過程中的必經(jīng)步驟。

質(zhì)量保證人員需要運行一些具有針對性的測試程序,但傳統(tǒng)的測試程序不但耗費時間并且會遺漏錯誤。所以,他們趨向選擇一些自動化的測試方案。

通過專業(yè)知識和長期的調(diào)研,大部分企業(yè)都能夠制定出各種戰(zhàn)略,使得他們在減少錯誤和不影響產(chǎn)品質(zhì)量的同時,更快地開拓出產(chǎn)品的市場格局。

通過快速的產(chǎn)品開發(fā)模式,企業(yè)可以花更少的時間向市場推出他們的產(chǎn)品(less Time To Market,TTM),獲得***產(chǎn)品的速度越快,其銷售、主導地位、以及靈活性方面就越是占優(yōu)。

企業(yè)總是期待能在需求管理上有所改進(收集那些尚未被設(shè)計的產(chǎn)品需求),因為明確、清晰的需求有助于簡化設(shè)計與開發(fā)階段的時間,從而使得他們能夠更快地推銷產(chǎn)品,并提高產(chǎn)品的質(zhì)量。

雖然沒有哪個系統(tǒng)能夠做到盡善盡美,但是如果企業(yè)采用了“改進的需求管理”模式的 TTM 策略,則有助于在計劃的發(fā)布日期內(nèi)部署出高質(zhì)量的產(chǎn)品。

在產(chǎn)品開發(fā)的過程中,各種意料之中和之外的障礙都會出現(xiàn)。這些障礙都會減緩我們的開發(fā)進程。

如何加快產(chǎn)品開發(fā)?通過有效地遵循下述六個步驟,您會在不影響產(chǎn)品質(zhì)量的情況下,加速開發(fā)進程:

  • 明確的產(chǎn)品開發(fā)策略
  • 使用敏捷方法
  • 定期自動化測試
  • 正確的軟件開發(fā)技術(shù)
  • 文檔化
  • 刪除無用的代碼

明確的產(chǎn)品開發(fā)策略

制定產(chǎn)品開發(fā)策略是規(guī)劃產(chǎn)品的***步。策略的定義應(yīng)基于充分理解了應(yīng)用程序用途的基礎(chǔ)上。

例如,如果您打算在圣誕節(jié)之前發(fā)布某個應(yīng)用,則必須在圣誕節(jié)之前完成,而不是等到一月份才發(fā)布。

或是您想發(fā)布一個應(yīng)用程序,以允許多輛列車在兩個車站之間無縫接駁。您就必須非常小心地進行代碼編寫,因為軟件的故障會導致列車相撞的事故發(fā)生。因此在該場景中,整理代碼并掃清 Bug 遠比按時交付重要得多。

由上可見,在著手開發(fā)產(chǎn)品之前,您需要策劃一張周密地“路線圖”,詳細地說明所有必要的步驟,包括從產(chǎn)品迭代到產(chǎn)品發(fā)布的整個過程。

下面有三種主要策略可以應(yīng)用到產(chǎn)品開發(fā)之中:

識別市場

在向市場發(fā)布任何產(chǎn)品之前,預(yù)研它是否會被用戶所接受是非常重要的。您可以通過對社區(qū)論壇和社交媒體的搜索與調(diào)查,來給受眾“搭脈”。

您可以從用戶角度考慮如下問題:

  • 目標受眾的需求是什么?只有很好地理解他們的需求,才能相應(yīng)地創(chuàng)建出應(yīng)用程序。
  • 新產(chǎn)品有什么好處?如果產(chǎn)品能解決用戶目前面臨的問題,那將是一個很好主意。

例如,一些用戶想知道您的食材來源,以及您餐飲應(yīng)用會給他們健康帶來的好處。那么您就可以創(chuàng)建一個應(yīng)用程序,以便用戶可以收集到他們想要的所有信息。

  • 該產(chǎn)品是否適合當前的市場?深入的研究將告訴您,目前正在計劃的產(chǎn)品是否已經(jīng)過時,或者一旦它被發(fā)布后是否仍然會有市場份額。這樣,您就可以節(jié)省資源和時間,只專注于人們真正想要的東西。
  • 您打算將哪些功能集成到您的產(chǎn)品中?通過研究,您會獲知人們的喜好和興趣。因此您只需要提供人們會用到的那些功能。如此,一旦您的最終產(chǎn)品面世,它將會既輕巧又有豐富的功能。

固定時間表

為產(chǎn)品發(fā)布設(shè)定一個時間表是非常重要的。它有助于將項目分配給不同的團隊成員,并能決定在誰完成后,給誰進一步迭代的問題。

同時,為項目選擇合適的團隊也非常重要,您是否能及時地發(fā)布產(chǎn)品,將取決于團隊中人員的經(jīng)驗和技能。

當然,團隊的效率和協(xié)調(diào)對于開發(fā)過程的成功也很重要,它能保證您的產(chǎn)品會在市場競爭開始之前就已經(jīng)按時發(fā)布了。

您必須根據(jù)產(chǎn)品的功能、用戶的需求以及參與項目人員的技能,來決定正確的發(fā)布日期。

確定關(guān)鍵路徑

確定關(guān)鍵路徑能夠為產(chǎn)品規(guī)劃和推出規(guī)避各種挑戰(zhàn)。您可以采取下面的方法:

線框或原型

原型設(shè)計是在設(shè)計產(chǎn)品時需要采取的重要步驟之一。在設(shè)計實際產(chǎn)品之前,我們必須先用線框來創(chuàng)建應(yīng)用程序的粗略圖。

應(yīng)用程序中所有能夠提升用戶友好效果的元素都將被添加于此。這有助于設(shè)計師們深入地了解應(yīng)用界面中需包含的功能。同時,這些線框圖會起到將應(yīng)用的理論思想與其最終結(jié)果相聯(lián)系的作用。

產(chǎn)品規(guī)格要求

有關(guān)應(yīng)用程序的所有細節(jié)都必須在產(chǎn)品規(guī)格中予以詳細說明,包括:定價、設(shè)計功能、和市場規(guī)格等。

產(chǎn)品的文檔部分必須清晰且詳細,從而保證在不同的團隊使用它時,每個人都能理解。產(chǎn)品規(guī)格中任何不明確的部分都可能會延遲產(chǎn)品的發(fā)布。

定義測試策略

產(chǎn)品開發(fā)團隊必須制定既省時又有效的測試策略。他們可以選擇 Selenium、Appium、Loadrunner、JMeter 等自動化測試的框架。這些框架都有助于開展并行測試、遞歸測試和性能測試。

雇用開發(fā)團隊

選擇產(chǎn)品開發(fā)團隊是產(chǎn)品開發(fā)的另一個重要階段。為了及時在市場上推出高質(zhì)量的產(chǎn)品,您可能需要將產(chǎn)品的開發(fā)外包給專業(yè)的工程團隊。該團隊應(yīng)當具備適當?shù)募寄芎蛯I(yè)知識。

從長遠來看,為團隊添置熟練的開發(fā)人員對于公司的成本來說可能會非常昂貴。

在這種情況下,外包軟件開發(fā)則是一個明智的策略。不但可以減少TTM,還能幫助您推出創(chuàng)新的產(chǎn)品,并有效地控制成本。

使用敏捷方法

項目管理團隊要仔細研究開發(fā)的方式,以選擇最適合手頭項目的方法。

基于敏捷宣言(Agile Manifesto)的 12 個基本原則是***的敏捷方法論之一。它將項目分成幾個持續(xù)時間相同的迭代,分布在 2-8 周的時間段內(nèi)完成。

利益干系人和客戶對敏捷方法最感興趣之處在于:他們能夠看到產(chǎn)品的每個開發(fā)階段,從而在整個項目中做出決定。

如果“面市時間”更受關(guān)注的話,那么敏捷方法能讓您快速地生成軟件產(chǎn)品的基本版本,隨后再經(jīng)歷多次成功的迭代和測試。

通過敏捷方法,您可以創(chuàng)建一個最小的可行性產(chǎn)品(Minimum Viable Product,MVP)。它具有各種用戶友好的功能,并適于發(fā)布到市場之上。

我們對于產(chǎn)品的每個階段,都能夠進行測試,添加更多功能,然后在得到客戶反饋的基礎(chǔ)上再次進行測試。

每個團隊(設(shè)計師與開發(fā)者團隊)將籍此實現(xiàn)并行工作,并相互檢查工作質(zhì)量。

與瀑布法則相比,敏捷方法更節(jié)省時間。因為在該方法中,任務(wù)不會出現(xiàn)重疊,每個任務(wù)只有在前一個任務(wù)完成之后才會開始。

定期自動化測試

我們必須定期進行軟件測試,以確保開發(fā)周期能夠按計劃順利地進行。每次在添加或修改新的源代碼時,我們都必須進行測試,以使產(chǎn)品在所有支持平臺上都能夠正常地運行。

我們既可以采用自動化的測試,又可以采用手動測試程序。不過,手動測試的問題在于它會花費大量的時間、人力和財力。

另一方面,自動化測試套件能夠大幅縮短測試的時間。過去需要幾天甚至幾周完成的測試,現(xiàn)在我們能夠在幾個小時內(nèi)完成。

當然,時間并非唯一的優(yōu)勢。自動化測試還可以讓您更為深入地進行測試,以改善和提高軟件的質(zhì)量。而手動測試則在冗長的測試中并不占優(yōu),它必須有人不斷地觀察測試結(jié)果。

同時,自動化測試套件可以讓您更為深入地了解每個產(chǎn)品,分析代碼存儲器中的內(nèi)容、數(shù)據(jù)表、文件內(nèi)容和內(nèi)部程序,從而檢查產(chǎn)品是否能夠按照預(yù)期的方式運行。

為了提高軟件的準確性,您可以選擇不同的自動化軟件測試類型,包括:單元測試、功能測試、遞歸測試、集成測試、數(shù)據(jù)驅(qū)動測試和煙霧測試等。

只要添加了新的功能,您都應(yīng)該執(zhí)行遞歸測試,以檢查代碼和它的功能效果。

由于測試是自動化的,您可以在不增加時間的情況下進行多次反復測試,以深入了解代碼功能,提高產(chǎn)品的運行速度,并最終發(fā)布出***的產(chǎn)品。

并行測試是自動化測試套件的另一個主要優(yōu)勢。它允許您同時在多個操作系統(tǒng)和瀏覽器上運行多個測試用例,并最終減少了整體的測試時間。

[[223042]]

正確的軟件開發(fā)技術(shù)

市場上有著大量的軟件開發(fā)技術(shù)可供選擇。如果您沒能為構(gòu)建的產(chǎn)品選擇正確的技術(shù)棧,那么您勢必會遇到各種產(chǎn)品發(fā)布的障礙。

在測試軟件的框架中,應(yīng)用開發(fā)環(huán)境(Application Development Environment,ADE)在測試系統(tǒng)中扮演著至關(guān)重要的角色。

系統(tǒng)開發(fā)人員會花費大量時間在 ADE 上,因此選擇支持多個平臺的 ADE,并將它與測量/控制服務(wù)相集成是非常必要的。ADE 還有助于應(yīng)用的展示和報告,并為您提供全球范圍內(nèi)培訓和支持。

在為產(chǎn)品開發(fā)進行技術(shù)選擇時,我們需要考慮的其他要點包括:

  • 密切關(guān)注***的行業(yè)趨勢。
  • 該技術(shù)是否適合于新產(chǎn)品的開發(fā)?
  • 了解技術(shù)適用的整個生命周期。
  • 軟件開發(fā)技術(shù)是否開源?
  • 了解您為技術(shù)選擇將支付的長期費用。
  • 產(chǎn)品可以被移植到其他平臺嗎?
  • 可運行性與多功能性的重要程度。
  • 您能從第三方代碼中獲利嗎?

文檔化

文檔可以描述正在開發(fā)的產(chǎn)品架構(gòu)與功能。它會涉及到參與軟件開發(fā)項目的每一個人,包括:設(shè)計人員、開發(fā)人員、測試人員、營銷人員、最終用戶和利益干系人等。

文檔化有助于提高軟件的質(zhì)量。由于軟件團隊在編寫代碼文檔和代碼審查的流程時,可能用到自己并不常用的實踐方式,因此文檔化是非常重要的。通過規(guī)范各種實踐和產(chǎn)生各種正式的文檔,您就能夠跟蹤項目的進度和方向。

清晰簡明的文檔編寫方式能夠加快開發(fā)的進程。同時,它有助于各個開發(fā)人員就如何在產(chǎn)品中實現(xiàn)特定功能而達成共識。

好的文檔能夠使得新進的開發(fā)人員更容易上手。這對于公司來說既具有時間效益,又有成本效益。籍此,他們完全可以跳過培訓,直接投入到產(chǎn)品開發(fā)之中。

正確地記錄錯誤的代碼和常見問題的解答,都能夠指導開發(fā)人員解決產(chǎn)品中出現(xiàn)的問題。

常見的文檔類型主要包括:

設(shè)計文檔

通過提供最終產(chǎn)品的外觀細節(jié),設(shè)計文檔能使開發(fā)人員受益。它會描述軟件的外觀和行為等方面,并進行截圖展示。這使得團隊中的每個人都能夠了解如何去構(gòu)建產(chǎn)品,同時也有助于用戶快速上手。

技術(shù)文檔

良好的技術(shù)文檔對于任何產(chǎn)品的成功都是至關(guān)重要的。它能詳細地描述軟件的體系結(jié)構(gòu)和功能,并提供給開發(fā)人員、設(shè)計人員和質(zhì)量分析人員來使用。

對于大型的項目來說,技術(shù)文檔為可能出現(xiàn)的災(zāi)難提供了保障。它一般包含軟件不同功能部分的預(yù)期結(jié)果、API 的調(diào)用和響應(yīng)、產(chǎn)品在最終用戶手中的最終外觀、以及對于代碼各個部分的詳細描述。

用戶文檔

良好的用戶文檔可以幫助用戶去了解代碼是如何運行的。開發(fā)人員經(jīng)常會想當然地認為軟件使用人應(yīng)當知道代碼的運作機制,因此他們會無意識地在創(chuàng)建文檔時跳過基本性的要點。

所以,在質(zhì)量上,只要使用的是用戶能夠理解的語言,就是好的文檔,反之則對用戶毫無用處。

因此,在為普通用戶創(chuàng)建文檔時,我們要確保清晰易懂。同時,文檔在布局上也應(yīng)該有所注意,以便開發(fā)人員能夠輕松地查看到所需的內(nèi)容。 Wordpress 和 Bootstrap 都是優(yōu)秀的文檔范例。

營銷文檔

市場營銷文檔應(yīng)當包含軟件能給公司所帶來的一個基本理念:投資回報率(ROI)。

可見,文檔是一種很好的營銷工具,既可以有利于維護良好的流程,又有助于提高軟件的質(zhì)量。

刪除無用的代碼

由于無用的代碼可能引發(fā)各種問題,因此我們需要刪除掉。

在大型項目中(特別是在一些復雜的項目中),由于文檔會在多種人員角色手中流轉(zhuǎn),甚至是一些對該項目并不熟悉的開發(fā)人員,因此他們可能會對代碼進行各種更改,甚至會“污染”代碼,進而在無意中引入了各種 Bug。

任何維護代碼的工作都是既耗時又耗力的。您必須遍歷所有的代碼,而代碼庫中的各種無用代碼也經(jīng)常會相互混淆。

由于無用的代碼多半不可能再被使用到,因此您與其花費時間和精力維護它們,不如直接將它們刪除。

同時,從事代碼工作的團隊成員必須明確知曉哪些代碼是有用的,哪些是無用的。同樣,代碼的清理可以加速開發(fā)的進程,并提高軟件的質(zhì)量。

結(jié)論

各個公司都專注于縮短其產(chǎn)品的面市時間。為了掃除產(chǎn)品延遲發(fā)布所帶來的風險,我們要重點關(guān)注:并行測試、敏捷方法、適當?shù)奈臋n和正確的技術(shù)。只要開發(fā)團隊有足夠的資源,項目就能成功啟動。

另外,依靠 TTM 策略來獲得營銷和競爭優(yōu)勢也是產(chǎn)品和項目本身非常重要的。在注重速度的同時,請您確保整個開發(fā)過程中的產(chǎn)品質(zhì)量。

[[223043]]

陳峻(Julian Chen) ,有著十多年的 IT 項目、企業(yè)運維和風險管控的從業(yè)經(jīng)驗,日常工作深入系統(tǒng)安全各個環(huán)節(jié)。作為 CISSP 證書持有者,他在各專業(yè)雜志上發(fā)表了《IT運維的“六脈神劍”》、《律師事務(wù)所IT服務(wù)管理》 和《股票交易網(wǎng)絡(luò)系統(tǒng)中的安全設(shè)計》等論文。他還持續(xù)分享并更新《廉環(huán)話》系列博文和各種外文技術(shù)翻譯,曾被(ISC)2 評為第九屆亞太區(qū)信息安全***成就表彰計劃的“信息安全踐行者”和 Future-S 中國 IT 治理和管理的 2015 年度踐行人物。

【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

責任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2020-08-11 10:25:38

數(shù)據(jù)成本數(shù)據(jù)大數(shù)據(jù)

2020-03-25 11:21:22

軟件開發(fā)云計算降低成本

2013-03-01 09:39:53

HadoopTwitter大數(shù)據(jù)

2020-02-26 12:03:36

代碼漏洞產(chǎn)品質(zhì)量

2022-08-01 15:43:00

性能指標軟件開發(fā)

2019-08-21 14:08:21

物聯(lián)網(wǎng)維護性維護傳感器

2020-12-15 11:14:55

物聯(lián)網(wǎng)工業(yè)4.0數(shù)據(jù)

2017-05-31 11:57:17

云計算小鳥云質(zhì)量

2022-07-28 09:54:41

Testin

2021-12-19 13:43:53

Windows 11Windows微軟

2017-05-26 10:45:49

云計算公有云質(zhì)量

2025-03-21 11:34:36

2023-03-09 08:17:46

Google存儲設(shè)備

2019-08-26 10:10:37

物聯(lián)網(wǎng)技術(shù)數(shù)據(jù)

2019-12-24 10:28:35

開發(fā)者技能工具

2012-11-05 10:51:08

2009-06-09 16:44:39

布線產(chǎn)品檢驗

2023-03-02 08:19:43

不加鎖程序實時性
點贊
收藏

51CTO技術(shù)棧公眾號