<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>教育訓練｜林鼎淵 Dean Lin</title>
    <link>https://deanlin.net/tags/%E6%95%99%E8%82%B2%E8%A8%93%E7%B7%B4/</link>
    <image><url>https://deanlin.net/images/author_hu_aa256fc934e9a932.jpg</url><title>教育訓練｜林鼎淵 Dean Lin</title><link>https://deanlin.net/tags/%E6%95%99%E8%82%B2%E8%A8%93%E7%B7%B4/</link><width>144</width><height>144</height></image>
    <description>林鼎淵（Dean Lin）的部落格：生成式 AI 企業內訓講師、外商資安公司軟體專家、7 本書作者。400 多篇文章用白話分享生成式 AI 實戰、Claude Code 與 Vibe Coding 教學、團隊合作與職場成長。</description>
    <generator>Hugo</generator>
    <language>zh-tw</language>
    <copyright>© 2020–2026 林鼎淵 Dean Lin</copyright>
    <lastBuildDate>Wed, 13 Oct 2021 08:26:43 +0800</lastBuildDate>
    <atom:link href="https://deanlin.net/tags/%E6%95%99%E8%82%B2%E8%A8%93%E7%B7%B4/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[職場]新工程師報到，如何協助他成為有效戰力</title>
      <link>https://deanlin.net/blog/202110/fullstack-career-notes-day-28/</link>
      <pubDate>Wed, 13 Oct 2021 08:26:43 +0800</pubDate>
      <guid>https://deanlin.net/blog/202110/fullstack-career-notes-day-28/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>職涯成長</category>
      <description>每間公司在新人教育訓練上，願意投資的資源落差很大；有些有完整的制度與流程，讓新人一步步走上軌道；而有些則是放牛吃草，讓他自行摸索。</description>
      <media:content url="https://deanlin.net/blog/202110/fullstack-career-notes-day-28/images/cover_hu_81044f50bfe60b5d.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<blockquote>
<p>我一定要把你帶好，如果我不把你拉上來，那誰把我推上去。</p>
</blockquote>
<p>每間公司在新人教育訓練上，願意投資的資源落差很大；有些有完整的制度與流程，讓新人一步步走上軌道；而有些則是放牛吃草，讓他自行摸索。</p>
<p>筆者這幾年觀察下來，除非新人天賦異稟、經驗豐富，<mark>不然讓他自行摸索其實是跟自生自滅一樣的</mark>。作為公司的前輩，也許我們可以換位思考：「如果今天到了一個新的工作環境，我希望可以得到哪些幫助？」</p>
<h2 id="大綱">大綱<a class="h-anchor" href="#%e5%a4%a7%e7%b6%b1" aria-label="這個段落的連結"></a></h2>
<ol>
<li><strong>新人報到前的準備工作</strong>
<ul>
<li>1.1 申請 VPN 連線</li>
<li>1.2 註冊公司內部協作平台</li>
<li>1.3 設定內部 Server 登入權限</li>
<li>1.4 整理技術相關文件</li>
<li>1.5 整理工作相關文件</li>
</ul>
</li>
<li><strong>新人入職後的協助</strong>
<ul>
<li>2.1 讓新人對公司有好感</li>
<li>2.2 了解新人的能力，用合適的方式做教育訓練</li>
<li>2.3 最終目標是讓新人有獨立作業的能力</li>
</ul>
</li>
</ol>
<hr>
<h2 class="h-nomark" id="1-新人報到前的準備工作">1. 新人報到前的準備工作<a class="h-anchor" href="#1-%e6%96%b0%e4%ba%ba%e5%a0%b1%e5%88%b0%e5%89%8d%e7%9a%84%e6%ba%96%e5%82%99%e5%b7%a5%e4%bd%9c" aria-label="這個段落的連結"></a></h2>
<p>隨著公司的擴張，會有越來越多人加入團隊來分擔你的工作，此時你需要<mark>準備交接文件</mark>，以保證他們會成為團隊中的神隊友；而不是增加你工作份量的豬隊友，這篇文章我會列出自己在交接時準備的東西。</p>
<h3 class="h-nomark" id="11-申請-vpn-連線">1.1 申請 VPN 連線<a class="h-anchor" href="#11-%e7%94%b3%e8%ab%8b-vpn-%e9%80%a3%e7%b7%9a" aria-label="這個段落的連結"></a></h3>
<p>因為疫情關係，越來越多公司的 IT 部門採取遠端工作，但許多<mark>工作上的資料以及開發環境都在公司內網</mark>。</p>
<p>所以在新人報到前，你要先幫忙申請 VPN 帳號，常見的 VPN 連線方式有 PPTP、L2TP。</p>
<p>這邊筆者要特別提醒一下，因為安全性問題，<mark>Mac 從 Catalina 這個版本開始就不支援 PPTP 的連線</mark>；建議還在使用 PPTP 來做 VPN 連線的公司，可以考慮換一個更安全的連線方式。</p>
<hr>
<h3 class="h-nomark" id="12-註冊公司內部協作平台">1.2 註冊公司內部協作平台<a class="h-anchor" href="#12-%e8%a8%bb%e5%86%8a%e5%85%ac%e5%8f%b8%e5%85%a7%e9%83%a8%e5%8d%94%e4%bd%9c%e5%b9%b3%e5%8f%b0" aria-label="這個段落的連結"></a></h3>
<p>如果公司內部有<mark>專案管理系統</mark>（ex：Jira、Zentao、Redmine）或是<mark>軟體開發平台</mark>（ex：GitLab），請先幫新人註冊好帳號，並列成清單讓他們知道不同協作平台的功能。</p>
<hr>
<h3 class="h-nomark" id="13-設定內部-server-登入權限">1.3 設定內部 Server 登入權限<a class="h-anchor" href="#13-%e8%a8%ad%e5%ae%9a%e5%85%a7%e9%83%a8-server-%e7%99%bb%e5%85%a5%e6%ac%8a%e9%99%90" aria-label="這個段落的連結"></a></h3>
<p>通常會根據專案的測試進度部署到不同環境：</p>
<ul>
<li><strong>DEV 開發環境</strong><br>工程師內部開發與測試使用，功能穩定性不高，但版本都是最新。</li>
<li><strong>QA 測試環境</strong><br>工程師開發完成，並通過自己 Unit Test 的驗證後，會交給公司的測試團隊在這個環境做各式各樣的測試。</li>
<li><strong>PROD 正式環境</strong><br>測試部門確認功能穩定且通過壓力測試後，就能部署到正式環境。</li>
</ul>
<p>這三個情境會對應到不同的 Server，筆者建議一開始只給新人登入 DEV Server 的權限，等到熟悉環境後再慢慢把 QA、PROD 的操作權限給他；<mark>避免新人在不熟悉環境的狀態下操作，導致不可挽回的後果</mark>。</p>
<blockquote>
<p><strong>備註 1</strong>：建議<code>設定 alias name</code> 來登入 Server，用 ip 登入只要一時眼花手滑就可能導致悲劇。</p>
</blockquote>
<blockquote>
<p><strong>備註 2</strong>：如果公司有<code>導入 CI/CD來做部署，或是由專人負責部署作業</code>，就能大幅降低錯誤操作的可能性（通常 QA、PROD 除了環境變數外，其他設定都是一樣的，以此保證部署的穩定性）。</p>
</blockquote>
<hr>
<h3 class="h-nomark" id="14-整理技術相關文件">1.4 整理技術相關文件<a class="h-anchor" href="#14-%e6%95%b4%e7%90%86%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c%e6%96%87%e4%bb%b6" aria-label="這個段落的連結"></a></h3>
<ul>
<li>
<p><strong>Coding Style（程式碼風格）</strong><br>一樣米養百樣人，工程師來自五湖四海自然風格迥異，公司可以使用 ESLint 這類工具來約束風格，但程式碼的效能、長度、分類…很多事情還是需要有前輩跟新人說明。</p>
</li>
<li>
<p><strong>Deploy 的方式</strong><br>如果團隊有導入 CI/CD，你就要跟對方解釋清楚<mark>哪些 branch 在 merge 時會自動 Deploy 到對應的 Server</mark>。</p>
<blockquote>
<p><strong>警告</strong>：如果有設計這種依照 branch 更新做自動部署的功能，建議<mark>將新人的權限設定為 Developer</mark>；避免他推送更新到受保護的 branch。</p>
</blockquote>
</li>
<li>
<p><strong>專案文件</strong><br>大概可以分成：<mark>專案架構文件、API 功能說明文件、過去開發的需求規格</mark>這 3 種；基本上這些文件是為了讓對方快速了解專案的結構，而不是讓他了解每一行程式碼的意義。</p>
</li>
<li>
<p><strong>會用到的相關技能</strong><br>假設公司今天來了一個後端工程師，他過去的工作經驗是用 PHP 開發，但現在公司的專案是用 Node.js 開發；<mark>儘管都是後端工程師，但兩者的技能樹存在一定的差距</mark>。<br>如果知道新人有這種狀況，除了「相關技能」外，我還會準備「基礎知識」的學習連結，讓他可以快速上手，舉例來說：</p>
<ul>
<li><strong>基礎知識</strong>
<ul>
<li>
<p>Node.js 的 iT 邦幫忙鐵人賽系列文。</p>
<blockquote>
<p>由有經驗的人來挑選學習素材，較能分辨誰寫的文章更適合新手入門。</p>
</blockquote>
</li>
</ul>
</li>
<li><strong>相關技能</strong>
<ul>
<li>如何用 POSTMAN 測試 API、切換執行環境、建立 Mock Server，<a href="https://deanlin.net/blog/202109/fullstack-career-notes-day-15/">連結</a>。</li>
<li>API 文件的撰寫格式，以及產生的方式。</li>
<li>團隊 Git Flow 規則。</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>Debug 的基礎知識</strong><br>筆者發現有些新人缺乏 Debug 的基礎能力，講解了好幾次他還是跑來問你類似的問題；我相信這個問題不只發生在筆者身上，所以建議大家可以寫了一份文件<mark>說明 Debug 的基礎知識</mark>，內容包含：</p>
<ul>
<li>如何印出錯誤訊息。</li>
<li>設計程式斷點，縮小錯誤範圍。</li>
<li>理解錯誤訊息。</li>
<li>判斷是因為程式邏輯造成的錯誤，還是運行環境導致的問題。</li>
<li>解決問題的方向，可以參考的資源。</li>
</ul>
</li>
</ul>
<hr>
<h2 class="h-nomark" id="15-整理工作相關文件">1.5 整理工作相關文件<a class="h-anchor" href="#15-%e6%95%b4%e7%90%86%e5%b7%a5%e4%bd%9c%e7%9b%b8%e9%97%9c%e6%96%87%e4%bb%b6" aria-label="這個段落的連結"></a></h2>
<ul>
<li><strong>列出例行公事清單</strong><br>列出團隊、部門、公司的<mark>例會時間點</mark>，並簡述參與人員、討論內容；讓新人日後參與會議時能搞清楚狀況。<br>如果有要繳交週報、月報，會說明<mark>繳交的時間點</mark>並提供撰寫格式。</li>
<li><strong>列出待辦事項</strong><br>新人會協助或接替你的工作，因此你可以先將手中待完成的任務做一個難易度排序，<mark>先將簡單的任務交給新人，觀察他的完成度及適應性</mark>。</li>
<li><strong>提點行政庶務</strong><br>新人剛入職時誰都不認識，印表機不知道怎麼操作、專案管理系統不會用、電腦不會設定開發環境；你可以撰寫「秘笈」讓他了解<mark>遇到問題時可以向哪個窗口提問</mark>。</li>
<li><strong>了解團隊中每個人的職權</strong><br>以一個雲端開發團隊來說，你需要讓新人知道遇到前端、後端、資料庫、伺服器&hellip;的問題時要找誰，<mark>讓他了解團隊每個人的職權</mark>，才能讓新人更快的融入團隊。</li>
<li><strong>保密協議</strong><br>如果公司開發的專案有其機密性，記得提醒新進人員不可洩露專案內容。</li>
</ul>
<hr>
<h2 class="h-nomark" id="2-新人入職後的協助">2. 新人入職後的協助<a class="h-anchor" href="#2-%e6%96%b0%e4%ba%ba%e5%85%a5%e8%81%b7%e5%be%8c%e7%9a%84%e5%8d%94%e5%8a%a9" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>如果沒辦法讓新人成為戰力，那當初根本沒有招募的必要。</p>
</blockquote>
<p>很多人會以<mark>手上工作太多為藉口，不幫忙帶新人以及做教育訓練</mark>，但新人來公司就是為了分擔你過多的工作，<mark>如果不教他怎麼做事，你不是活該自己做到死？</mark></p>
<h3 class="h-nomark" id="21-讓新人對公司有好感">2.1 讓新人對公司有好感<a class="h-anchor" href="#21-%e8%ae%93%e6%96%b0%e4%ba%ba%e5%b0%8d%e5%85%ac%e5%8f%b8%e6%9c%89%e5%a5%bd%e6%84%9f" aria-label="這個段落的連結"></a></h3>
<ul>
<li>
<p><strong>不要讓新人一入職，就感受到沈重的壓力</strong><br>有些公司會準備好一系列的新人教育課程，期待他可以快速上工；但如果這些<mark>課程排得太過密集、要記住的事項太多，坐在台下的新人可能聽到一半就魂遊太虛了</mark>，不要期待新人可以在短短的一天、一週就學會所有事情。</p>
</li>
<li>
<p><strong>與新人建立連結，帶他熟悉周圍還境</strong><br>最輕鬆簡單的方式就是<mark>中午帶新人一起吃飯</mark>，在前往餐廳的路上，可以<mark>向新人介紹周圍的環境</mark>，像是餐廳、停車場、大眾交通工具等。<br>到了餐廳坐下來後，大家可以在較為輕鬆的環境下<mark>再次自我介紹</mark>，可以多聊聊興趣、休閒活動，如果有共同興趣愛好可以更快建立連結。</p>
<blockquote>
<p><strong>備註</strong>：有些人會自己帶便當，或是有午休的習慣；千萬不要把帶新人吃午餐當成 SOP，請先詢問對方的意願，搞不好新人更想自己一個人靜靜的午休，一起吃飯反而給他帶來更大的壓力。</p>
</blockquote>
</li>
<li>
<p><strong>安排資深員工協助新人</strong><br>無論有在完善的教育訓練、交接文件；新人總是會遇到一些「基礎、非專業」的問題，比如：「看不懂群組的特殊用詞、不知道適合向主管匯報的時間、不清楚辦公室的特殊禮節&hellip;」<mark>與其讓新人與公司的文化碰撞，不如安排一個資深員工在初期帶領他</mark>。</p>
</li>
</ul>
<hr>
<h3 class="h-nomark" id="22-了解新人的能力用合適的方式做教育訓練">2.2 了解新人的能力，用合適的方式做教育訓練<a class="h-anchor" href="#22-%e4%ba%86%e8%a7%a3%e6%96%b0%e4%ba%ba%e7%9a%84%e8%83%bd%e5%8a%9b%e7%94%a8%e5%90%88%e9%81%a9%e7%9a%84%e6%96%b9%e5%bc%8f%e5%81%9a%e6%95%99%e8%82%b2%e8%a8%93%e7%b7%b4" aria-label="這個段落的連結"></a></h3>
<p>請依據每個新人的狀況去調整教育訓練的內容，就像應屆畢業生跟有 5 年經驗的工程師；就算同為新人，但你肯定<mark>對這兩個人的能力期待有所不同</mark>，下面是筆者公司過去安排教育訓練的步驟：</p>
<ul>
<li><strong>應屆畢業生</strong>
<ul>
<li><strong>SETP 1：熟悉工作會用到的技術</strong><br>應屆畢業生的技術通常跟工作會用到的技術有一定的差距，因此在入職後的 1~2 個禮拜，我會先讓他熟悉工作會用到的技術。</li>
<li><strong>SETP 2：能使用工作的技術做出簡單的 Side Project</strong><br>在掌握基礎技術後，我會請他們花 2 週的時間寫一個 Side Project，主題不限。<br>主要是藉由這個機會了解他們<mark>程式的撰寫風格，對技術理解的深度</mark>，這樣比較方便評估日後要安排的工作。</li>
<li><strong>SETP 3：實作 Senior 工程師分配的小 Feature</strong><br>大約入職一個月後，才會請 Senior 工程師分配小 Feature 給新人，讓他們真正參與開發。</li>
</ul>
</li>
<li><strong>5 年工作經驗的工程師</strong>
<ul>
<li><strong>SETP 1：有專人一對一帶他了解專案架構</strong><br>我們期待有經驗的工程師可以快速上手成為團隊即戰力，所以會帶他了解整個專案的架構；並期許他可以在 2 週的時間內<mark>對專案有基礎的認知，到達可以開發的地步</mark>。（熟悉的時間會依照專案大小而有所不同）</li>
<li><strong>SETP 2：指派一些簡單的 Feature 觀察實作能力</strong><br>在對專案有基礎的掌握後，就會開始指派一些<mark>不影響系統主功能</mark>的簡單 Feature （ex：開發新功能、維護舊程式）。<br>以此觀察新人對<mark>開發時程的掌控度、程式碼的自我要求、團隊的溝通能力</mark>，確認他的能力是否符合職位要求。</li>
</ul>
</li>
</ul>
<hr>
<h3 class="h-nomark" id="23-最終目標是讓新人有獨立作業的能力">2.3 最終目標是讓新人有獨立作業的能力<a class="h-anchor" href="#23-%e6%9c%80%e7%b5%82%e7%9b%ae%e6%a8%99%e6%98%af%e8%ae%93%e6%96%b0%e4%ba%ba%e6%9c%89%e7%8d%a8%e7%ab%8b%e4%bd%9c%e6%a5%ad%e7%9a%84%e8%83%bd%e5%8a%9b" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>用 Code Review 讓新人的程式能力提升</strong><br>在新人完成 Feature 發出 merge request 後，由團隊的資深工程師做 Code Review，告訴新人哪裡可以再做改善；這個步驟的好處有：
<ul>
<li>新人日後寫程式時會特別注意這些問題。</li>
<li>維護專案程式碼的水平。</li>
</ul>
</li>
<li><strong>透過 Scrum 機制讓新人融入團隊</strong><br>儘管新人主要是做被指派的任務，但透過 Scrum 的機制他可以：
<ul>
<li>更清楚專案全貌，知道自己負責的 Feature 能幫上什麼忙。</li>
<li>了解同事各自負責的領域、實作進度。</li>
<li>透過報告工作進度，讓其他同事對自己的能力有更清晰的認知。</li>
</ul>
</li>
<li><strong>讓新人能自己解決問題，不要養成依賴的習慣</strong><br>在前期，有人協助新人可以讓他更快的適應環境；但這個幫助是有限度的，<mark>過度的幫助只會讓人養成依賴的壞習慣</mark>。<br>如果遇到問題找前輩就能解決，那長期下來他就會<mark>放棄思考</mark>；因此在新人結束適應期後（大約 2~3 個月），筆者會有意識的讓新人知道：
<ul>
<li>每個人的工作都很忙，遇到問題要先想辦法靠自己解決。</li>
<li>在我有空的時候，你還是可以問我問題；但我只會給你解題的方向，不會直接告訴你答案。</li>
</ul>
</li>
</ul>
<hr>
<h3 id="後記">後記<a class="h-anchor" href="#%e5%be%8c%e8%a8%98" aria-label="這個段落的連結"></a></h3>
<p>有些人喜歡在新人面前留一手，在教育訓練時故意漏講一些技術重點，害怕新人成長太快超越自己。</p>
<p>如果在 20 年前，這樣做或許能保留身為前輩的尊嚴；但現在時代不同了，即便你不教，網路上也有一堆免費資源供他學習；所以筆者建議不如做個順水人情，在教育訓練時盡心盡力，我相信新人也會對你更加尊敬。</p>
<p><mark>幫企業培養人才，幫自己培養人脈</mark>；筆者認為這才是職場的正向循環。</p>
<p>感謝大家的閱讀，如果喜歡我的文章可以<code>訂閱</code>接收通知；如果有幫助到你，按<code>Like</code>可以讓我更有寫文的動力，我們明天見～</p>
<h3 id="參考資源">參考資源<a class="h-anchor" href="#%e5%8f%83%e8%80%83%e8%b3%87%e6%ba%90" aria-label="這個段落的連結"></a></h3>
<ol>
<li><a href="https://medium.com/dean-lin/9624a718d3aa">新工程師報到，我該準備哪些東西來加快交接進度呢？(筆者部落格)</a></li>
</ol>
<hr>
<hr>
<blockquote>
<p><img src="https://deanlin.net/blog/202110/fullstack-career-notes-day-28/images/fullstack-career-notes-day-28-01.webp" width="1024" height="233" alt="參考資源（圖 1）" fetchpriority="high" decoding="async"></p>
<p>在許多人的幫助下，本系列文章已成功出版，除了添加新的篇章，更完善了每個案例的應對進退；如果對現在的職涯感到迷茫，也許這本書能帶給你不一樣的觀點～</p>
<p><strong>天瓏書局：</strong> <a href="https://www.tenlong.com.tw/products/9786263334571">https://www.tenlong.com.tw/products/9786263334571</a></p>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>Redmine 教育訓練 — 依角色權限說明</title>
      <link>https://deanlin.net/blog/202103/redmine-training-by-role/</link>
      <pubDate>Mon, 08 Mar 2021 17:25:42 +0800</pubDate>
      <guid>https://deanlin.net/blog/202103/redmine-training-by-role/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>這篇是 Redmine 系列的最後一篇，把每個角色及操作要注意的細節整合起來，如果想把 Redmine 用來專案管理看這篇就非常夠了，本篇目標是讓專案中的三種角色(管理人員、開發人員、測試人員)了解如何使用這個系統。</description>
      <media:content url="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-og_hu_69bceeaf6c9d3990.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>這篇是 Redmine 系列的最後一篇，把每個角色及操作要注意的細節整合起來，如果想把 Redmine 用來專案管理看這篇就非常夠了，本篇目標是讓專案中的三種角色(<strong>管理人員、開發人員、測試人員)了解如何使用這個系統。</strong></p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-01.webp" width="1400" height="784" alt="image form:LINE Sticker" fetchpriority="high" decoding="async">
  <figcaption>image form:<a href="https://store.line.me/stickershop/author/1/zh-Hant">LINE Sticker</a></figcaption>
</figure>

<pre tabindex="0"><code>管理人員
➤ 依照公司團隊建立根目錄的專案
➤ 在用戶清單中加入團隊成員
➤ 依照團隊默契建立問題樣板(或是直接使用全域問題樣板)
➤ 依據團隊建立大群組，依據職權建立小群組
➤ 建立子專案
➤ 建立新議題
開發人員
➤ 開發人員收到議題
➤ 新增子議題、相關議題
➤ 在看板調整工作進度
➤ 編輯議題
測試人員
➤ 驗證議題功能正確性
➤ 建立發現錯誤的議題並分派給相關群組
</code></pre><h2 id="管理人員">管理人員<a class="h-anchor" href="#%e7%ae%a1%e7%90%86%e4%ba%ba%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>通常都是由 team leader 擔任這個角色，如果公司允許讓管理人員擁有『管理者』的權限會更理想；因為管理團隊用戶/群組這些事情 team leader 會比較清楚，不需要一直麻煩 MIS 人員做處理。</p>
</blockquote>
<h2 id="-依照公司團隊建立根目錄的專案">依照公司團隊建立根目錄的專案<a class="h-anchor" href="#-%e4%be%9d%e7%85%a7%e5%85%ac%e5%8f%b8%e5%9c%98%e9%9a%8a%e5%bb%ba%e7%ab%8b%e6%a0%b9%e7%9b%ae%e9%8c%84%e7%9a%84%e5%b0%88%e6%a1%88" aria-label="這個段落的連結"></a></h2>
<p>每個案子都需要新增一個專案，但如果全都放在專案清單會造成視覺上的錯亂，所以這裡會建議用團隊來區分案子。</p>
<p><strong>STEP 1</strong>：網站管理 &gt; 專案清單 &gt; 建立新專案</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-02.webp" width="1400" height="668" alt="依照公司團隊建立根目錄的專案（圖 2）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong> ：填寫專案基礎資訊 &gt; 建立</p>
<ul>
<li><strong>名稱</strong>：請填寫大家都看得懂的，如果專案有英文縮寫請放在代碼</li>
<li><strong>代碼：這個欄位儲存後無法修改</strong>，請謹慎填寫</li>
<li><strong>公開</strong>：除非是全公司都能看到的專案，不然<strong>請勿打勾</strong></li>
<li><strong>模組</strong>：建議全選</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-03.webp" width="1400" height="911" alt="依照公司團隊建立根目錄的專案（圖 3）" loading="lazy" decoding="async"></p>
<h2 id="-在用戶清單中加入團隊成員">在用戶清單中加入團隊成員<a class="h-anchor" href="#-%e5%9c%a8%e7%94%a8%e6%88%b6%e6%b8%85%e5%96%ae%e4%b8%ad%e5%8a%a0%e5%85%a5%e5%9c%98%e9%9a%8a%e6%88%90%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<p>需要用『管理者』的身份才能建立新用戶</p>
<p><strong>STEP 1</strong>：網站管理 &gt; 用戶清單 &gt; 建立新用戶</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-04.webp" width="1400" height="668" alt="在用戶清單中加入團隊成員（圖 4）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫用戶基礎資訊 &gt; 建立</p>
<ul>
<li><strong>管理者</strong>：跟『管理人員』的角色意義是不同的，有管理者權限的才能使用『網站管理』</li>
<li><strong>產生密碼 &amp; 必須在下次登入時變更密碼</strong>：建議都打勾避嫌</li>
<li><strong>寄送帳戶資訊電子郵件給用戶</strong>：不寄信給對方他也不知道你幫他建好帳號了</li>
<li><strong>電子郵件提醒選項</strong>：依照範例的選擇會收到最完整的 Email</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-05.webp" width="1090" height="851" alt="在用戶清單中加入團隊成員（圖 5）" loading="lazy" decoding="async"></p>
<h2 id="-依照團隊默契建立問題樣板">依照團隊默契建立問題樣板<a class="h-anchor" href="#-%e4%be%9d%e7%85%a7%e5%9c%98%e9%9a%8a%e9%bb%98%e5%a5%91%e5%bb%ba%e7%ab%8b%e5%95%8f%e9%a1%8c%e6%a8%a3%e6%9d%bf" aria-label="這個段落的連結"></a></h2>
<p>為了保證議題的格式有相同的 Style ，所以建議團隊要建立問題的樣板，以確保每個議題的內容都有精準描述減少來回溝通的成本。</p>
<p><strong>STEP 1</strong>：在專案清單選擇專案 &gt; 問題樣板 &gt; 新增樣板</p>
<ul>
<li><strong>問題樣板</strong>：<em>專門為這個專案</em>設計的問題樣板</li>
<li><strong>全域問題樣板</strong>：<em>所有專案</em>都能夠使用的問題樣板</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-06.webp" width="1400" height="886" alt="依照團隊默契建立問題樣板（圖 6）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫問題樣板內容 &gt; 建立</p>
<ul>
<li><strong>追蹤標籤</strong>：這個樣板是給哪個追蹤標籤使用的</li>
<li><strong>預設值</strong>：建議打勾，最後真正的預設值還是看排序，另外子專案設計的問題樣板會蓋過全域問題樣板</li>
<li><strong>啟用</strong>：打勾後才能讓使用者選用</li>
<li><strong>在專案樹狀結構中分享</strong>：建議打勾，因為模板通常都會共享</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-07.webp" width="1400" height="917" alt="依照團隊默契建立問題樣板（圖 7）" loading="lazy" decoding="async"></p>
<h2 id="-依據團隊建立大群組依據職權建立小群組">依據團隊建立大群組，依據職權建立小群組<a class="h-anchor" href="#-%e4%be%9d%e6%93%9a%e5%9c%98%e9%9a%8a%e5%bb%ba%e7%ab%8b%e5%a4%a7%e7%be%a4%e7%b5%84%e4%be%9d%e6%93%9a%e8%81%b7%e6%ac%8a%e5%bb%ba%e7%ab%8b%e5%b0%8f%e7%be%a4%e7%b5%84" aria-label="這個段落的連結"></a></h2>
<p>每個專案都有獨立的成員列表，並賦予成員不同的角色；建議群組由大到小會分成三個層次：</p>
<ul>
<li><strong>全公司</strong>：有些專案或是資訊是要給全公司的人都知道的</li>
<li><strong>部門團隊</strong>：比如網頁負責的是一個 Team，android app、windows app 是另外一個 Team</li>
<li><strong>功能團隊</strong>：網頁團隊下會有不同的小組，有些負責 UI/UX 設計、有些負責後端 api 撰寫；這的層次是依造職權的分類</li>
</ul>
<p><strong>STEP 1</strong>：網站管理 &gt; 群組清單 &gt; 建立新群組</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-08.webp" width="1400" height="575" alt="依據團隊建立大群組，依據職權建立小群組（圖 8）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫群組名稱 &gt; 建立</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-09.webp" width="1092" height="288" alt="依據團隊建立大群組，依據職權建立小群組（圖 9）" loading="lazy" decoding="async"></p>
<p><strong>STEP 3</strong>：選擇剛剛建立的群組 &gt; 用戶清單 &gt; 建立新用戶 &gt; 選擇要加入的用戶 &gt; 新增</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-10.webp" width="1092" height="750" alt="依據團隊建立大群組，依據職權建立小群組（圖 10）" loading="lazy" decoding="async"></p>
<p><strong>STEP 4</strong>：專案清單 &gt; 加入專案 &gt; 選擇欲加入的專案 &amp; 加入的角色 &gt; 新增</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-11.webp" width="1092" height="785" alt="依據團隊建立大群組，依據職權建立小群組（圖 11）" loading="lazy" decoding="async"></p>
<h2 id="-建立子專案">建立子專案<a class="h-anchor" href="#-%e5%bb%ba%e7%ab%8b%e5%ad%90%e5%b0%88%e6%a1%88" aria-label="這個段落的連結"></a></h2>
<p>子專案才是真正的放專案資訊的地方</p>
<ul>
<li><strong>代碼</strong>：因為是子專案，建議代碼也要有關聯性方便識別</li>
<li><strong>父專案</strong>：記得選擇</li>
<li><strong>繼承父專案成員</strong>：建議打勾，通常成員的角色都是固定的，不太可能今天是『開發人員』明天就轉職成『測試人員』</li>
</ul>
<p><strong>STEP 1</strong>：網站管理 &gt; 專案清單 &gt; 建立新專案 &gt; 填寫專案基礎資訊 &gt; 建立</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-12.webp" width="1400" height="906" alt="建立子專案（圖 12）" loading="lazy" decoding="async"></p>
<h3 class="h-nomark" id="專案重要設定說明">🌟專案重要設定說明🌟<a class="h-anchor" href="#%e5%b0%88%e6%a1%88%e9%87%8d%e8%a6%81%e8%a8%ad%e5%ae%9a%e8%aa%aa%e6%98%8e" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>成員</strong>：除了繼承父專案成員外，你還可以在這裡做角色權限調整，<strong>一個用戶可以有多重角色</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-13.webp" width="1400" height="578" alt="🌟專案重要設定說明🌟（圖 13）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>版本</strong>：專案一定會有版本的更迭，每項議題如果都有對應的版本在<strong>管理及追蹤上可以容易釐清責任</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-14.webp" width="1400" height="353" alt="🌟專案重要設定說明🌟（圖 14）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>議題分類清單</strong>：新人剛加入團隊時可能對成員的職權並不是很了解，如果在這裡建立分類的防可以<strong>快速幫助不熟悉團隊的人了解每個人的職權分配</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-15.webp" width="1400" height="418" alt="🌟專案重要設定說明🌟（圖 15）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>issue columns</strong>：設定議題的<strong>子議題要呈現哪些欄位</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-16.webp" width="780" height="494" alt="🌟專案重要設定說明🌟（圖 16）" loading="lazy" decoding="async"></p>
<h2 id="-建立新議題">建立新議題<a class="h-anchor" href="#-%e5%bb%ba%e7%ab%8b%e6%96%b0%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<p>專案基礎配置完成後開始分配每個成員的任務，這裡先從 UI/UX 的設計圖開始</p>
<p><strong>STEP 1</strong>：議題清單 &gt; 建立新議題</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-17.webp" width="1400" height="562" alt="建立新議題（圖 17）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫議題內容 &gt; 建立</p>
<ul>
<li><strong>追蹤標籤＆問題樣板</strong>：問題樣板會跟著追蹤標籤顯示；用戶依照樣板填寫的資料填入必須資訊即可</li>
<li><strong>概述</strong>：圖片可以用複製貼上，但上面只會顯示『!xxx.png!』，需要去<strong>『預覽』</strong>才能看到實際的結果</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-18.webp" width="1362" height="519" alt="建立新議題（圖 18）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>提及(memtion)</strong>：在撰寫議題概述的時候很長會提到其他同事(ex:這項決議是哪位長官決定、這塊功能會由誰負責…)，可以用 <code>@</code> 來操作喔</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-19.webp" width="794" height="407" alt="建立新議題（圖 19）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>被分派者＆分類</strong>：調整分類就會自動填入被分派者，能幫助不熟悉用戶職權的人輕鬆的做議題分配</li>
</ul>
<div class="gallery-row cols-2">

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-20.webp" width="668" height="211" alt="建立新議題（圖 20）" fetchpriority="high" decoding="async">
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-21.webp" width="668" height="211" alt="建立新議題（圖 21）" loading="lazy" decoding="async">
</figure>


</div>

<ul>
<li><strong>Checklist</strong>：作為議題的輔助，讓你紀錄要完成的細項</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-22.webp" width="532" height="107" alt="建立新議題（圖 22）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>監看者(watcher)</strong>：與任務相關的同事，<em>通常會將直屬長官設為監看者</em></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-23.webp" width="615" height="137" alt="建立新議題（圖 23）" loading="lazy" decoding="async"></p>
<hr>
<h2 id="開發人員">開發人員<a class="h-anchor" href="#%e9%96%8b%e7%99%bc%e4%ba%ba%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>開發人員的涵蓋範圍很廣，包含前端、後端、硬體工程師…UI/UX 設計師等，通常會在收到管理人員分配的議題後開始作業</p>
</blockquote>
<h2 id="-開發人員收到議題">開發人員收到議題<a class="h-anchor" href="#-%e9%96%8b%e7%99%bc%e4%ba%ba%e5%93%a1%e6%94%b6%e5%88%b0%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<p>原則上只要用戶<strong>被分配議題、mention提及、設定為監看者</strong>，就會收到類似的 email 通知如下：</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-24.webp" width="1214" height="670" alt="開發人員收到議題（圖 24）" loading="lazy" decoding="async"></p>
<h2 id="-新增子議題相關議題">新增子議題、相關議題<a class="h-anchor" href="#-%e6%96%b0%e5%a2%9e%e5%ad%90%e8%ad%b0%e9%a1%8c%e7%9b%b8%e9%97%9c%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<p>在信箱點擊連結會直接前往該議題，但收到的信件一多還是要依照以下步驟找出自己要負責的項目</p>
<p><strong>STEP 1</strong>：專案清單 &gt; 選擇專案 &gt; 議題追蹤</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-25.webp" width="1400" height="814" alt="新增子議題、相關議題（圖 25）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：在篩選條件中使用追蹤標籤找到由自己負責的議題</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-26.webp" width="1400" height="545" alt="新增子議題、相關議題（圖 26）" loading="lazy" decoding="async"></p>
<p><strong>STEP 3</strong>：新增子任務</p>
<p>閱讀完議題的需求後再依據自己實際的工作項目去細分子議題，操作方式非常直覺就不再多做介紹</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-27.webp" width="1400" height="814" alt="新增子議題、相關議題（圖 27）" loading="lazy" decoding="async"></p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-28.webp" width="1400" height="814" alt="之前管理人員設定的 issue columns 就這在這裡顯示的" loading="lazy" decoding="async">
  <figcaption>之前管理人員設定的 <strong>issue columns </strong>就這在這裡顯示的</figcaption>
</figure>

<h2 id="-在看板調整工作進度">在看板調整工作進度<a class="h-anchor" href="#-%e5%9c%a8%e7%9c%8b%e6%9d%bf%e8%aa%bf%e6%95%b4%e5%b7%a5%e4%bd%9c%e9%80%b2%e5%ba%a6" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>請注意這裡只能調整議題的『狀態』、『進度』，並不會紀錄工作時間</p>
</blockquote>
<p>一個一個議題點進去更新真的很慢，所以我們可以在『看板』用拖拉議題的方式改變他的『狀態』，且能於此『更新進度』的百分比</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-29.webp" width="1307" height="897" alt="在看板調整工作進度（圖 29）" loading="lazy" decoding="async"></p>
<h2 id="-編輯議題">編輯議題<a class="h-anchor" href="#-%e7%b7%a8%e8%bc%af%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p><em>被分配到議題時要記得編輯啊！不然主管以為你沒做事😞</em></p>
</blockquote>
<ul>
<li><strong>狀態</strong>：可調整為『實作中』、『已解決』</li>
<li><strong>預估工時＆完成百分比</strong>：會有報表產出，所以請認真填寫</li>
<li><strong>紀錄時間</strong>：為了好看的工作報表就好好填寫吧</li>
<li><strong>筆記</strong>：因為『概述』完成後就不能修改，我們要用『筆記』做後續議題的討論和紀錄</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-30.webp" width="912" height="969" alt="編輯議題（圖 30）" loading="lazy" decoding="async"></p>
<hr>
<h2 id="測試人員">測試人員<a class="h-anchor" href="#%e6%b8%ac%e8%a9%a6%e4%ba%ba%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>測試人員是系統的守護者，通常會接收到由『開發人員』、『管理人員』分配的測試任務，如果在測試過程中遇到了其他的錯誤可以自行在新增議題做分配</p>
</blockquote>
<h2 id="-驗證議題功能正確性">驗證議題功能正確性<a class="h-anchor" href="#-%e9%a9%97%e8%ad%89%e8%ad%b0%e9%a1%8c%e5%8a%9f%e8%83%bd%e6%ad%a3%e7%a2%ba%e6%80%a7" aria-label="這個段落的連結"></a></h2>
<p><strong>STEP 1</strong>：先找出清單中自己被指派的任務</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-31.webp" width="1400" height="704" alt="驗證議題功能正確性（圖 31）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：依照議題概述去完成相關測試</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-32.webp" width="1400" height="917" alt="驗證議題功能正確性（圖 32）" loading="lazy" decoding="async"></p>
<p><strong>STEP 3</strong>：依據測試結果給予議題回應</p>
<ul>
<li>測試成功：狀態改為『已結束』</li>
<li>測試失敗：狀態改為『測試不符合預期』，並增加『筆記』做說明</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-33.webp" width="1080" height="971" alt="驗證議題功能正確性（圖 33）" loading="lazy" decoding="async"></p>
<h2 id="-建立發現錯誤的議題並分派給相關群組">建立發現錯誤的議題並分派給相關群組<a class="h-anchor" href="#-%e5%bb%ba%e7%ab%8b%e7%99%bc%e7%8f%be%e9%8c%af%e8%aa%a4%e7%9a%84%e8%ad%b0%e9%a1%8c%e4%b8%a6%e5%88%86%e6%b4%be%e7%b5%a6%e7%9b%b8%e9%97%9c%e7%be%a4%e7%b5%84" aria-label="這個段落的連結"></a></h2>
<p>如果是在測試項目外發現錯誤，就是自己建立新議題，並指派議題給負責的群組，如果不清楚該功能由誰負責請使用『分類』來做自動分派。</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-34.webp" width="1400" height="920" alt="建立發現錯誤的議題並分派給相關群組（圖 34）" loading="lazy" decoding="async"></p>
<hr>
<pre tabindex="0"><code>以下是我整理 Redmine 的相關資源，想更進一步了解的朋友可以參考看看：
👍 Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04
👍 如何用 Redmine 做專案管理＆體驗心得
👍 Redmine Plugins &amp; Themes 介紹：那些我成功擴充的外掛
👍 用 Redmine 做專案管理 — 管理者不可不知的設定
👍 用 Redmine 做專案管理 — 一般用戶不可不知的基礎功能
</code></pre><hr>
<h3 class="h-nomark" id="-讀完這篇文章後">🙂 讀完這篇文章後<a class="h-anchor" href="#-%e8%ae%80%e5%ae%8c%e9%80%99%e7%af%87%e6%96%87%e7%ab%a0%e5%be%8c" aria-label="這個段落的連結"></a></h3>
]]></content:encoded>
    </item>
  </channel>
</rss>
