ナレッジを共有できない文化とできる文化の対比。プチ技術顧問は身近な世界。
週1参戦要員tbpgr(てぃーびー)です。
ナレッジ共有に関してSI’er下請けで経験した闇と、
現状(光)を比較してみます。
闇 – SI’er下請時代
チーム構成
とあるSI’erの下請け現場での経験。
開発メンバーは様々な会社の下請けメンバーから構成されています。
元請: 1名(リーダー)
A社下請メンバー: 3名
B社下請メンバー: 1名
C社下請メンバー: 1名
D社下請メンバー: 1名
E社下請メンバー: 1名
また、すぐ隣にいる他のプロジェクトのメンバーも似たような構成です。
チーム内のナレッジ共有
チームメンバーはリーダーの指示の元、個別のタスクをアサインされ、
メンバー間のコミュニケーションはほとんどありません。
コミュニケーションがないため、誰が何が得意でどんなことを知っているか
すら分かりません。
かなり昔の話なのでQiita::Teamやesaのようなツールはありませんでしたが、
Wikiが用意されていました。
しかし、下請各社は契約上残業をしても自社の利益を得ることができないため
できるだけ自分の作業を最小化しようとする人ばかりです。
好きこのんで全体のためにナレッジを公開する人は皆無でした。
また元請に関しても同じです。せっかく用意されていたWikiですが全く活用されていませんでした
納品資料として必要なドキュメントはワードやエクセルで残されますが、
技術的な知見やポエムなどは全く共有されていませんでした。
プロジェクト終了時の打ち上げで分かったことですが、各メンバーにはそれぞれ異なる長所があり
そのことを早く知ることができればプロジェクトの難題を解決したり、
より効率的な運営ができたことが分かりました。
チーム間のナレッジ共有
他のチームとのやりとりに関してはチーム内よりも劣悪です。
各チームは別々の部署、予算で動いているため業務時間に他のチームに顔を突っ込むと怒られてしまいます。
もちろんチームの予算や責任範囲を明確にするのは大事ですが、
組織全体として活用できる汎用的な技術知識などは共有したり、得意領域に関して
例外的にアドバイスを送りあったりすることなどは柔軟に認めても良かったのではないでしょうか。
どちらのチームも同じお客様を相手にしているのです。
優先すべきはお客様の利益です。部分最適化の典型的な悪例でした。
同じ現場のとあるプロジェクトでは、
・JavaのWeb開発を受け持つAチーム
・Perlでバッチ処理を受け持つBチーム
が隣あわせでいました。ふたを開けてみると
・AチームはPerlが得意でJavaやWebの開発は未経験のメンバーで構成されている
・BチームはJavaのWeb開発が得意でPerlの開発は未経験のメンバーで構成されている
という状態だったのです。
お互い自分のよく知る分野の雑談が目の前から聞こえてくるけど介入せず、
自分の苦手な分野を聞きたいけど助けを求めることができず
かといってお互いのノウハウをWikiに公開するわけでもなく、
というような非常に非効率なことをしていました。
光 – 現在
私が現在関わっている複数の組織(クリエイターズネクストを含む)の話。
チーム内のナレッジ共有
各メンバーは自律して動きつつ、共通のゴールを目指して開発を進めます。
ナレッジの共有は奨励、賞賛され、積極的に行われます。
オンライン・オフライン問わずコミュニケーションを大事にし、
各メンバーはお互いの長所を知っていて、相手の得意分野に関する質問を
気兼ねなく行うことができます。
チーム外のナレッジ共有
チーム外どころか、個別の案件で協力してくださる組織外の開発者にも
ナレッジを共有します。(※権限によって見せることができる範囲で)
これにより、外部の協力者も含めチーム全体としての問題解決速度を上げたり、
実力の底上げにつながったりと、良い効果が波及します。
結果として、お客様やお客様のお客様に対してよりよい成果物を提供することになります。
組織間のナレッジ共有
私は月~木は自社。金曜日はクリエイターズネクストで働いているため、
業務ドメインなど機密にかかわるような内容を含まない技術的なノウハウについては
相互に共有してナレッジを有効活用しています。
まとめ
ここ最近CTOや技術顧問に関して、その有用性から話題になることが多いです。
典型的な例としては有名企業の一流開発者がスタートアップの技術顧問に就任し、
その知識と経験を活かして組織・開発・技術の問題を改善、解決していくようなケースです。
一般の開発者から見ると天上界の出来事のようにみえるかもしれません。
しかし、一定の知識と経験と行動力を持った開発者であれば
似たような領域で活躍・貢献できる機会は多くあるように思います。
実際のところ、私は開発者としてはどこにでもいるレベルです。
しかし、週一回のクリエイターズネクスト勤務で
・Issue管理の導入による課題管理の改善
・ナレッジ共有の仕組みの導入により属人化の排除、経験の共有
・履歴管理の作法など、地味だがボディーブローのように聞いてくる知見の共有
・若手の教育
など、現状2ヶ月の参加ですがかなり多くの成果を残すことができています。
しかも、こちらから提供するだけではなく、こちらも持ち帰り得るものがあります。
自分のことを特に長所もないありふれた開発者だと思っている人でも、
重宝される場所は意外と多いのかもしれません。
技術顧問、CTOとまではいかないけど似たような効果を生み出す
プチ技術顧問事例、増やしてみませんか?