こんにちは!クラウドワークスでエンジニアリングマネージャーをしているEMチームです。
この記事では、「 短期的な成果だけでなく、中長期的な生産性向上への取り組みも重要 」であることを定めたプロダクト開発ポリシーの話をします。
プロダクト開発ポリシーとは?
クラウドワークスでは「ポリシー」の意味を、事業や会社運営を進めるうえで、議論や行動の土台となるものと定義しております。
社内には生産性ポリシーや、採用ポリシーなどが存在し、特定領域における考え方を示したものになります。 よって、プロダクト開発における考え方を示したものが、プロダクト開発ポリシーになります。
プロダクト開発ポリシー策定の背景
クラウドワークスにはポリシーの前段にMission、Vision、Valueが存在します。
「働くを通して人々に笑顔を」というMisson、「働き方革命」というVisonを掲げて、それを実現するために、3つのValueを定めています。
このValueは毎週の朝会でも繰り返し伝えられており、半期のキックオフでそれぞれのValueの体現者を表彰する取り組みもあり、全メンバーが理解しているものになります。 日々の業務はこのValueを意識しながら行うことを期待したものになります。
こうしたものが全社的に用意はされているのですが、Valueの考え方だけではプロダクト組織の課題を共有の認識で議論しづらくなってきておりました。 創業から10年目を迎え、技術的負債や組織的な課題が増えている状況であり、皆なんとなく短期的な業績には紐づかないがやらないといけないことを認知しつつも、それをどう優先度をつけて対応するかが言語化できておらず、後回しにされるような状態でした。 具体的には、業績を見ている人からすると、技術的負債の解消の優先度が下がってしまう傾向がありました。
この状況を改善していく為に、プロダクト開発における議論や行動の土台となるものが必要と考え、ポリシーの策定を開始しました。
プロダクト開発ポリシーの作成
ポリシーの策定にはエンジニア、プロダクトオーナー、デザイナーからバランスよくメンバーを選び、12名で議論を進めました。
大きな流れとしては「10年後の会社」と言う未来のあるべき姿をディスカッションした上で「直近2年で重要視すべきこと」をグループに分かれて議論しました。
重要視したいものの解像度が上がってきたら、それをブラッシュアップし、ポリシーへと落とし込んでいきました。 ここでは受け取る側の解釈にブレがないことを注意しながら、表現を考えていきました。
トータルで5回、12時間のMTGを経てversion1.0.0の完成に至りました。
プロダクト開発ポリシーの内容
「短期的な成果だけでなく、中長期的な取り組みも重要」であることを明文化し、ポリシーの前提に落とし込みました。
そして中長期的な成長の実現に向けて、以下の5つのポリシーを策定しました。
以下では、一つずつポリシーの中身を見ていきます。
手段に固執せず、目的の達成に価値をおく
目的や課題に対して多様な手段を検討し、達成するための最適な手段を実行します。手段の実行が目的にならないように注意します。
依頼されたことをそのまま実行するのではなく、依頼された背景を確認し、依頼の目的を達成することを期待したものになります。
直近ではSREチームが実施した、マスタDBから分析系DBへの同期方法をAWS DMSに移行した事例が挙げられます。 crowdworks.jpの成長にともない、データ分析基盤の安定性を向上する目的のために実践しました。 MySQLの約30億レコードをRedshiftにDMSでニアリアルタイム同期した
部分最適の実現に加えて、全体最適を意識した行動にも価値をおく
中長期的な視点・サービス全体の視点・会社全体の視点など、より大きな視点で行動します。
チーム内ではベストと判断したものでも、チーム外からするとより良いものが存在する可能性はあります。視座高く、周りへの影響を判断することを期待したものになります。
一例としては、サービスの全体の流れを俯瞰し、プロダクトマネジメントをしている事例になります。 サービスの成長モデルを定義し、「森も見ながら木を見る」プロダクトマネジメントへ
知見の蓄積に加えて、知見の継承にも価値をおく
ナレッジ・ノウハウを可視化・形式知化するだけでなく、得られた知見を積極的に共有・発信し、次の人につなぐことで、無人化や属人化を防ぎます。
無人化の課題は、以下の記事で詳細にまとめられておりますが、同じ状況に陥らないためにも、知見を継承していくことへの思いは強いものがあると感じております。 「無人化システム」を駆逐する組織マネジメントとエンジニアリング
このポリシーの一例としては、障害対応時の知見を深めるポストモーテムの取り組みがあります。 週刊ポストモーテム継続への道のり
創造に加えて、剪定にも価値をおく
プロダクト開発においては、イノベーションにより生産性を向上します。 価値を再評価して廃止や継続を判断することで、リスク低減をし、中長期的なメンテナンスコストを削減します。
新機能を作ることで事業に貢献していくのに加えて、残念ながら価値の低い機能は捨てることへの期待になります。
実践の一例としては、Internet Explorerを推奨ブラウザから除外した例があります。 より価値あることにリソースを割くための判断の事例になります。 Internet Explorerを推奨ブラウザから除外します
既存プロセスにとどまらず、挑戦による学びにも価値をおく
プロダクト開発は、技術やトレンドが急速に変化している環境にあり、専門スキルと経験値の向上が間接的に中長期の生産性向上に寄与します。 そのような考えのもと、学びの得られる挑戦(未知のプロセスへの挑戦)は価値があるものとし、失敗を許容します。
先に述べたクラウドワークスの1つのバリュー「10x Goal」の達成にはプロセスの変化が必要であり、その過程における挑戦の失敗は許容されます。 注意点として、失敗の許容は「既知の領域」はNGであり、あくまでも「未知の領域」であることを期待しております。
なんでも好きなことを挑戦して良いのではなく、重要なのは目的達成であり、個人のやりたいことが優先され過ぎないようにバランスを注意する必要はあります。
実践の一例として、新規プロダクトでの技術選定や、開発手法の事例になります。 ドメイン駆動設計 × Spring Boot(Kotlin)で新規事業クラウドリンクスを運営している話
プロダクトマネージャー目線で語る、0→1開発でDDDを取り入れた背景とその効果
プロダクト開発ポリシーの浸透
プロダクト開発ポリシーの策定で満足せず、それをプロダクトのメンバーに伝えていくことが重要です。
EMチームではこれまで浸透の活動として、プロダクト開発メンバーへのワークショップと全社キックオフでの発表を実施しました。 ワークショップでは、それぞれのメンバーが思い入れのあるポリシーを選択し、その理由を共有し合うことで理解を深める取り組みを行いました。また、全社の場では、一連の策定の流れとポリシー自体の内容を説明しました。
さらに最近の活動ですと、開発メンバーの目標設定の項目に「ポリシーの実践」を追加しました。 「ポリシーの実践」では、各ポリシーに沿った行動ができていたかを評価するものになります。
まとめ
内容を共有し、メンバーから以下の反応をもらっております。
「プロダクト開発において重要視すべきことを定義し、経営と合意するというプロセスが素晴らしかったと思います。」
「長らくもやもやした感じを遠くから感じていましたが、プロダクト開発メンバー皆さんが納得できた、受け入れられたというポリシーを作ったことはすごいと思いました!これからも改善されていくと思いますが、まず決めて作ったということは大きな一歩だと思いました!」
策定にはポジティブは反応を多くいただいていました。
しかし作ってから半年が経ちましたが、順調に浸透しているとは言えない状況です。 何度も伝え続けていく必要があるのですが、なかなか思うようにできていないのは反省点です。
目標設定の項目に開発ポリシーを追加できたことで、来月の評価で振り返ることができます。 メンバーからのフィードバックも踏まえて、浸透に向けて改善していく必要があります。
また開発ポリシー自体の再評価し、アップデートしていくこと、そしてこれらを継続的に組織として運用できるように仕組み化することを考えていく必要があり、まだまだ取り組むべきことは多いです。
ただ、プロダクト開発のポリシーを浸透させていくことは、メンバーにとってクラウドワークスで働くことがより楽しくなることだと強く思っているので、引き続き一つずつ進めていければと思っております!
We're hiring!
9/17(金) 19:30〜 「CrowdWorks Dev Live:CWの働きやすさを生む文化とは?」というYouTubeLiveでのオンラインイベントを行います! 「カルチャーや現場の雰囲気、先に知りたかった。」にお応えするイベントになりますので、興味のある方は是非ご参加ください! https://crowdworks-dev-live.connpass.com/event/223977/
クワウドワークスでは幅広くエンジニアを募集しております! https://www.wantedly.com/projects/73940