一人でアプリやWebサービスを開発していると、特に学習段階では自分のペースで思いついた時に新しい機能の追加や不具合の修正を行えますが、企業などに入りチームとして開発業務を行うとそうはいきません。
追加すべき機能の優先順位や、中・長期的なスパンでの締切りがあると思います。これらのチームでの開発業務を円滑に進めるために様々なツールやWebサービスがあります。今回は、一人で開発すると中々使う機会の無い、しかし実際にプロのプログラマーとして働くとなると必須の3種類のツールを紹介していきます。
バージョン管理ツール
バージョン管理とはプログラミングのソースコードの変更履歴を管理することです。これを行う事で、以下の様な事を簡単に行うことができます。
- 間違ったコードを追加しても、過去の状態に戻す事が出来る。
- 複数人で別の機能に関する開発作業を並行して行い、それぞれが完了したら簡単にコードを統合出来る。
多くの企業で利用されているバージョン管理ツールは大きく以下の2種類に分かれます。
- Subversion (単一レポジトリ)
- Git (分散レポジトリ)
括弧書きでそれぞれの種類を書きましたが、今回はひとまずそういう種類があるんだな、という程度に留めておいてください。1のSubversionはバージョン管理として以前から利用されているソフトウェアで、IT系の開発業務を行う企業で広く利用されています。 2のGitは比較的最近のソフトウェアですので、特に2000年以降のWebサービスを開発しているチームで利用されるようになってきました。 Gitの仕組みを利用したGitHubというWebサービスはGitでのソースコード管理をウェブ上で行う事ができ、ここ数年で急速に利用者を増やしています。
よって、ウェブ系のプログラマーを目指す方は今ならGitの使い方を覚える事をおすすめします。一人での開発作業でもバージョン管理の仕組みに慣れておくと、最初に挙げた特徴の恩恵は充分に受けられます。
タスク管理ツール
タスク管理ツールとは開発タスク等を、タスクの詳細とともにどのような優先順位で行うべきかや、タスクの進行状況などをチームで共有するためのサービスです。有名なツールには例えば以下の3つがあります。
Redmine
Redmineは「ガントチャート機能」が特徴的なオープンソースのタスク管理ツールです。このソフトウェアはsubversionと同じように以前から使われているソフトウェアですので、多くのIT系企業のプロジェクト管理で利用されています。オープンソースですので機能追加や改変も可能な事が大きな特徴です。 あまり自分一人というプロジェクトで使う事は無いかもしれませんが、どういうソフトウェア知っておくと良いでしょう。
Pivotal Tracker
Pivotal Trackerは「アジャイル」というソフトウェアの開発スタイルをとっている企業に多く利用されているタスク管理ソフトです。「イテレーション」というチームごとの開発期間の単位(例:1週間)毎でどのような開発を行うかを簡単に管理することが出来ます。 開発タスクがどのような優先順位で並んでいるかの把握や並び替えが簡単に行えるため、自分一人の開発プロジェクトでも充分活用することが出来ます。(少人数での利用は無料) 比較的新しいWeb系のIT企業で多く採用されています。
Trello
上記の2ツールがある程度開発タスクの管理に特化しているのに対し、Trelloは開発タスク以外の様々なタスクの管理も想定されたツールです。「カード」と呼ばれる単位でタスクを管理する事と、先の2ツールに比べるとシンプルなUIである事が特徴です。
チャット
チーム内でのコミュニケーション、特にプログラマー同士のコミュニケーションではチャットがよく使われます。さすがに一人での開発にチャットを活用するのが難しいですが、こんなツールがあるんだ、と把握しておくのが良いでしょう。
Skype
以前からチャットコミュニケーションと言えばSkypeが利用されてきました。無料で利用出来る、文字だけでなく音声/ビデオ通話でのやり取りも可能な事から今でも広く利用されています。多くの方がアカウントを持っている事から社内では別のチャットツールを使用していても、社外の複数人とのやり取りはskypeで行うという事もよくあります。
HipChat
HipChatは2011年ごろから流行りだした比較的最近のChatサービスです。Skypeに比べると、以下の理由などから開発チームなどで積極的に導入されるようになっています。
- 会話のテーマ毎に部屋を作りそこに必要な人のみ招待出来る
- 外部のサービス(例: 前述のGitHubやPivotal Tracker, Trelloなど)から簡単に通知を投稿出来る
- コードのシンタックスハイライトが出来る
Slack
Slackは2013年8月公開のかなり新しいWebサービスです。 上記のHipChatの特徴に加えて非常に洗練されたデザインや使い勝手である事から急速に利用者を増やしています。
プログラミングを学習するとともに今回紹介したこれらのツールの使い方を覚えて、チームでの開発に即戦力として参加出来るスキルを身につけましょう!
コメント