Trelloを使った業務管理 第1回 チームでの開発とプロジェクト管理
チームで仕事を進める際、プロジェクトの中で自身の立ち位置を把握しながら仕事を進めるということは大切なことです。本記事では、Trelloを使ってプロジェクトを円滑に進める方法を解説します。
- カテゴリー
- ディレクション
発行
はじめに
この連載では、筆者・高津戸(@Takazudo)が、どのようにTrelloを仕事に使っているのかを紹介します。フロントエンドの話というよりは、どちらかというとディレクション業務が中心となります。
- どうやって開発を管理して進めていくか
- どういう風にまとめて伝達したらよいか
- どうするとやるべきことが漏れなくなるか
- どうやって効率化していくか
以上のようなことを、タスク管理ツールTrelloを使ってどのように進めているのかを紹介します。
Trelloについて
Trelloは、Atlassian社の提供するWebサービスで、世界中で数100万人ものユーザーに広く支持されている、視覚的に整理できる柔軟な無料プロジェクト管理ツールです。(Trelloについてより)
有料のBusiness Class/Enterpriseの各コースもありますが、無料でも利用できます。この連載で興味を持った方は、ぜひ試しに使ってみてください。
自分の仕事とTrello
筆者は、CodeGridではCSSの設計の話を中心にこれまで記事を書いてきましたが、ここ数年はほとんどディレクション的な役割を仕事の中で担っています。自分は別にディレクターを志そうとしてこうなったわけではないのですが、開発を進めるにあたって、まずは実装の要件を確認する必要があり、それを続けていたらいつのまにかこのようなディレクター的に立ち回る必要が発生し、それがここ数年続いているというのが現状という感じです。コードを書く人に要件や仕様を伝えたり、その要件や仕様をクライアントと詰めたり、データベースに突っ込まれるデータの雛形を考えたりなどを行うことが最近の自分の仕事になっています。
そのような働きをする中、いろいろと解決しないとならない問題がありました。まず自分を追い詰めたのは、やることが多すぎるということでした。自分の従事しているプロジェクトは、比較的規模の大きいもので、3〜6人の実装者が同時にコードを書く必要があるものでした。このような状況では、無数のタスクが並行して進行します。それらタスクの進捗がどのようなものか、メンバーそれぞれが今何をしているのか、誰に何をしてもらうべきなのかを管理する必要がありました。また、クライアントからくる要件はいつもしっかり固まったものであるというわけではないので、そのような依頼に対しては、どうやって進めるのか、実装に落とせるまで内容を詰めたり、実装方法を検討したりしなければなりません。
こうなってくると、当然一人で仕事は終わりません。一人ではコードを書ききることができないというのは当たり前として、自分がコードを1行も書かなかったとしてもなお、終わることがないぐらいにやることが存在する状態になりました。
このような状態をどうにかするツールとして、Trelloは大きな助けになりました。この連載では、自分がどのような用途で、どのようにTrelloを使っているのかを紹介します。
実装者にもディレクターにも必要なこと
今回、連載で紹介することの一部に、「TrelloからJSONを書き出して、それを元にMarkdownを作ったり集計を行ったりする」という内容もあります。直接実装を行っている人にとっては、そのあたりの具体的なTrelloの使い方に興味を持ってくれるかもしれませんが、この連載はTrelloの機能の詳細など、技術的な何かについて主眼をおいて書かれたものではない点をまずはご理解ください。
それでは実装者には、本連載は関係ないのか? というと、そういうわけでもないと思います。
こんなことは言うまでもないことではありますが、昨今、Webサイト・Webサービスは大きくなり、その周辺の技術も多様化しています。その結果、一人のスーパーマンが仕事を片付けてしまうというパターンでは太刀打ちできず、チームで開発を行っていくという重要さが増していると筆者は感じています。もちろん、それは各々がどのようなプロジェクトに携わっているかにもよりますが、自分について言えば、弊社ピクセルグリッドが設立された2009年では、ほとんど一人で実装をやってしまうことが多かったものですが、本連載執筆開始時の2019年では、弊社においてそういう仕事の割合はずっと少なくなっています。
そのような状況においては、ディレクション的な動きをする人だけでなく、実際に実装を行う人にとっても、自分がどのように立ち回るべきなのかを把握することは、大いに意味があることだと考えています。技術的に秀でていることももちろん重要ですが、プロジェクトの中で自身の立ち位置を把握しながら仕事を進めるということは、仕事していく上で非常に重要な側面であると筆者は考えます。
この連載は、筆者が、減ったり増えたりするメンバーとともに、長く同じWebアプリを開発してきた中で、どのようにTrelloを使ってきたかということを主軸に書いていきます。ディレクター的に立ち回る人でも、自分で手を動かしてコードを書く人でも、何か持ち帰れるものがあったら持ち帰っていただけると幸いかと考えています。
Trello、こう使ってます
この連載では、自分が従事しているプロジェクトを中心に、何のために、どのようにTrelloを使っているか、次の8つを紹介する予定です。
- 日報ボード(個人)
- 日報ボード(チーム)
- コミュニケーションボード
- アサインボード
- 納品ボード
- かんばんボード
- GTDボード
今回は、まずはそれぞれについて、それが何なのかを簡単に紹介しておきます。
日報ボード(個人)
「日報ボード(個人)」は、メンバーそれぞれが、その日何をしたかをメモしておくためのものです。日報を付ける方法はいろいろとありますよね。ただテキストを残せれば用は足りるので、ファイルに書き足していっても良いし、ブログを日報代わりにすることもできます。Trelloで日報をつけることの大きなメリットは、GitHubとの連携であることだと自分は感じています。次回で、まずは簡単なTrelloの基本機能解説として、Trelloを日報として使った例を紹介します。
日報ボード(チーム)
「日報ボード(チーム)」は、日報ボードのチーム版です。みんなで一つのボードに日報をつけていきます。正直なところ、自分が日報をつけるのを始めたのは、プロジェクトにおいて、クライアントに日々の作業を報告する義務があったためでした。しかし、これをチームでやることでいろいろと見えてきたことがありました。それはどういうことかということとともに、TrelloからJSONを書き出してデータの集計を行う方法を紹介します。
コミュニケーションボード
「コミュニケーションボード」は、クライアントとやり取りを行うためのものです。端的に言うと掲示板のようなもので、Trelloのごく単純な利用例と言えるでしょう。実際にプロジェクトでどのようにボードを使い分けているのかという話と、Trelloとカレンダーを連携させる機能を紹介します。
アサインボード
「アサインボード」は、メンバーのアサイン状況を管理するためのものです。たくさんのタスクを分担して片付けないとならない中、誰に何の作業を依頼しているのかを管理するためにどうしていますか?GitHubのassignで管理していますか? しかし、GitHubのassignだと、全員のアサイン状況を把握するのが手間であるという感覚を自分は持っていました。そこで試しにTrelloを使ってみたところ、随分と見通しがよく、楽になったと感じています。以降、ずっと継続してメンバーへのアサインはTrelloで管理しています。具体的にこれはどのようなもので、どのように使っているのかを紹介します。
納品ボード
「納品ボード」は、リリースノートと今後の予定を兼ねたようなものです。筆者の従事しているプロジェクトでは、定期的にリリースがあり、弊社からクライアントへの納品は、gitリポジトリへのpushという形で行っています。この際、いつのリリースにどのような対応が含まれているのかをまとめる必要がありました。最初はこれをテキストベースで行っていましたが、試しにTrelloでやってみたところ、さまざまな意味で圧倒的に便利になったと感じています。同じように定期的にリリースするようなタイプの仕事に従事している人におすすめしたい使い方です。
かんばんボード
「かんばんボード」は、開発において、各々のタスクが全体の流れの中のどこに今位置しているのかを表現したボードです。「かんばん」というのは有名な開発手法で、これについては多くの書籍があるので、これ自体についての解説はほどほどに留めます。この連載の中では、自分がプロジェクトの中でどのようにかんばんを使っているかについて紹介します。ひとまずここでは参考までにwikipediaのページを挙げておきます。
GTDボード
「GTDボード」は、端的に言うと「自分のやるべきこと」を管理するためのものです。GTDと言うのは『Getting Things Done』というDavid Allen氏の著書から来ています。この書籍は、どうすればストレスなく物事を片付けていけるのかという方法を紹介したもので、とても有名なものです。ここで紹介されている方法を筆者はTrelloで実践しているつもりなので、その内容を紹介します。筆者にとって、GTDとの出会いは、かなり自分の考え方をあるべき形へと補正してくれたと思っています。
GTDは「仕事のこなし方」というか、「あらゆること」を管理するための方法論のようなもので、その範囲は仕事でどうするというのに限った話ではないのですが、この連載ではひとまず、仕事をこなすために筆者はどのようにTrelloでGTDをしているのかについて紹介します。こちらもひとまず、wikipediaのページを参考として挙げておきます。
紹介する予定のTrelloの機能
この連載では、それぞれのトピックの中でTrelloの以下の機能について紹介する予定でいます。
- JSONへのエクスポート機能
- Butler
- 拡張機能: GitHub
- 拡張機能: Slack
- 拡張機能: Agile Tools
- 拡張機能: カスタムフィールド
- 拡張機能: カレンダー
- 拡張機能: カードの繰り返し
この中でややこしいのはBultlerぐらいです。なお、この連載はTrelloの活用術として進めていきますが、根本的にはTrelloではない別の似たサービスでもいいと筆者は思っているので、そんな機能があるんだ程度に読み進めてもらって良いように思います。
ここまでのまとめ
TrelloのようなUIのWebサービスは「かんばん方式」と呼ばれることがあるようです。自分はTrello以外の類似したWebサービスをいろいろ試してみたことがあるわけではありませんが、自分にとってはTrelloの汎用性の高さと、iPhoneやiPadのアプリの使い勝手の良さになかなか満足しています。Trello以外の似たプロジェクト管理用のWebサービスでも、この連載で紹介している方法を応用できるのではないかと想像しています。この連載の内容を、自身のプロジェクトに生かせてもらえたら幸いです。
次回はまず、「日報ボード(個人)」について紹介します。