アプリ開発日誌
2016.10.03
プロジェクトチームの行動規範
サーバー開発担当の木下です。
iPhone7が発表されましたね。Felica対応と聞いて欲しくなってしまいますが、それ以上にMacBook Airの新型が早く出ないかなーと期待しています。
さて、今回はプロジェクトチームの「行動規範」の話です。
Apacheの行動規範
一例として、Apacheチームを取り上げてみたいと思います。
Apacheは、オープンソースにとって非常に多くの資産を生み出してきました。Apache HTTP Serverをはじめ、 OpenOfficeやCordovaなど、多くのオープンソースソフトウェアがあります。さらには、Apache Licenseのようなオープンソースのお手本も示してくれています。
そしてその中に、「The Apache Project Maturity Model(Apacheプロジェクトの成熟モデル)」があります。
基本的にはオープンソース開発を前提とした行動規範ではありますが、中にはどんなプロジェクトでも参考にできる項目もあります。
どうやら日本語化はされていないようなので、いくつか簡単に訳してみたいと思います。
QU20 The project puts a very high priority on producing secure software.
プロジェクトは、安全なソフトウェアを提供することに高い優先順位を置きます。
QU40 The project puts a high priority on backwards compatibility and aims to document any incompatible changes and provide tools and documentation to help users transition to new features.
プロジェクトは、後方互換性に高い優先順位を置き、互換性のない変更をドキュメント化し、新しい機能の導入を支援するツールとドキュメントを提供します。
QU50 The project strives to respond to documented bug reports in a timely manner.
プロジェクトは、ドキュメント化されたバグレポートに迅速に対応します。
CO30 Contributions include not only source code, but also documentation, constructive bug reports, constructive discussions, marketing and generally anything that adds value to the project.
ソースコードを書くことだけでは無く、ドキュメントや、建設的なバグレポート、建設的な議論、マーケティングなどが、プロジェクトの価値を向上させます。
いろんな行動規範を参考に!
今回はApacheを例に取り上げてみましたが、オープンソース界に限らず、精錬されたチームには精錬された行動規範が多いように感じます。
また、行動規範は数千人規模のビッグチームから個人に至るまで、プロジェクトの大小にかかわらず持つことができます。おそらくエンジニアやディレクターの方であれば、意識せずとも自分なりの行動規範があることと思います。
たとえば弊社のサービスのひとつである「ECパンダ」のチームには、おおまかに2つ、
・Trelloで作成されたカード(追加要件やバグレポートなど)は、アーカイブする前に仕様書に記載する
・口頭で受けた指示は必ずカードにして共有する
という行動規範を持っています。
さらにその中で、チームメンバー個々が役割に合わせて行動規範を意識します。たとえば私はサーバー開発担当なので、
・サーバーは本番・開発環境の2つ準備し、十分にデバッグを済ませてから本番環境にリリースする
・セキュリティ対策を十分に行い、万が一漏洩した際に被害を最小限に食い止めるようなデータの持ち方をする
・チームメンバーに情報を共有するときは、できるだけシンプルに、かつ必要・有益な情報をもらさずに発信する
など、個人の行動規範を持っています。
プロジェクトチームの行動規範をしっかり決めておくなら、作業を円滑に進めていくことができます。
また個人レベルであれば、作業しながら思いついた行動規範を文章化して蓄積しておき、時おり見返すことで、より円滑かつ質の高いプロダクトを生み出していけることと思います。
ぜひみなさんのプロジェクトでも、オリジナルの行動規範を作ってみてください!