SDLC不同階段的項目文檔

技術文檔解釋了產品功能,幫助設計項目活動,并明確了最終目標。

有些人認為技術文檔只是為開發團隊創建的,但這并不完全正確。雖然它確實包含了大量的技術信息,但它實際上可以幫助不同的涉眾小組達成一致,并共享對預期結果的共同理解。此外,正如我們將進一步解釋的那樣,不同類型的文檔是為不同的受眾創建的——有時,不是技術專家(例如,最終用戶指南)。

軟件文檔的敏捷和瀑布方法

團隊生成的文檔類型及其范圍取決于所選擇的軟件開發方法。主要有兩種:敏捷和瀑布。就附帶的技術文檔而言,每個都是唯一的。

瀑布式方法

瀑布式方法是一種線性方法,在這種方法中,你只有在完成前一個階段后才能進入下一個階段。在項目的早期階段,使用瀑布法的團隊在產品規劃上花費了相當多的時間。它們創建了主要目標和目的的廣泛概述,并詳細計劃了工作過程的外觀。

waterfall stages

瀑布方法階段

瀑布團隊努力在任何工程階段開始之前編寫詳細的文檔。仔細的計劃對于進度幾乎沒有變化的項目非常有效,因為它允許精確的預算和時間估計。然而,瀑布計劃對于長期開發是無效的,因為它沒有考慮到可能發生的變化和突發事件。

敏捷式方法

敏捷式方法基于團隊合作、開發人員、業務涉眾和最終客戶之間的密切協作、靈活性和快速響應更改的能力。敏捷開發的基本構建模塊是迭代:每個迭代都包括計劃、設計、開發等階段。

Agile SDLC

敏捷開發周期

敏捷方法在開始時不需要全面的文檔。經理不需要提前計劃太多,因為隨著項目的發展,事情會發生變化。這允許進行及時的計劃。

敏捷宣言的價值之一是“工作軟件勝過全面的文檔”。雖然敏捷更關注產品本身,但形式也不應該被忽視。因此,我們的想法是生成包含信息的文檔,這些信息對于在最有意義的時候向前推進至關重要。

今天,敏捷是軟件開發中最常見的實踐:根據第17次敏捷狀態報告,71%的公司在他們的SDLC中使用它。因此,我們將重點關注與此方法相關的文檔實踐。

技術文檔的類型

有效文檔的主要目標是確保開發人員和其他涉眾一起工作來完成項目的目標。存在不同的軟件文檔類型來實現這一目標。

documentation types

敏捷項目中最常用的軟件文檔

所有軟件文檔可以分為兩大類:


產品文檔描述了正在開發的解決方案,并提供了如何與之交互的說明。一般來說,產品文檔包括需求、技術規范、業務邏輯和手冊。產品文檔主要有兩種類型:

過程文檔描述了團隊在開發軟件時如何工作。它就像一本詳細的指南,列出了團隊成員在SDLC期間遵循的過程,他們使用的工具,以及他們必須遵守的規則。該文檔幫助每個人理解如何完成任務,并使步驟一致,以方便新的團隊成員更容易跟上進度。

與過程文檔相關的常見示例是待辦事項、路線圖、編碼和測試標準、報告、會議記錄、發布檢查表,甚至業務通信。

因此,讓我們更詳細地討論每個文檔類別。

產品:系統文檔

系統文檔提供了解決方案的概述,并幫助工程師和涉眾理解底層技術。它通常包括

值得強調的是,這個列表并不詳盡。讓我們檢查一下主要的系統文檔。

產品需求文件(PRD)

產品需求文檔PRD提供有關系統功能和行為的信息。一般來說,需求是關于系統應該做什么以及它應該如何工作的陳述。

一個合理的做法是使用所有團隊成員都遵守的單一的、一致的模板來編寫需求文檔。單一網頁的表格有助你保持文件簡潔,并節省查閱資料的時間。下面是一個單網頁PRD的示例,以了解其各種元素。但是,請記住,這不是編譯它的唯一方法。

Technical documentation example
Technical documentation example user interaction and design

技術文檔示例:使用內容協作軟件Atlassian Confluence創建的一個網頁軟件需求文檔

以下是產品需求文檔中需要包含的要點。

角色和職責。從項目參與者的信息開始,包括產品所有者、團隊成員和其他關鍵涉眾。這些細節將明確每個團隊成員的職責和角色。

團隊目標和業務目標。簡要地定義項目最重要的目標。

背景和戰略契合。對你的行動的戰略目標做一個簡短的解釋。你為什么要開發這個產品?它將如何與公司的目標保持一致?什么是市場契合度?

假設。創建一個您計劃在項目期間驗證或取消的技術或業務假設的列表。

用戶故事。列出或鏈接項目所需的用戶描述。從最終用戶的角度出發,用戶故事是對客戶行為和他們想要達到的結果的簡短描述。

驗收標準。這些是指示用戶描述完成的條件。驗收標準的主要目的是從最終用戶的角度為交互場景定義一個令人滿意的結果。

用戶交互和設計。通常,精確的設計是在組成PRD之后創建的,因此您可以只包含產品設計的一般指導或草圖。稍后,當實際設計可用時,您可以將它們鏈接到珠三角。

問題。當團隊在項目進展中解決問題時,他們不可避免地會產生許多問題。一個好的做法是記錄所有這些問題并跟蹤它們。

超出范圍(不合適)。列出你在這個項目中不打算做的事情,以設定清晰的界限,防止范圍蔓延。這些可以是與產品相關的功能,但不是作為這個特定項目的一部分開發的。例如,如果你建立一個電子商務網站,一個定制的移動應用程序可能是一個超出范圍的項目。您還可以在這里指定額外的服務,如項目后維護,以明確您的責任。

請注意,除了PRD之外,其他類型的與需求相關的文檔是為不同的目的而創建的。最值得注意的是業務需求文檔(BRD)和軟件需求規范(SRS)。簡而言之,它們之間的主要區別在于BRD側重于業務角度,而PRD從用戶和市場的角度概述產品的需求,而SRS則提供詳細的技術藍圖,說明軟件應如何發揮功能以滿足這些需求。

用戶體驗設計文檔

用戶體驗設計(UX設計)從規劃階段開始,貫穿所有開發階段,包括測試和發布后階段。用戶體驗設計的過程包括研究、原型設計、可用性測試和實際設計階段,在這個階段會產生大量的文檔和交付物。

研究階段包括收集有關用戶以及他們與產品交互的環境的見解。應用的技術包括用戶訪談、調查、觀察和市場分析。目標是了解用戶的需求、行為、痛點和動機。它意味著發展

用戶角色代表了潛在產品用戶的關鍵特征,關注于行為、思維模式和動機。它們有助于定義客戶細分,為不同的用戶群體定制產品功能和未來的營銷策略。

用戶場景是描述用戶角色為完成特定任務將采取的步驟的文檔。用戶場景關注用戶將做什么,而不是概述思維過程。

場景映射用于將現有用戶場景編譯為單個文檔。場景映射顯示了每個功能在給定時刻可用的所有可能場景,以及交叉的場景步驟。

在原型設計階段,用戶體驗設計師處理研究階段的交付成果。他們開發最終產品的交互式表示,以創建和測試設計概念。在此階段產生的一些常見文件有

網站/產品地圖是一種視覺方案,表示產品所有頁面之間的連接。它可以幫助團隊可視化網站或應用程序的結構以及頁面/功能之間的連接。創建站點地圖是安排信息架構的一部分。

Site map structure example

站點地圖結構示例。來源:uxforthemasses.com

用戶流程或用戶旅程地圖可視化了用戶在與產品的所有部分交互時應該采取的步驟。通常,該方案包括所有的頁面、部分、按鈕和提供的功能,以顯示用戶移動的邏輯。

Job search application user flow scheme

求職應用用戶流程方案。來源:Michael Tsirakis在medium.com

線框圖是未來UI的藍圖。基本上,線框圖是一種方案,它顯示了如何安排頁面上的元素以及它們應該如何表現,但沒有詳細說明這些元素應該如何看起來。

Wireframe example for Peekaboo mobile app

躲貓貓手機應用的線框圖示例

模型是設計創作的下一步,是代表最終產品實際外觀和感覺的靜態圖像。

原型是一個可以與之交互的模型:點擊一些按鈕,在不同的頁面之間導航,等等。原型可以在像Sketch或MockFlow這樣的原型工具中創建。使用模板,用戶體驗設計師可以在開發的早期階段創建用于可用性測試的交互式模型。

當原型用于可用性測試時,從這些會話中收集的反饋和數據將被編譯成報告。

可用性測試報告有助于了解用戶對原型的反應,確定痛點和需要改進的地方。報告應盡可能簡短,以視覺例子為主,而不是文字。

另一個經常作為設計和開發團隊之間的橋梁而創建的用戶體驗設計文檔是風格指南。

UI風格指南是用戶界面設計和實現的綜合手冊。它確保了整個產品的視覺表現和交互模式的一致性。樣式指南定義了應該如何設計和安排UI元素和內容類型。它包括以下指南:

軟件架構文檔

軟件體系結構文檔(SAD)包括解決方案架構師做出的主要體系結構決策。與上面提到的描述需要構建什么的產品需求文檔不同,架構文檔是關于如何構建它——每個產品組件將以何種方式貢獻并滿足需求,包括實現需求的解決方案、策略和方法。

因此,軟件架構文檔給出了產品結構的概述,并確定了工作的全部范圍,將所有涉眾納入其中,并為開發團隊提供了總體指導。

我們不建議太過詳細地列出所有需要完成的任務,而是把重點放在高層次的描述上。

通常,SAD包括以下部分。

概述和背景。簡要描述項目的主要目標,你試圖解決的問題,以及你想要達到的結果。

產品描述。列出主要的功能性和非功能性需求,勾勒出項目范圍。

高級架構描述。提供系統體系結構的概述,并描述主要組件及其相互作用。簡要解釋架構決策背后的原因以及影響您的方法的約束(例如,技術限制、遵從性需求等)也是值得的。

一個好的做法是用圖表和/或其他圖形材料來支持這一部分,以幫助理解和交流結構和設計原則。

azure architecture

Azure web應用程序架構圖。來源:docs.microsoft.com

詳細的系統設計。提供關于關鍵系統組件及其交互方式的更詳細的描述。包括用于內部和外部通信的API規范和協議。概述數據體系結構、數據庫模式和數據完整性。

技術策略和解決方案。定義解決橫切關注點的策略,如可伸縮性、可靠性和安全性(例如,緩存、負載平衡、容錯等)。

基礎設施和部署。描述部署和運行系統所需的硬件和基礎設施設置。包括網絡布局、服務器規范和部署圖。

技術設計文件(TDD)

技術設計文檔(TDD),也經常被稱為技術規范,提供了關于如何實現軟件系統需求的詳細的、低級的信息。它在系統架構和實際代碼庫之間架起了橋梁,詳細說明了開發人員將遵循的特定配置、接口和編碼標準。

TDD包括組件設計、數據流程圖、算法、API端點和交互協議,確保開發人員擁有構建軟件的清晰而精確的指南。

源代碼文檔

源代碼文檔是一種直接嵌入到解決方案源代碼中的技術文檔。它解釋了代碼是做什么的,它是如何工作的,以及為什么要做出某些決定。這可以包括對算法、配置和復雜邏輯的描述。

源代碼文檔以注釋的形式出現,可以是解釋特定操作的單行注釋,也可以是描述更復雜邏輯或數據結構的更大的塊解釋。

文檔良好的代碼更容易維護和調試,因為開發人員可以理解代碼的意圖和功能,而無需破譯每一行。

質量保證文件

QA活動是任何開發項目中不可缺少的一部分。與質量保證相關的最常見的文件是

質量管理計劃類似于專門用于測試的需求文檔。本文檔規定了產品質量所需要的標準,并描述了實現標準的方法。該計劃有助于為產品經理安排QA任務和管理測試活動,但它主要用于大型項目。

測試計劃是一個詳細的文檔,它概述了項目中預期測試活動的目標、資源、范圍和時間表。它定義了QA團隊的角色和職責,指定了要測試和不測試的內容,描述了要執行的測試類型(如單元測試、集成測試和系統測試),以及要使用的方法和工具。

測試計劃還包括有關測試環境設置、風險管理策略以及開始和完成測試的標準的信息。此外,它列出了預期的可交付成果,例如測試用例、報告和錯誤日志,并確定了負責批準計劃及其結果的涉眾。

該文件作為一個藍圖,以確保測試是系統的、有效的,并與項目的質量標準和目標保持一致。

通常,測試計劃與測試策略會被混淆,但它們實際上是非常不同的。測試計劃是一個項目級別的文檔,關注于一個特定的軟件產品,而測試策略是一個過程文檔,它定義了整個公司采用的測試過程和標準(我們將在下面描述它)。

測試用例規范是一組詳細的操作,用于驗證產品的每個特性或功能。通常,QA團隊會為每個產品單元編寫單獨的規范文檔。測試用例規范是基于測試計劃中概述的方法。一個好的實踐是簡化規范描述并避免重復測試用例。

測試檢查表是應該在特定時間運行的測試列表。它顯示完成了哪些測試以及失敗了多少測試。測試檢查表中的所有點都應該正確定義。試著在檢查表中將測試點分組。這種方法將幫助你在工作中跟蹤它們,而不會丟失它們。如果這能夠幫助測試者正確地檢查應用,你便可以在列表中添加評論。

API文檔

大多數產品都包含API(應用程序編程接口),以支持與其他系統的數據交換。API文檔包含所有產品API及其規范的列表。它描述了請求、響應、錯誤消息和其他基本細節,并告知開發人員如何有效地與系統API進行交互。

產品:用戶文檔

顧名思義,用戶文檔是為產品用戶創建的。然而,他們有不同的類型,即終端用戶和系統管理員。因此,您應該根據不同的用戶任務及其不同的經驗水平來構建用戶文檔。

終端用戶文檔

為最終用戶創建的文檔應該盡可能以最簡單的方式解釋軟件如何幫助解決他們的問題。這樣的用戶指令可以在設備上以打印形式、在線形式或離線形式提供。

以下是用戶文檔的主要類型。

快速入門指南提供了產品功能的概述,并給出了如何使用它的基本指南。

完整的手冊包括關于如何安裝和操作產品的詳細信息和說明。它列出了硬件和軟件需求,功能的詳細描述,關于如何充分利用它們的完整指南,示例輸入和輸出,以及可能的提示和技巧等。

故障排除指南向最終用戶提供有關如何查找和解決在使用本產品時可能出現的問題的信息。

在線最終用戶文檔可能以知識庫的形式出現,并包括以下部分:

由于用戶文檔是客戶體驗的一部分,因此使其易于理解并具有邏輯結構非常重要。用戶指南用通俗易懂的語言編寫,包括視覺材料和一步一步的說明,可以成為強大的營銷工具,提高客戶滿意度和忠誠度。

此外,為了給最終用戶提供最好的服務,你應該不斷收集客戶的反饋。wiki系統是維護現有文檔的更有用的實踐之一。如果您使用wiki系統,則不需要將文檔導出為可呈現的格式并將其上傳到服務器。您可以使用wiki標記語言和HTML代碼創建wiki頁面。

系統管理員文檔:幫助和維護指南

系統管理員文檔是專門為負責計算機系統和網絡的安裝、配置、維護和故障排除的人員編寫的。它們提供了詳細的指導方針和說明,以確保IT基礎設施的正常運行和安全性。

一些常見的系統管理員文檔包括

該文檔對于系統管理員有效地管理和保護組織的技術資源,確保IT操作的連續性和效率至關重要。

過程文檔

過程文檔涵蓋了圍繞產品開發的所有活動。保持過程文檔的價值在于使開發更有組織,更有計劃。

敏捷產品路線圖

產品路線圖在敏捷軟件開發中用于記錄項目的遠景、策略和總體目標。它們有助于使開發過程與初始目標保持同步。根據產品路線圖的類型,它可以表達高級目標、任務優先級、沖刺時間線或低級細節。

敏捷產品團隊使用的產品路線圖有三種類型:

戰略路線圖是包含項目總體信息的高級戰略文件。戰略路線圖通常描述遠景和長期目標。在敏捷產品開發的情況下,路線圖可以按主題排列。主題是團隊必須完成的多個任務,并且它們之間存在某種聯系。例如,一個主題可能聽起來像“提高頁面加載速度”,這需要許多操作。

將主題周圍的信息分組使路線圖具有高度的靈活性和可更新性,這非常適合基于sprint的開發。關于戰略路線圖,最好的建議是只包括重要的信息。否則,您可能會將您的路線圖變成一個笨拙的方案,難以理解和維護。

Strategic software product roadmap example

戰略軟件產品路線圖示例。來源:productplan.com

技術路線圖IT路線圖是描述技術需求和技術實現手段的底層文檔。IT路線圖非常詳細。它們包含了每個可交付成果的信息,解釋了做出這樣一個決定的原因。

發布計劃為發布設定了嚴格的時間限制。發布計劃應該關注實際的截止日期,而不是指定發布細節。

Release plan example

發布計劃示例。來源:productplan.com

強烈建議使用專用的路線圖工具來創建您自己的路線圖。一些在線工具如?:Strategic Roadmaps(以前的Roadmunk)、 ProductPlan,、Visor或Aha! 它們為創建產品路線圖提供了各種模板,并且允許快速編輯和在所有團隊成員之間輕松共享。

請記住,路線圖可以是陳述需求的產品文檔,這取決于它的類型。它還描述了開發過程并指導您的團隊完成開發。

路線圖提供了一個高層次的概覽和戰略指導,而積壓的任務側重于實現這些更廣泛目標所需的立即行動。

待辦事項

待辦事項是敏捷項目管理方法的基本組成部分,尤其是在Scrum這樣的框架中。它們為團隊在開發產品時提供了一個清晰、可操作的計劃。

scrum

Scrum是如何工作的

產品待辦事項列表由需要解決的任務、特性、用戶描述和bug(如果有的話)的優先級列表組成。當計劃任何產品工作活動時,它作為需求的主要來源。隨著對產品及其用戶的了解以及市場條件的變化,它通常在項目的整個生命周期中不斷發展。

在類似scrum的方法中,沖刺待辦事項包含開發團隊在沖刺期間承諾完成的所有特定任務。它是在sprint計劃會議期間創建的,因為團隊根據優先級和團隊的能力從產品待辦事項列表中選擇項目。這個待辦事項列表對于每個sprint都是獨一無二的,并且是一個動態文檔,因為項目可以分解成更小的任務,在整個sprint中根據需要進行調整以應對挑戰和變化。

有兩種主要的方法來組織待辦事項。扁平待辦事項列表是一個簡單的待辦任務列表,一個功能接著一個功能。雖然它很容易創建,但它不能反映用戶的旅程,并且隨著它的增長而變得難以管理。

flat backlog vs user story map

扁平的待辦事項列表vs用戶故事圖

相反,用戶故事地圖將用戶故事安排在二維布局中,幫助團隊理解產品的功能,可視化用戶旅程,并對待辦事項進行優先排序。

user story map

一個將用戶故事映射分解為版本的示例。來源:Netcentric

其他過程文件:計劃、標準、策略等。

還有許多其他類型的過程文檔值得創建,用于描述公司中的過程或反映特定項目中的特定過程。

標準包括團隊在整個項目中遵循的所有編碼、測試和設計標準。

計劃、評估和進度表通常是在項目開始之前創建的,并且可以隨著產品的發展而改變。

測試策略是描述組織整體軟件測試方法的高級文檔。它包括關于團隊結構和資源需求的信息,以及在測試期間應該優先考慮什么。測試策略通常是靜態的,因為它是為整個開發范圍定義的。

發布檢查表是在軟件發布之前要完成的任務和檢查的列表,確保沒有任何重要的事情被忽略。

工作底稿記錄了工程師在項目實施過程中的想法和想法。工作底稿通常包含一些關于工程師代碼、草圖和如何解決技術問題的想法的信息。雖然它們不應該是信息的主要來源,但是跟蹤它們可以在需要時檢索高度具體的項目細節。

報告反映了開發過程中時間和人力資源的使用情況。它們可以按天、按周或按月生成。

一些過程文件是靜態的,描述了公司對特定過程的總體方法(例如,戰略、標準、檢查表等),而另一些過程文件只涉及過程的特定時刻或階段(例如,中期報告)。結果,這些文檔很快就過時了。但是它們仍然應該作為開發的一部分,因為它們可能在將來實現類似的任務或維護時變得有用。

誰編寫技術文檔?

為項目創建技術文檔并不是一件容易的事。過程中涉及到許多不同的涉眾,每個涉眾都貢獻了特定的專業知識和觀點,以確保文檔準確、全面和有用。

以下是所涉及的關鍵角色及其職責的列表。

業務分析師與客戶密切合作,收集并定義產品必須滿足的業務需求。他們還充當非技術涉眾和技術團隊之間的橋梁。它們確保技術文檔與業務目標保持一致,并且非技術涉眾可以理解。此外,ba通常有助于創建用戶文檔。

市場分析師從最終用戶那里收集信息,以創建用戶角色和用戶場景。他們還研究市場,并通過驗證市場契合度和業務目標為需求文檔做出貢獻。

項目經理監督文檔編制過程,確保其與項目時間表和目標保持一致。他們負責與項目相關的大部分過程文件和計劃。

解決方案架構師創建全面的架構設計文檔。這些文檔概述了項目的擬議體系結構,包括高層結構、軟件設計以及各種組件和外部系統的集成。架構師還有助于創建技術路線圖,并為項目設置技術標準和指導方針。

開發人員創建描述軟件元素的源代碼文檔。它們還解釋了特性是如何實現的,提供了代碼示例,并闡明了需要記錄的復雜技術過程。

UX設計師參與創建UX/UI設計文檔,包括界面描述、原型、站點地圖等。

QA工程師通過記錄測試協議、結果和配置來做出貢獻。他們確保文檔反映了有效測試軟件和報告錯誤的必要步驟。

技術作者主要負責起草和編輯文檔。他們與技術專家合作,收集準確的細節,并以用戶友好的格式呈現。

軟件文檔工具

這么長一長串的技術文檔看起來確實很嚇人,但你不必真的把它們寫在紙上——你也不必從頭開始創建它們。有很多專門的工具可以幫助你完成繁重的工作。

通用工具

軟件開發團隊有無數的協作工具。它們可以幫助說明需求、共享信息以及記錄特性和過程。

Atlassian Confluence是最流行的協作項目工具,它擁有管理產品需求和編寫文檔的完整生態系統。Confluence以穩定的wiki系統和高效的用戶故事管理界面而聞名。

Document 360是一個為軟件即服務產品設計的自助知識庫/軟件文檔平臺。

一些。Ai是一個用于協作文檔創建、存儲、數據共享和使用wiki系統的工具。文檔是交互式的,這意味著開發人員可以將代碼塊或代碼片段直接嵌入到文檔中,并只需單擊一下即可共享。編輯完文檔后,您可以將其保存為PDF或markdown格式,并將其發布到任何其他平臺。

Github不需要介紹,除了那些想用它來編寫軟件文檔的人。它為您提供了自己的wiki系統,并允許將您的文檔轉換為引人注目的網站展示。

Markdown編輯器

由于軟件文檔更容易在網絡上使用,因此必須以適當的格式創建。這就是使用基于文本的標記語言的原因。最流行的一種是Markup,它可以很容易地轉換為HTML,并且不需要任何特殊知識。標記在GitHub和Reddit上使用,基本上到處都是基于web的文檔。

因此,這里有一些Markdown編輯器可以幫助您為項目創建文檔。

Visual Studio Code是微軟為Windows、Linux和macOS開發的免費開源代碼編輯器。它有許多特性和擴展,包括用于項目管理和協作的特性和擴展。

Typora是一個編輯器,它提供了一個無干擾的寫作環境和實時呈現markdown語法,以便于創建和編輯markdown文件。

iA Writer是一個極簡主義的文本編輯器,具有簡單,無干擾的界面和一系列有用的功能,包括語法高亮顯示,字數統計和iCloud同步。

Quiver是一個用于Mac和iOS設備的筆記和代碼片段管理應用程序。它允許用戶使用文本、代碼片段和標記組合來創建和組織筆記。

路線圖專用工具

使用特定于路線圖的工具是一個很好的做法,因為它們允許您快速共享信息,更新時間表或主題,添加新的點,并編輯整個結構。大多數路線圖工具都提供了模板,因此您可以立即開始工作。

ProductPlan提供了路線圖、時間線創建、協作、優先級和報告的特性,以幫助企業以更高效和有效的方式開發、共享和管理其產品路線圖。

啊哈!是一套適用于整個產品管理生命周期的工具,從創意到發布——包括路線圖。

Roadmunk提供自定義字段、拖放編輯、與其他工具的集成以及協作功能,使團隊成員能夠實時地協同工作。

KeepSolid的Roadmap Planner是另一個可視化的項目規劃和團隊協作工具,用于創建項目路線圖,時間表和甘特圖。

所有的工具都提供免費試用和付費計劃,但在模板、路線圖數量和你可以與之分享的人方面有所不同。

用戶體驗文檔工具

最流行的用戶體驗設計工具是原型工具,它可以幫助創建草圖、模型、線框圖和交互式原型。

Sketch是一個簡單但功能強大的矢量設計工具,它有一個web應用程序和一個Mac桌面客戶端。Sketch非常有名,而且非常簡單,為設計界面提供了足夠的功能。

sketch platform

草圖界面

InVision是最流行的原型工具之一。它以其協作特性和跨平臺功能而聞名,這使它成為設計界面的絕佳選擇。

UXPin是一個Mac和Windows設計工具,允許您構建任何類型的藍圖。你也可以上傳其他產品的草圖或線框圖,并制作一個互動原型。

Adobe XD,其中XD代表體驗設計,是一款針對用戶體驗專家的產品。它允許設計師創建高保真的原型,并通過應用程序分享。

API文檔工具

創建API文檔的過程通常是自動化的。程序員或技術編寫者可以使用以下API文檔生成器。

Swagger是一套用于設計、構建、記錄和使用RESTful web服務的工具。它為開發人員提供了一個直觀的界面,用于使用OpenAPI規范描述其api的結構,包括端點、操作和模型。這允許自動生成可實時測試的交互式API文檔。Swagger的工具支持整個API生命周期,從設計和文檔到測試和部署。

Postman是另一個流行的API開發工具,用于構建、測試和管理API。它還使團隊能夠輕松地創建、共享和維護詳細的API文檔。該文檔是交互式的,允許用戶直接從文檔中執行API請求,從而簡化了開發人員和涉眾的測試和集成。

RAML 2 HTML是一個將RAML (RESTful API建模語言)文件轉換為人類可讀的HTML頁面的工具。它使開發人員能夠直接從他們的RAML定義生成API文檔。

技術作者的工具

專業的技術作者經常使用專門的軟件來創建高質量的技術文檔。這樣的工具被稱為內容管理系統(cms),可以更容易地構建、組織和管理各種文檔。CMS可以操作不同的文件格式,導入和存儲內容,并允許多個用戶參與內容開發。

MadCapFlare是一個強大的基于云的軟件,具有多渠道發布功能,多語言支持,廣泛的學習資源等。

Adobe RoboHelp是一個全功能的CMS,允許創建富媒體內容,方便的微內容管理,協作版本控制等。

ClickHelp是一個屢獲殊榮的平臺,提供從其他程序輕松遷移,靈活的權限選項和許多報告功能。

軟件文檔的示例和模板

上一節中描述的許多工具都提供了用于創建技術文檔的各種模板。

一般項目文檔模板

下面的資源提供了與軟件開發和項目管理相關的各種模板。

Atlassian Confluence Templates在其產品中提供了通用的項目文檔模板。

ReadySET Pro是一個大型的HTML軟件文檔模板庫,包括規劃文檔、架構、設計、需求、測試等等。

ReadTheDocs是一個使用ReadTheDocs平臺制作的一體化模板,提供了關于編寫您可能需要的每種文檔類型的說明,從架構和UML圖到用戶手冊。

TemplateLab包含數千個用于各種目的的模板-包括項目管理。

產品路線圖模板

可下載的模板可能更難管理和協作,但仍然可以讓您快速入門。這里有一些資源,你可以找到一些路線圖模板:

質量保證文檔模板

如果您正在尋找與qa(QA)相關的模板,您可能需要檢查這里:

軟件設計文檔模板

軟件設計文檔有時也被稱為產品或技術規范。它是軟件文檔中最重要的部分之一。你可以調整其中一個模板來滿足你的需要:

專門的架構示例:AWS、Microsoft Azure和Google Cloud

如今,隨著越來越多的企業傾向于遷移到云,有一些知名的可信提供商提供培訓和架構示例,以促進在其環境中的操作。

Amazon——AWS架構中心為在云中運行架構工作負載提供AWS架構指導、框架、工具和最佳實踐。

Microsoft -此資源提供了許多關于Azure架構的有用資料,包括示例場景、架構圖等。

Google -訪問Google云架構圖示例的官方圖標庫。

如何編寫軟件文檔:一般建議

編寫足夠的文檔

您應該在沒有文檔和過多文檔之間找到平衡。糟糕的文檔會導致許多錯誤,并降低軟件產品開發的每個階段的效率。同時,沒有必要提供大量的文件和在幾份文件中重復信息。只應記錄最必要和最相關的信息。找到適當的平衡還需要在開發開始之前分析項目的復雜性。

考慮你的聽眾

盡量使您的文檔簡單且易于閱讀。它必須具有邏輯結構并且易于搜索,因此要包含目錄。盡可能避免長文本塊,使用視覺內容,因為這種方式對大多數人來說更容易吸收信息。

您還必須記住文檔是為誰寫的。如果它是面向終端用戶的,那么它肯定必須用簡單的語言編寫,這樣讀者就可以在不查閱技術詞典的情況下理解它。如果文檔是針對業務涉眾的,那么也應該避免復雜的專業術語、技術術語或縮寫詞,因為您的客戶可能不熟悉它們。然而,如果是針對你的技術專家團隊,確保你提供了他們堅持開發計劃并構建所需設計和功能所需的所有準確性和細節。

使用交叉連接

在相關文檔或文檔中的部分之間使用交叉鏈接。這對于相關信息分布在多個文件中的復雜文檔集尤其有用。

交叉鏈接不僅可以讓讀者快速跳轉到參考部分,而無需廣泛搜索,而且有助于避免冗余和方便更新。

不要忽視詞匯

文檔可以專門用于內部或外部使用。在外部文件的情況下,最好對每個術語及其在項目中的具體含義提供清晰的解釋。文檔應該用清晰的語言傳達想法,以便在涉眾、內部成員和用戶之間建立通用語言。

保持您的軟件文檔是最新的

適當的維護非常重要,因為過時或不一致的文檔會自動失去其價值。如果需求在軟件開發期間發生變化,您需要確保有一個系統的文檔更新過程來包含變化。而且,如果在產品已經上市時發生任何更新,通知客戶并刷新所有用戶文檔是至關重要的。

建立某種維護和更新計劃是一種很好的做法。你可以定期進行更新,例如每周或每月,或者將其與你的開發計劃聯系起來,例如在每次發布后更新文檔。自動電子郵件或發布說明可以幫助您跟蹤開發團隊所做的更改。

您還可以使用版本控制工具來更有效地管理此過程。它可以讓你跟蹤所做的更改,保留以前的版本和草稿,并使每個人保持一致。

與團隊合作

敏捷方法基于協作方法來創建文檔。如果你想要提高效率,就應該采訪程序員和測試人員,了解軟件的功能。然后,在你寫完一些文檔之后,與你的團隊分享并獲得反饋。你也可以參加團隊會議,定期查看看板。為了獲得更多的信息,試著發表評論,提出問題,并鼓勵他人分享他們的想法和想法。每個團隊成員都可以為您生成的文檔做出有價值的貢獻。

聘請一位科技作者

如果可以的話,雇傭一個員工來處理你的文件是值得的。通常做這項工作的人被稱為技術作家。具有工程背景的技術作家可以從開發人員那里收集信息,而不需要別人詳細解釋發生了什么。在團隊中嵌入一名技術作家也是值得的,把他安排在同一個辦公室以建立密切的合作關系。他或她將能夠參加定期會議和討論。

創建和維護技術文檔的最佳實踐

這里有一些建議,可以幫助你優化和加快文件編寫和進一步管理的過程。

想想最有效的傳遞信息的媒介。例如,制作音頻或視頻記錄對于需求捕獲、用戶指南等來說是一個很好的選擇。

鏈接到補充信息。插入到相關在線文章或信息頁面的鏈接,而不是在文檔中復制它們。

盡可能從代碼或數據庫生成圖。在為技術文檔創建圖表時,與其使用繪圖工具從頭開始構建它們,不如在可能的情況下從代碼或數據庫生成它們,這樣會更有效。這可以使用各種流行編程語言和數據庫可用的工具和插件來完成,這些工具和插件可以根據代碼或數據庫模式自動創建圖。

利用截圖和視覺效果。使用截圖和其他圖片總是一個好主意,因為它們可以幫助你快速找到需要更新的內容,這樣你就不必閱讀整個文本。

將文檔與源代碼一起保存。考慮將您的技術文檔與源代碼一起存儲,只是將它們分開。這有助于保持更新,并讓每個人都知道在哪里可以找到它。

自定義訪問以避免額外的更改。給潛在的作者編輯權限,而那些只有視圖訪問權限的人仍然可以看到信息,但不能修改它。

為作者提供方便的訪問。確保作者能夠快速方便地訪問文檔以進行審查和更新。消除不必要的授權和/或批準程序等障礙。

記得備份。養成定期備份的習慣,最好是在多個位置創建備份,比如云存儲或外部硬盤驅動器。此外,保留以前的版本并存檔項目中的電子郵件,因為將來可能需要用到它們。有一個備份計劃也是一個好主意,以確保您始終能夠訪問最新版本的文檔。請確保定期測試備份,以確保它們正常工作,并可在緊急情況下使用。

使用標簽使搜索更容易。考慮使用標記對文檔中的不同部分和主題進行分類和標記。在創建標記時,考慮與每個部分最相關的關鍵字或主題,并確保它們在所有文檔中保持一致。此外,考慮使用層次標記進一步細化和組織內容,使其更容易導航和搜索。

探索可能的溝通方式。如果文檔是共享知識的一種方式,那么想想其他的交流方式,或者找出為什么團隊成員不只是談論它。它有利于整體團隊合作,并減少所需文檔的數量。

敏捷方法鼓勵工程團隊始終專注于為客戶交付價值。在生成軟件文檔的過程中也必須考慮到這一關鍵原則。應該提供(全面)的軟件文檔,無論是針對程序員和測試人員的軟件規范文檔,還是針對最終用戶的軟件手冊。全面的軟件文檔是具體的、簡潔(簡明)的和相關的。

原文鏈接:https://www.altexsoft.com/blog/technical-documentation-in-software-development-types-best-practices-and-tools/

上一篇:

系統集成的類型、方法和實施步驟

下一篇:

如何在 Java 中比較 DOCX 文檔
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費