「Happy Hacking Team」のすすめ
本連載では、ソフトウェア開発におけるチームの「Happy Hacking(ハッピーハッキング)」をいかにをすすめていくか、という点について、筆者の実例と、そこから得た「気づき」をまとめた形で紹介していきます。
「Hacking(ハッキング)」というと、近年の流行語である「LifeHack(ライフハック)」を思い出すかもしれません。筆者はHacking/Hackを「自分が使いやすいように工夫する」という意味で捉えています。つまり「Happy Hacking Team」は、「チーム」を「楽しく工夫」していこうという意味を込めています。
「工夫」を広辞苑で引くと「いろいろ考えて良い方法を得ようとすること。また、考えついた方法」とあります。まぁ当たり前ですね。では次にいったい「工夫」とはどんな時に行われるのでしょうか。日常生活をふりかえってみて考えてみてください。普段の生活で「ちょっと面倒だな」、「うまくいかないな」ということはありませんか? このような状態を「工夫の余地がある」状態と言います。こういった現状の不満に対して思慮を巡らせ、より良くすることが工夫するということです。
本連載で扱うのは、ソフトウェア開発におけるチーム内での工夫についてです。もちろん工夫そのものの内容も紹介しますが、本当に伝えたいことは、工夫の背景にある「価値観」と、その時直面した「問題」に対してどのような工夫を考え、適用していったのかという「過程」です。実例を元にした「どのように実践するか」というハウツー集よりも、読者の皆さんがそれぞれの現場で様々な工夫、つまり「Happy Hacking Team」を実践する際に、「どのように考えて実践につなげるか」という点に役立つ内容にすることを心掛けるつもりです。
ちなみに「Happy Hacking」は、(株)PFUの名作キーボードシリーズ「Happy Hacking Keyboard」にヒントを得ています。
実践しているプロジェクトの紹介
次に、今回の連載で紹介する実践を適用しているプロジェクトの紹介をします。筆者の所属するチェンジビジョンでは、2つのソフトウェア製品を開発、販売しています。1つがシステム設計ツールのJUDE(ジュード)です。1つが、2006年から開発・公開し、2007年2月より販売開始している、見える化を基軸としたプロジェクトマネジメントツールのTRICHORD(トライコード)です。筆者はこのTRICHORDの開発のリードをしています。
プロジェクトは2006年1月から本格的に開始され、当初は筆者を含めた5名で開発を始め、途中最小4名、最大6名を維持しながら今まで進んできています。プロジェクトは3~4ヶ月毎に人が入れ替わっており、開発当初からのメンバーは私を含めて2人のみです。筆者はコンセプト作成、製品仕様の決定、アーキテクチャおよび設計指針の決定、管理業務などの作業を中心に行っています。とはいえ開発チームと同じ作業場所にいるため、開発中の細かな問題や、その対応の様子についても関わり、把握しながら進めています。このプロジェクトの特徴としては、市場への頻繁なリリース(1~3ヶ月)、要求から開発、そしてメンテナンスまですべてのフェーズを1チームで行う、といったものがあります。
筆者はこれまでに数回ほど、本プロジェクトにおける各実践(プラクティス)を記事にしたり、講演で紹介したりしてきました。本連載はこれらの延長線上にあります。もし、まだこれらの記事や資料をご覧になられていない方は、まずこちらをご覧になってください。これまで紹介していた資料は、主に何を実践しているかという点に注目して紹介してきました。しかし本連載では先に書いたように、実践の背景にある考え、出来事に注目していきます。
ソフトウェア開発の業界の中で、「カイゼン」という言葉や「プロジェクトファシリテーション(以下PF)」という言葉を耳にする機会が増えています。まず「カイゼン」は主にトヨタ生産方式から伝わってきた言葉、考え方で、「ムダを排除し、継続的に改善していく」ことを意味します。「PF」は、プロジェクト活動、特にソフトウェア開発において、プロジェクトの成功を参加している人すべての成功として捉えます。よりよいチーム、よりよいコミュニケーション、そしてよりよいエンジニア人生を実現するために、価値、原則、実践をという形で体系化し、実際の現場で行動することを提唱しています。本連載は、カイゼンの思想、PFの思想に強い影響を受けており、オーバーラップする部分もあります。本連載で紹介する実例は、これらの実例であると言ってもよいかもしれません。