Loading...

Training Manual

Prepared by: ITA

トレーニングマニュアルとは

このトレーニングマニュアルは、新しい開発者が当社の開発プロセス、ツール、ベストプラクティスに迅速に適応できるよう設計されています。コーディング標準、バージョン管理、アジャイル手法、セキュリティ対策に関する体系的なガイダンスを提供することで、開発の一貫性と効率性を確保し、スムーズなワークフローを実現します。特に、当社の開発環境に特化したベストプラクティスを明確に示すことで、新しい開発者が戸惑うことなく業務に取り組めるよう配慮しています。

このマニュアルに従うことで、開発者は学習曲線を短縮し、スキルの習得を加速させるとともに、生産性の向上が期待できます。また、チームとの円滑な連携が促進されることで、プロジェクト全体の品質向上にも貢献します。さらに、統一された開発手法を採用することで、エラーの削減や保守性の向上が図られ、長期的な視点でのソフトウェア開発の効率化にも寄与します。本マニュアルを活用し、スムーズなオンボーディングと継続的な成長を実現してください。


目的:

      1. より迅速なオンボーディング
        • 新しいチームメンバーが、当社の開発プロセス、ツール、ベストプラクティスを短期間で理解し、スムーズに業務を開始できるよう支援します。効率的なオンボーディングによって、新人の学習時間を短縮し、より早く実務に貢献できる環境を整えます。
      2. 知識の標準化
        • すべての開発者がコーディング標準、バージョン管理、プロジェクト管理手法を統一して理解し、一貫した品質で開発を進められるようにします。個々の開発者の経験やスキルの違いにかかわらず、全員が同じ基準に沿って作業できることで、チーム全体の開発効率が向上します。
      3. コードの品質と保守性の確保
        • クリーンで効率的かつスケーラブルなコードを書くためのベストプラクティスを確立し、コードの可読性や保守性を向上させます。これにより、将来的な機能追加やバグ修正が容易になり、長期的な開発コストの削減にもつながります。
      4. 生産性の向上
        • 開発者がより効率的に作業できるようになることで、プロジェクトの進行がスムーズになり、納期の遅延が削減されます。明確な指針があることで、開発の迷いや手戻りを減らし、チーム全体のアウトプットを最大化できます。
      5. ツールとテクノロジーの理解
        • チームが使用する技術スタック、開発環境、デバッグツールについての詳細な説明を提供し、開発者が適切なツールを効果的に活用できるようにします。これにより、作業効率が向上し、より高度な開発にも迅速に対応できるようになります。
      6. 上級開発者への依存度の低減
        • 明確なドキュメントと標準化されたプロセスを用意することで、新人が上級開発者に頻繁に依存する必要がなくなります。これにより、上級開発者はより複雑な課題や設計業務に集中でき、チーム全体の開発力を高めることができます。
      7. チームコラボレーションの強化
        • チームワーク、円滑なコミュニケーション、適切なドキュメント作成の実践に関するガイドラインを提供し、協力しやすい開発環境を構築します。情報共有の円滑化により、チームの一体感が増し、プロジェクトの成功率が向上します。
      8. 離職率の低下
        • 十分な準備とサポートを受けた開発者は、自信を持って業務に取り組むことができ、仕事への満足度が向上します。これにより、フラストレーションが軽減され、離職率の低下につながります。組織全体の安定性を維持し、継続的な成長を促進します。
      9. プロジェクト成果の向上
        • 開発プロセスの効率化とコード品質の向上により、より高品質なソフトウェア製品を生み出すことができます。結果として、顧客満足度が向上し、ビジネス全体の成功にも貢献します。

期待される結果(個々の開発者のメリット):

      1. スムーズなオンボーディング
        • 新入社員が自分の役割と責任を素早く理解し、会社の開発ワークフローやベストプラクティスに迅速に適応できるよう支援します。明確な指針により、業務開始までの時間を短縮し、スムーズな立ち上がりを実現します。
      2. 効率的な開発環境の構築
        • 開発環境のセットアップ手順を明確にし、必要なツールを適切に導入・活用することで、生産性を最大限に引き出します。初心者でも迷うことなく、開発業務に専念できる環境を提供します。
      3. 学習曲線の短縮
        • 構造化されたガイドラインを通じて、開発者がテクノロジースタックやワークフローに素早く適応できるようサポートします。無駄な試行錯誤を減らし、効率的なスキル習得を促進します。
      4. スキル開発の強化
        • 業界標準やベストプラクティスに基づいた指導を通じて、技術的な専門知識を深めます。クリーンで保守性の高いコードの書き方を習得し、適切なドキュメント化の重要性を理解することで、長期的に価値のある開発スキルを身につけられます。
      5. キャリア成長の促進
        • 効率的なコーディング手法、バージョン管理、チームワークのスキルを実践的に学ぶことで、開発者としての市場価値を高め、長期的なキャリアの発展を後押しします。
      6. 技術的問題への対応力向上
        • 一般的な技術的問題に対するトラブルシューティングやデバッグ手法を学び、最小限のサポートで問題を解決できる能力を養います。これにより、自律的に課題を克服できる開発者へと成長できます。
      7. 自信の向上
        • ツールやプロセスに関する明確なガイダンスを提供することで、開発者のミスを減らし、安心して作業できる環境を作ります。確かな知識と経験を積み重ねることで、プロジェクトへの積極的な貢献が可能になります。
      8. ワークライフバランスの向上
        • 効率的な開発タスクの進め方を学ぶことで、無駄な作業やストレスを軽減し、不必要な残業を最小限に抑えます。これにより、仕事と私生活のバランスを取りやすくなります。
      9. 強固なチーム統合の実現
        • 円滑なコミュニケーション手法やコラボレーションツールの活用を学ぶことで、チーム内の連携を強化します。Git などのバージョン管理システムを活用し、効率的に共同作業を行うことで、チーム全体の生産性向上にも貢献します。

Checklist

Technical Skill Training

  1. 導入とオンボーディング
      • 会社のビジョン・ミッション・企業文化の理解
      • 開発チームの構成と主要な役割の説明
      • 進行中のプロジェクトとワークフローの概要紹介
      • 行動規範と職業上の期待(プロ意識・チームワーク・責任感)
      • 企業文化とワークフローの理解度(Q&Aセッションを通じて評価
      • 入門セッションのクイズの完了(基礎知識の定着)/li>
      • チームの議論や活動への積極的な参加
  2. 開発環境のセットアップ
      • 会社支給のPCまたは開発環境の準備
      • 必要なソフトウェア(Skype、Azure Teams、IDEなど)のインストール
      • 開発ツールの設定(Gitのセットアップ、IDEの初期設定
      • プロジェクトリポジトリとドキュメントへのアクセス確認
      • ローカル、ステージング、本番環境の概要と違いを理解
      • 2営業日以内に開発環境のセットアップを完了
      • 1日以内にリポジトリへアクセスし、最初のコミットを成功させる
      • ウォークスルーを通じて環境の理解度を評価
  3. バージョン管理とコラボレーション
      • Git の基本操作(プロジェクトのクローン、ブランチ作成、マージ、プルリクエスト)
      • 構造化されたコミットメッセージとリポジトリガイドラインの遵守
      • コードレビューの手順とベストプラクティスの理解
      • プロジェクト管理ツール(Jira、Azure DevOps など)の活用
      • スプリントごとに正常にマージされたプルリクエストの数
      • コードレビュー承認率(初回レビュー後に承認されたPRの割合)
      • 適切なコミットメッセージの遵守率(95%以上)
  4. コード標準とベストプラクティス
      • 会社が定めるコーディング規則(命名、フォーマット、コメント)の遵守
      • クリーンで保守しやすく、再利用可能なコードの作成
      • エラー処理とデバッグ技術の実装
      • 秘密情報の漏洩を防ぐ安全なコーディング手法の採用
      • コード品質の向上
      • コードレビューで検出されたセキュリティ脆弱性の数
      • 最初のデプロイメント時のバグのないコード率
  5. プロジェクトワークフローとアジャイル手法
      • アジャイル手法の基礎(スプリント、バックログ、タスクボード、振り返り)
      • デイリースクラムへの参加と効果的な発言
      • スプリントボードでのタスクの管理と進捗追跡
      • 要件の収集・評価・時間見積もりの実施
      • 毎日のスタンドアップミーティングへの出席率
      • スプリントごとのタスク完了率
      • 予定されたタスク完了時間と実際の完了時間の整合性
  6. テストと品質保証
      • 各関数の単体テストの作成
      • タスク完了後の開発テストの実施
      • 統合テストおよび回帰テストの実践
      • 自動テストツールの習得と活用
      • ードカバレッジ率の向上
      • テストと本番環境で報告されたバグの数
      • 自動テスト実行の成功率
  7. セキュリティ対策
      • データプライバシーポリシーの遵守
      • 安全な認証と承認の実装(JWT、OAuth など)
      • 安全な API 開発の実践
      • 一般的なセキュリティ脅威(SQL インジェクション、CSRF、XSS)の防止
      • スプリントごとに特定されたセキュリティ脆弱性の数
      • セキュリティ侵害のない認証成功率
      • セキュリティ基準の遵守率
  8. Assessment
      • 小規模なコーディングチャレンジやバグ修正の完了
      • サンプルプロジェクトへの取り組みや既存プロジェクトへの貢献
      • 上級開発者とのグルーミングセッションへの参加
      • Challenge completion success rate
      • Number of code contributions made within the first month
      • Performance evaluation from senior developers
  9. Team Communication & Collaboration
      • Write proper technical documentation
      • Report issues and request help effectively
      • Response time to messages and issue reporting
      • Clarity and completeness of documentation

Soft Skill Training

  1. Communication
      • Participate actively in daily standups
      • Provide daily task updates at the end of the day
      • Keep sprint board updated
      • Practice active listening and requirement understanding
      • Share risks and plans with teammates
      • Daily scrum participation rate
      • Timeliness in updating the sprint board
      • Peer feedback rating on communication skills
  2. Development structure
      • Gather requirements before development
      • Prepare a development plan
      • Identify risks and execute tasks within estimated time
      • Conduct development testing before merging
      • Task completion rate within estimated time
      • Dev testing pass rate before merging
      • Number of escalated issues due to unclear requirements
  3. Task Volume Estimation & Time Management
      • Break down tasks properly before development
      • Estimate time accurately
      • Prioritize tasks effectively
      • Accuracy of initial time estimation vs. actual time taken
      • Percentage of tasks delivered before or on deadline
      • Proper breakdown of tasks into 2H–8H blocks
  4. Sprint Board & WBS (Work Breakdown Structure)
      • Maintain all assigned tasks on the board
      • Write clear task descriptions
      • Update task statuses in real-time
      • Sprint board update accuracy
      • Task description completeness score
  5. Risk Management & Troubleshooting
      • Identify risks before development (technical barriers, resource availability)
      • Prepare mitigation plans for known risks
      • Debug issues effectively and document solutions
      • Number of risks identified and mitigated before they cause blockers
      • Resolution time for high-priority bugs
      • Number of documented solutions for recurring issues
  6. Leadership & Work Balance
      • Take ownership of projects and tasks
      • Maintain a professional and respectful work environment
      • Balance work and personal life
      • Number of leadership initiatives taken (mentoring, knowledge sharing)
      • Peer rating on helpfulness and teamwork
      • Work-life balance rating in self-assessment surveys

Dev Skill Development Materials

Type Skill Keypoints Study Material Tools Q/A
Communication & Coordination Improve team bonding
  1. What are the effective ways of team communication
  2. Daily scrum and it's effect
  3. Discussion sessions for any risk / difficulties without affecting the development time
  4. Possible ways to increase the team members' understanding level
Improve communication with team and PM
  1. Requirements collection from the PM
  2. How to make PM instructions more understandable to the team.
  3. "Hou Ren Sou" during system development
  1. Session
  2. HouRenSou
Software Development Methodology Skill (Agile) To understand and execute Agile Development (Scrum)
  1. Respective roles and execution
  2. How agile methodology works
  3. How to implement agile software development process in real application
Devops Board
Able to lead agile development (Scrum)
  1. What is scrum
  2. How scrum effect in daily development process
  3. Who will be the participants of daily scrum
  4. How often daily a team should do scrum
  1. What is azure devops board
  2. How to create sprint and add members
  3. How to create sprint
  4. How to maintain the development process using azure board
Work Breakdown Structure (WBS) SKill Breaking tasks skill
  1. Definition of deliverables
  2. How to make a proper plan for preparing the sprint backlog
  3. How will dev members make plan and break the issues for development
  4. How to break issues in to tasks at the very beginning of requirements collection and to test a feature
  1. Definition of Deliverables
  2. Plan for Sprint Backlog
  3. Task plan & breakdown issues
  1. WBS
  2. Deliverables
Making user story planning skill
  1. What is user story
  2. How large in volume, can be a user story of a system
  3. Who will be the responsible person to make this plan
  4. How to define milestones for each user story
Effective User Stories and Milestone Setting User Story
Time Management skill Task volume evaluation skill
  1. How to measure a task volume
  2. How large a task can be in the development process
  3. How to measure the time for a task
  4. What will be the unit for measuring the task
  5. How to maintain the development process time by defining the task time
Task Evaluation Skill Task Evaluation Skill
Prioritize task skill and development time management
  1. How to define the priority of the task
  2. How a dev member can understand the development hierarchy
  3. How a dev member can easily utilize the development time
Sprint Sprint Planning Rules
  1. Milestone of each sprint
  2. Deliverable of each sprint
  3. Acceptance criteria and definition of "Done" for each task of a sprint
  4. Evaluation of the capacity of the team
  5. Evaluation of the task development time
  6. Evaluation of Testing time in the sprint
  7. Team capacity and planning
Sprint Planning Rules
Sprint Operational Rules
  1. Frequent monitor of the progress
  2. Daily target achievement
  3. Daily scrum execution
  4. Burndown chart management
  5. Burndown chart management
  6. Daily development progress on each deliverable
  7. Scopes for risks
Sprint Operational Rules
Difficulties & Risks Management Skill Recognition of project based risks
  1. Definition of risks
  2. What can be the risks in software development process
  3. How to analyze the affect of risks
  4. How to manage the risks
  5. How to make scopes for managing the risks in the development process
  1. Risks in Software Development
  2. Risk Analization
  3. Risk Management
Risk Management
Recognization of Hidden Risks in development process
  1. Technology based risks that should be assumed before starting the development process
  2. How to improve trouble shooting skill
  3. How to prioritize the bugs in development process and make scopes for them
  1. Technical Risk
  2. Trouble Shooting
  3. Prioritize Bugs
Technical Risk
Requirement analysis, scope generation and summarization System development process planning skill
  1. Scope Definition
  2. Scope Controlling
  3. Scope Management
Scope Management Scope Management
  1. Project Acceptance Criteria
  2. Project Exclusion
Identifying Project Acceptance Criteria and Project Exclusions Project Acceptance & exclutions

PM (Project Management) Skill Development Materials

Skill Keypoints Study Material Study Report Implementation
Project Initiation Skill
  1. Understanding the significance of this phase
  2. To be clear about Project's Purpose and Business Value
Project Initiation Phase Project Initiation
  1. To kick off a project what formalities should be maintained
  2. Concepts of business model for a project should be consider
  3. Project definition before the project planning
  4. Criterias we need to follow for project planning
  5. Stakeholders
  1. Creating a Project Charter or Business Case
  2. Start by broadly defining the project
  3. Clearly articulate why undertaking the project and what value it will deliver to the organization
Prepare Project Charter
  1. Identifying Key Stakeholders and Pitching the Project
  2. Engage with relevant stakeholders early on
  3. Explain the project’s objectives, benefits, and potential impact
Identify Stakeholders Stakeholders (LMS)
  1. Feasibility Study
  2. Consider factors like technical feasibility, resource availability, and potential risks
Feasibility Study Project Feasibility Study
  1. Feasible technical researches for the LMS project (Figma to HTML code conversion)
  2. Feasible existing system analysis (Research the adguard application and system process)
Project Planning Skill Understanding Project Goals & Objectives
Define the Project Purpose and Goals. Then define the objectives in smaller steps. Start the project scope document by explaining these goals and objectives
  1. Defining Project Goals and Objectives
  2. Understanding project objectives in project management
Requirement Definition (LMS system)
Undestanding Project Requirements
Define the project requirements including the expected quality, risks, benefits, and costs, and get it approved by all stakeholders
Project Requirements Management
Defining the Project Scope
  1. Define all scopes that encompass all the work needed to complete the project.
  2. Use a WBS(work breakdown structure) to visualize tasks, deliverables, and milestones
  3. Project Exclusions
  4. Identify project constraints, such as time or cost limitations
What is project scope?
  1. Sprint scope & WBS (LMS system)
  2. ScAI Board
  3. LMS Board
Project Scoping Skill Actual steps management
  1. Documented project requirements
  2. Develop WBS
  3. Sequence activities
  4. Resource planning
Agile Project Management Schedule Managment & WBS (LMS system)
Tasks in WBS(Work Breakdown Structure) Management
  1. Specific activities that need to be accomplished within a set period
  2. Tasks are assigned to team members based on their roles and skill sets
Learn About WBS
  1. ScAI Board
  2. LMS Board
Milestones Management
  1. Important points in the schedule that indicate progress
  2. Signify completion of deliverables or phase of a project
What is Milestone?
  1. Sprint Review
  2. ScAI Board
  3. LMS Board
Resources Management
  1. Add Team Members
  2. Role clarification
  3. Assign responsibilites
  4. Effective task managment
Resource management in Project Management
Documentation Management
  1. Drafting a project plan that links to relevant documents
  2. RACI chart (Responsibility Assignment Matrix) and a project charter, helps define roles and outlines project details
Project Documentation
  1. Sprint & WBS Report (LMS system)
  2. ScAI Board
  3. LMS Board
Time Management
  1. Estimated duration of the project, including start and end dates for tasks and milestones
Time management strategy in Project
Project Kickoff Meeting Skill Conducting kickoff meetings sets the tone for the project and ensures everyone is on the same page 7 steps of Project Kickoff Meeting
  1. A kickoff meeting was held between the JP and BD team
  2. Several meeting will be held but BD team are waiting for getting all the requirements
  3. After requirement and system analysis, another meeting will be held with the STG team members and BD team members for getting all the requirements more clearly
Pre-work
  1. Share background information in advance
  2. Involve the team and stakeholders actively
Agenda
  1. Create a streamlined agenda with key questions for the team
Meeting Structure
  1. Introduction
  2. Purpose
  3. Action Plan
  4. Success Criteria
Project Timeline Mapping Skill Define the Project Scope and Goals
  1. Clearly outline the project’s purpose, objectives, and deliverables
  2. Understand what needs to be accomplished and the overall project duration
How to create project timeline?
  1. Sprint Review
  2. ScAI Board
  3. LMS Board
Identify Project Deliverables
  1. List down all the tasks and deliverables required to complete the project
  2. Break them down into manageable components
  1. Sprint & WBS Report (LMS system)
  2. ScAI Board
  3. LMS Board
Create a List of Activities
  1. Identify the specific activities or tasks needed to achieve each deliverable
  2. Consider dependencies between tasks (i.e., which tasks must be completed before others)
Estimate Task Durations
  1. Estimate the time needed for each task
  2. Be realistic and consider factors like resources, complexity, and team availability
Determine Milestones
  1. Define significant points in the project, such as completion of major tasks or project phases
Create the Project Timeline
  1. Use tools like Gantt charts, specialized project timeline software, or even Excel1 to map out the tasks and milestones
  2. Arrange tasks chronologically, showing their start and end dates
  3. Visualize the timeline to make it easy for everyone involved to understand
Project Brief Writing Skill A concise document that outlines the essential elements of a project
  1. Project Goals (Clearly state what the project aims to achieve)
  2. Scope (Describe the boundaries of the project)
  3. Deliverables (List the main outputs or results expected from the project)
  4. Milestones (Identify key points in the project timeline)
  5. Timeline (Specify start and end dates or durations)
  6. Stakeholders: Mention key individuals or groups involved
  7. Constraints: Highlight any limitations (budget, resources, etc.)
5 Steps to Writing a Clear Project Brief

Conclusion

十分に訓練された開発者は、自信を持ち、生産性の高いチームメンバーとして活躍できます。彼らは技術的なスキル を磨くだけでなく、円滑なコミュニケーションを図り、タスクを効率的に管理する能力も備えています。本マニュアルは、新し い開発者がこれらのスキルを習得し、成長するための包括的なロードマップとして設計されています。初心者から経験者まで、 すべての開発者が実践できる具体的なガイドラインを提供することで、スムーズな学習プロセスをサポートします。

このガイドラインに従うことで、開発者はチームに対して効果的に貢献し、キャリアを着実に成長させることができ ます。また、単に技術を磨くだけでなく、バランスの取れた協力的な作業環境を維持しながら、高品質なソフトウェアの開発に 取り組むことが可能になります。チーム全体のパフォーマンス向上を目指し、持続的な成功へとつながる実践的な知識を身につ けましょう。