見出し画像

【OSS】OpenProjectで低コストでプロジェクト・課題管理をしよう!

Summary

  • OpenProjectは、多機能で柔軟性の高いオープンソースのプロジェクト管理ツールであり、タスク管理、ガントチャート、アジャイルボードなど、幅広い機能を提供。

  • 200名以下のユーザー数であれば、OpenProjectは月額24ドルという低コストで運用可能であり、他のSaaSと比較して非常にコスト効率が高い。

  • 無料版でも十分な機能を備えており、中小規模から大規模まで様々なプロジェクトに対応できる柔軟性の高いツール。

はじめに

プロジェクト管理の効率化を目指す企業や組織にとって、適切なツールの選択は重要な課題です。本記事では、オープンソースのプロジェクト管理ツール「OpenProject」に焦点を当て、その特徴や導入方法、基本的な使用方法について詳しく解説します。さらに、クラウドプラットフォーム「DigitalOcean」を利用したOpenProjectのデプロイ方法も紹介し、低コストで高機能なプロジェクト管理環境の構築方法を提案します。


1. OpenProjectの概要

OpenProjectは、プロジェクト管理を効率化するためのオープンソースツールです。多機能で柔軟性が高く、様々なプロジェクト管理のニーズに対応できる点が特徴です。

OpenProjectの主な機能には以下のようなものがあります。

  • タスク管理: プロジェクトのタスクを作成、割り当て、追跡することができます。優先順位や期限の設定も可能です。

  • ガントチャート: プロジェクトのスケジュールを視覚的に表現し、タイムラインや依存関係を管理できます。

  • アジャイルボード: スクラムやカンバン方式でのプロジェクト管理をサポートしています。

  • 時間追跡: タスクにかかった時間を記録し、プロジェクトの進捗を把握できます。

  • ドキュメント管理: プロジェクト関連のファイルを一元管理できます。

  • コラボレーション機能: チームメンバー間でのコミュニケーションを促進するフォーラムやWiki機能があります。

OpenProjectは、Webベースのインターフェースを採用しているため、ブラウザさえあればどこからでもアクセスできます。また、オープンソースソフトウェアであるため、コストを抑えつつ高機能なプロジェクト管理ツールを導入できるのも魅力です。

導入方法としては、クラウドサービスとして利用する方法と、自社のサーバーにインストールして利用するオンプレミス方式があります。特に技術的な知識がない場合は、クラウドサービスを利用するのが簡単です。一方、セキュリティやカスタマイズの観点からオンプレミス環境が必要な場合は、Dockerを使用して比較的容易にセットアップすることができます。

OpenProjectの特筆すべき点として、多言語対応があります。日本語インターフェースも利用可能で、グローバルなチームでの利用にも適しています。

ただし、OpenProjectは機能が豊富な分、初めて使う人にとっては少し複雑に感じる可能性があります。そのため、導入時には十分な準備と、チームメンバーへのトレーニングが重要になるでしょう。

総じて、OpenProjectは中小規模から大規模まで、様々なプロジェクトに対応できる柔軟性の高いツールです。プロジェクト管理の効率化を図りたい組織にとって、検討する価値のある選択肢の一つと言えるでしょう。

2. DigitalOceanの概要

DigitalOceanは、開発者や中小企業向けに設計された使いやすいクラウドコンピューティングプラットフォームです。以下にDigitalOceanの主な特徴と、OpenProjectをデプロイする際のコストについてまとめます。

DigitalOceanの主な特徴

  1. シンプルな料金体系: 透明性が高く、予測可能な料金設定を採用しています。月額固定料金や時間単位の課金など、柔軟な選択が可能です。

  2. 豊富なサービス: 仮想マシン(Droplets)、Kubernetes、アプリケーションプラットフォーム、データベース、ストレージなど、幅広いサービスを提供しています。

  3. グローバルなデータセンター: 世界中に複数のデータセンターを展開しており、日本からの利用にはシンガポールのデータセンターが推奨されています。

  4. 開発者フレンドリー: 使いやすいコントロールパネルと豊富なAPIを提供し、開発者の生産性向上をサポートしています。

  5. スケーラビリティ: 小規模なプロジェクトから大規模なアプリケーションまで、ニーズに応じて簡単にスケールアップ・ダウンが可能です。

OpenProjectのデプロイコスト

OpenProjectをDigitalOceanにデプロイする際の最小構成とコストは以下の通りです。

  • Droplet: Basic プラン、2 vCPU、4GB RAM、80GB SSD

  • 月額コスト: $24.0

この構成は、小規模なチームや個人プロジェクトに適しています。上記構成はOpenProjectの最低要件を満たしており、最低要件の構成で運用できるユーザー数は200人以下になります。ただし、プロジェクトの規模や要件に応じて、より高性能なプランを選択することも可能です。

追加コストの考慮事項

  1. ストレージ: プロジェクトのデータ量が増加した場合、追加のブロックストレージが必要になる可能性があります。DigitalOceanでは1GB単位で追加可能で、コストは$0.10/GB/月です。

  2. バックアップ: データの安全性を確保するために、バックアップサービスの利用を検討することをおすすめします。これにより追加コストが発生します。

  3. 帯域幅: Basic プランには月間1TBの転送量が含まれていますが、それを超える場合は追加料金が発生します。

  4. SSL証明書: セキュアな接続のために SSL 証明書が必要な場合、Let's Encrypt を使用すれば無料で取得できます。

OpenProjectをDigitalOceanにデプロイすることで、コスト効率の良い方法でプロジェクト管理ツールを運用することができます。ただし、プロジェクトの成長に伴い、リソースの拡張が必要になる可能性があることを念頭に置いておくことが重要です。

3. DigitalOceanへのOpenProjectのデプロイ方法

1. DigitalOceanアカウントの作成

  • DigitalOceanのウェブサイトでアカウントを作成します。

  • クレジットカード情報を登録し、アカウントを有効化します。

2. Dropletの作成

  • ダッシュボードから「Create Droplet」を選択します。

  • 以下の設定でDropletを作成します:

    • Image: Ubuntu 20.04 LTS

    • Plan: 最低でも4GB RAM / 2 CPU

    • Region: プロジェクトに適した地域を選択

    • Authentication: SSHキーを設定(推奨)

3. SSHキーの作成

  • SSHでログインするために秘密鍵と公開鍵を作成します。作成方法は、以下の記事を参照してください。

4. SSHでDropletに接続

  • ターミナルを開き、以下のコマンドでDropletに接続します。

ssh -i <公開鍵のパス> root@<DropletIPアドレス>

5. システムの更新

apt update
apt upgrade -y

6. OpenProjectのインストール

  • 公式ドキュメントに従って、パッケージベースのインストールを行います。

wget -qO- https://dl.packager.io/srv/opf/openproject/key | sudo apt-key add -
wget -O /etc/apt/sources.list.d/openproject.list https://dl.packager.io/srv/opf/openproject/stable/12/installer/ubuntu/20.04.repo
apt update
apt install openproject
  • "apt install openproject"の途中で"Do you want to continue?"と聞かれるので、"Y"を入力してください。

7. OpenProjectの設定

  • インストール後、以下のコマンドで設定ウィザードを起動します。

openproject configure
  •  ウィザードの質問に答えて、基本設定を行います。

  • 最初はEditionを選択します。OpenProject BIMは、建設業向けのOpenProjectなので、デフォルトのOpenProjectを選択します。

  • 次は、データベースのPostgreSQLのインストール方法の選択です。既にPostgreSQLがインストールされ、それを利用する場合は"reuse"を選択してください。新たにインストールする場合は、"install"を選択してください。

  • Apacheのインストールを行います。通常は"install"を選択します。異なるWebサーバーを利用したい場合は、"skip"を選択してください。

  • ドメイン名を入力してください。カスタムドメインを使用する場合は、ドメインのDNS設定でAレコードを作成し、DropletのIPアドレスを設定してください。

  • OpenProjectのアクセスポイントをルート以外に設定したい場合は、prefixを設定してください。

  • SSLの使用の有無を選択します。後ほど無料のSSL証明書を取得し、SSLの設定を行うので、今回は"No"を選択します。

  • Subversionのインストールの実行を選択します。今回は"skip"を選択します。

  • Gitのインストールの実行を選択します。今回は"skip"を選択します。

  • memcachedのインストールの実行を選択します。memcachedはキャッシュシステムで、OpenProjectのパフォーマンスを向上させるのに役立ちます。特に理由がなければ、インストールしておくと良いでしょう。

  • 実際の管理者のメールアドレスを入力してください。例えば、”admin@yourcompany.com"のように、有効で管理者が確実にアクセスできるメールアドレスを使用してください。

8. Webサーバーの設定

  • OpenProjectはデフォルトでApacheを使用しますが、Nginxを使用する場合は追加の設定が必要です。今回はApacheを使用するので、この設定はスキップします。

9. SSLの設定

Let's Encryptを使用してSSL証明書を取得し、HTTPSを有効にします。

  • cerbotをインストールします。

sudo apt-get install certbot
sudo apt install python3-certbot-apache
  • Let's Encryptで証明書を取得します

sudo certbot certonly --apache

10. ファイアウォールの設定

  • UFWを使用して、必要なポートのみを開放します。

ufw allow 80
ufw allow 443
ufw enable

11. OpenProjectの起動

service openproject restart

12. アクセスとテスト

  •  ブラウザでDropletのIPアドレスまたはドメイン名にアクセスし、OpenProjectが正常に動作することを確認します。

以上の手順でOpenProjectをDigitalOceanにデプロイすることができます。セキュリティ設定やバックアップなど、運用に必要な追加設定も忘れずに行ってください。

4. OpenProjectの各種設定変更

ログインと初期設定

設定したドメイン名、またはDropletのIPアドレスを入力し、OpenProjectを開きます。右上の"Sign in"をクリックし、ユーザー名とパスワードを入力します。初期のユーザー名とパスワードは、両方とも"admin"になります。

ログインすると、パスワード変更を求められるので、お好みのパスワードを入力してください。

パスワード変更後、表示言語の選択を求められます。この時点では、日本語を選択できないので、Englishを選択しておきましょう。

次に、画面説明のツアーを行うかどうかを尋ねられます。画面説明を聞きたい場合は"Next"、スキップしたい場合は"Skip"を選択してください。

表示言語の変更

右上の色のついた丸のアイコンをクリックし、表示されるメニューの中から"Administration"を選択します。

次に"System settings"を選択します。

左のメニューから"Display"を選択します。

"日本語"にチェックを入れます。これで日本語を表示言語として選択できるようになります。

次に、右上の色のついた丸のアイコンをクリックし、表示されたメニューから"My account"をクリックします。

左のメニューから"Settings"をクリックします。

Languageで"日本語"を選択し、"Save"を押下します。

表示が日本語に変わります。しかし、全てのシステム情報が日本語にならず、一部は英語のままです。OpenProjectチームが翻訳のヘルプを求めているので、OpenProjectに貢献したい方は、ぜひお力添えください。

ロールの編集

OpenProjectのロールには以下のような主な用途があります:

  1. アクセス権限の管理: ロールにはさまざまな権限を設定でき、ユーザーに割り当てることでプロジェクトや機能へのアクセスを制御できます。

  2. プロジェクトレベルでの権限付与: プロジェクトロールを使用して、特定のプロジェクト内でのユーザーの権限を定義できます。

  3. グローバルレベルでの権限付与: グローバルロールを使用して、プロジェクトに依存しない全体的な権限を付与できます。

  4. 柔軟な権限設定: 管理者は必要に応じて新しいロールを作成し、細かい権限設定が可能です。

  5. ユーザーグループへの一括適用: グループにロールを割り当てることで、複数のユーザーに一度に権限を付与できます。

  6. 非メンバーや匿名ユーザーの権限管理: 非メンバーロールや匿名ロールを使って、プロジェクトメンバー以外のユーザーのアクセス権を制御できます。

  7. 作業項目タイプごとの権限設定: 特定の作業項目タイプに対する権限をロールで制御できます。

  8. プロジェクト管理の効率化: 適切なロール設定により、チームメンバーの責任と権限を明確にし、プロジェクト管理を効率化できます。

このように、ロールはOpenProjectでのアクセス制御と権限管理の中心的な仕組みとして機能し、柔軟なプロジェクト管理を可能にします。

以下からロールの設定方法について説明します。

右上の色のついた丸のアイコンをクリックし、表示されるメニューの中から"管理"を選択します。

まずは、ロールを編集します。"Users and permissions"を選択します。

"ロールと権限"を選択します。

ロールの一覧が表示されるので、編集したいロールを選択します。ここでは、例として"Member"を選択します。

名称を変更するには、赤枠の箇所を編集します。その他に、ロールの様々な権限設定が可能です。
最後に下にスクロールすると表示される"保存"ボタンを押下することで、名称を変更できます。

ワークパッケージのタイプとステータスの編集

次にワークパッケージのタイプステータスを変更します。ワークパッケージのタイプステータスは、プロジェクトのガントチャートで各アイテムの種類や状態を示すために使用されます。

それでは、ワークパッケージのタイプステータスを変更してみましょう。管理画面に戻り、"ワークパッケージ"を選択します。

左のメニューから"ワークパッケージのタイプ"を選択します。

このページでワークパッケージのタイプの追加や編集が可能です。"新しいプロジェクトでアクティブ"が有効化されているタイプは、新規プロジェクト作成時に自動的に有効化され、使用できるタイプになります。それ以外は、個々のプロジェクトで有効化する必要があります。

ここでは、新たにタイプを追加してみます。右上の"+タイプ"を押下します。

各項目を入力し、"作成"ボタンを押下します。

新たにワークパッケージのタイプが追加されます。
追加したタイプに対して、「このワークパッケージの種類に対してワークフローが定義されていません。」という警告が表示されるので、その警告の"編集"を選択します。

ワークフロー画面が表示されるので、"編集"を選択します。

ステータスの選択画面が表示されます。このタイプがどのステータスを扱えるかを設定します。ここでは全てを選択します。最後に"保存"ボタンを押下することで設定を確定します。

次にステータスを編集します。左のメニューの"ステータス"を選択します。

ステータスの編集画面が表示されます。ここでは、ステータスの新規追加を試みます。右上の"+ステータス"ボタンを押下します。

新規登録画面が表示されます。各項目を設定し、"保存"ボタンを押下します。

新たにステータスが追加されます。

5. OpenProjectの基本的な使用方法

プロジェクトの作成からタスクの追加まで、基本的な使用方法を以下にまとめます。

プロジェクトの作成

左上の"+"ボタンを押下し、表示されたメニューから"+プロジェクト"をクリックする。

プロジェクト設定画面が表示されます。各種項目を設定し、下部の"保存"ボタンを押下します。各項目の意味は以下のとおりです。

  • テンプレートを使用: プロジェクトを作成する際に、既存のテンプレートを利用してプロジェクトの設定を自動的に適用することができます。

  • 名称: 新しいプロジェクトの名前を入力します。この名前はプロジェクトの識別に使用されます。

  • 親プロジェクト名: 新しいプロジェクトが親プロジェクトを持つ場合、その親プロジェクトの名前を指定します。これにより、階層構造を持つプロジェクト管理が可能になります。

  • 説明: プロジェクトの詳細な説明を入力します。プロジェクトの目的や範囲、背景情報などを記述します。

  • 公開: プロジェクトを全ユーザーに公開するかどうかを設定します。このチェックボックスをオンにすると、プロジェクトが全てのユーザーに見えるようになります。

  • ステータス: プロジェクトの現在のステータスを設定します。プロジェクトの進行状況を示すために使用します。

  • 状況の説明: プロジェクトの現在の状況について詳細に説明します。ステータスに関する補足情報や現在の進行状況などを記述します。

新規プロジェクトが作成されます。

メンバーの追加

プロジェクトメンバーの追加を行います。左メニューの"メンバー"を選択します。

右上の"+メンバー"ボタンを押下します。

メンバーの追加画面が表示されます。
"既存のユーザーまたはグループを追加する またはメールで新しいユーザを招待"から追加するメンバーを選択します。
"新しいメンバーに役割を割り当てる"から追加するメンバーのロールを選択します。
最後に"追加"ボタンを押下します。

プロジェクトに選択したメンバーが追加されます。

カテゴリの設定

カテゴリは、プロジェクト内のタスクやワークパッケージを分類するために使用します。これにより、プロジェクトの構造化と整理がしやすくなります。

左のメニューから"プロジェクトの設定”を選択します。

プロジェクトの設定画面に遷移します。左メニューの"ワークパッケージのカテゴリ”を選択します。

右上の"+カテゴリ"ボタンを押下します。

カテゴリの作成画面に遷移します。カテゴリの名称と担当者を設定し、"作成"ボタンを押下します。

カテゴリが追加されます。

バージョンの設定

バージョンは、プロジェクトのマイルストーンやリリース計画を管理するために使用します。これにより、プロジェクトの進行状況を追跡しやすくなります。

カテゴリと同様にプロジェクトの設定画面に入り、左のメニューの"バージョン"を選択します。

バージョンの管理画面に遷移します。右上の"+バージョン"ボタンを押下します。

バージョンの新規作成画面に遷移します。各項目を入力し、"作成"ボタンを押下します。各項目の意味は、以下のとおりです。

  • 名称: バージョンの名前を入力します。この名前はプロジェクト内でバージョンを識別するために使用されます。

  • 説明: バージョンに関する詳細な説明を入力します。バージョンの目的や内容、重要な情報を記述します。

  • ステータス: バージョンの現在の状態を設定します。これにより、バージョンの進行状況を示すことができます。

  • Wikiページ: このバージョンに関連付けられるWikiページを選択します。プロジェクトに関するドキュメントや情報を参照するために使用します。

  • 開始日: このバージョンの作業を開始する日付を設定します。

  • 終了日: このバージョンの作業を終了する予定の日付を設定します。計画的なスケジュール管理に役立ちます。

  • 共有: バージョンを他のプロジェクトと共有するかどうかを設定します。共有することで、複数のプロジェクトで同じバージョン情報を利用できます。

  • バックログの列: バージョンがバックログのどの列に表示されるかを設定します。バックログの視覚的な整理に役立ちます。

バージョンが新規追加されます。

ワークパッケージの作成

プロジェクトにワークパッケージ(フェーズ、マイルストーン、タスクなど)を追加し、ガントチャートを作成します。左のメニューから"ワークパッケージ"を選択します。

ワークパッケージ画面に遷移します。右上の"+作成"を押下すると、ワークパッケージのタイプが表示されます。ここでは、"PHASE"を選択します。

右側にワークパッケージの入力画面が表示されます。各項目を入力し、下部にある"保存"ボタンを押下します。各項目の意味は、以下のとおりです。

  • 名称: このワークパッケージの名称を入力します。

  • 担当者: このワークパッケージを実行する主な責任者を指定します。担当者はタスクの進行を管理し、完了させる責任を持ちます。

  • 責任者: ワークパッケージ全体の監督を行う責任者を指定します。プロジェクトマネージャーや上級管理職などが該当します。

  • 予定工数: このワークパッケージに必要とされる推定作業時間を入力します。通常、時間単位で表されます。

  • 残り時間: 現在の時点で残っている作業時間を入力します。進行状況に応じて更新されます。

  • 日付: ワークパッケージの開始日と終了日を指定します。これにより、タスクのスケジュール管理が行えます。

  • 進行状況 (%): ワークパッケージの進行状況をパーセンテージで示します。0%から100%までで入力し、タスクの完了度合いを表します。

  • カテゴリ: ワークパッケージを分類するためのカテゴリを指定します。これにより、タスクの種類や目的が明確になります。

  • バージョン: このワークパッケージが関連するプロジェクトのバージョンを指定します。バージョン管理により、リリース計画や進捗追跡が容易になります。

  • 優先度: ワークパッケージの優先度を指定します。タスクの重要度や緊急度に応じて設定し、プロジェクトの進行を最適化します。

  • 添付ファイル: ワークパッケージに関連するファイルを添付することができます。これにより、関連ドキュメントや参考資料を簡単に参照できます。

新たにワークパッケージが追加されます。

作成したワークパッケージに対し、子関係のワークパッケージを追加します。作成したワークパッケージの右端の"…"を押下して表示されるメニューから"子関係を作成"を選択します。

右側にワークパッケージの入力画面が表示されます。先ほどと同様に必要な項目を入力し、"保存"ボタンを押下します。

子関係としてワークパッケージが追加されます。

ガントチャートの表示

先ほどのワークパッケージの画面で、右上の"表"と書かれているドロップダウンメニューを押下し、表示されたメニューから"ガント"を選択します。

ワークパッケージがガントチャートとして表示されます。

6. まとめ: 無料でも十分な機能あり

OpenProjectのデプロイ方法と基本的な使い方について説明しました。利用してみた感想としては、無料でも十分な機能を使用できるので、プロジェクト管理はOpenProjectで十分だと感じました。
特に、200名以下のユーザ数ならば、これが月額24ドルという低コストで運用できる点が非常に魅力的です。他のプロジェクト管理のSaaSを利用すると、安くても1ユーザあたり月額1,000円以上はするのではないでしょうか。仮に200名のユーザ数が必要だとすると、月額200,000円になってしまいます。


弊社では、システム開発および導入支援を専門としています。最新の技術と豊富な経験を活かし、お客様のニーズに合わせた最適なソリューションを提供いたします。効率的なシステム導入や業務の自動化をお考えの方は、ぜひ弊社にご相談ください。お客様のビジネスの成長を全力でサポートいたします。

サービス内容

  • システム開発: オーダーメイドのシステム開発で、ビジネスの効率化を実現します。

  • 導入支援: 新システムの導入から運用サポートまで、トータルでサポートいたします。

  • コンサルティング: ビジネスプロセスの最適化やDX(デジタルトランスフォーメーション)、生成AIの活用を支援します。

お問い合わせは、以下のリンクからどうぞ。
無料相談も受け付けております。


この記事が気に入ったらサポートをしてみませんか?