見出し画像

投資#164 フィーチャーフラグを使いたい


書籍の情報


タイトル:世界一流のエンジニア思考
著者:牛尾 剛
出版社:文芸春秋
発行日:2023年10月23日

書籍の一部抜粋


「決まっているから変えられない」「変えるのは大変だから」という思い込みで、現状の制約の中で仕事をしようとすれば、何か問題が発生するたびに、「すべきこと」はどんどん増えてしまう。
たとえば日本では本番のリリースも、「失敗しないように慎重にテストしないといけないから、たくさんの仕様書を書いてマニュアルテストをします。そうでないと本番にはリリースできません」と現場の方は言う。ところが、社長さんを連れてきてプロセスを見える化して一緒にディスカッションをすると、「この承認は無駄だね。カットしよう」「別に品質にそこまでこだわらなくていいから、早くリリースできるように前倒ししようよ」「そこは現場で判断していいよ」等、一気に話が進む場面をよく見てきた。
「すべきこと」と思い込んでいるだけで、実際省ける要素は本当はもっと多いのだ。

バリューストリームマッピングで「見える化」する

もっとも、仕事の案件の中には納期が絶対のものも存在する。オリンピック用のアプリの納期に遅れてしまったら、仕事そのものの意味を失ってしまうだろう。絶対にデッドラインを割りたくない案件だったら、シンプルに「早く始める」しかない。
あるいは、既に動いているものを「リリースする」と約束すればいい。今では、フィーチャーフラグというテクニックがあり、実際の機能がすでに盛り込まれているが、公開するスイッチをもっており、そのスイッチをオンにしたら特定のユーザのみに公開されたり、全体に公開することができる。先に実装しておき、一部のユーザに使ってもらって、実際に動くし価値もあると判断してから、スイッチして本当の「公開」をすることもできる。これは、Azureや、windowsなどでも広く使われている方法だ。
前述のように、納期は固定して、スコープを変動させるやり方もある。納期に何らかのリリースをするが、実装できたものだけにする。含まれる機能が増減しても、ユーザーにとって価値あるものがリリースできるようにしておく。
機能A、機能B、機能Cがリリースされないと意味がない・・・と言う場面では、機能A、機能B、機能Cを順に作るのではなく、三つ同時につくるが想定よりずっとシンプルなものにする。連携しつつ価値を提供できる単位でつくると、常にリリース可能な状態ができあがる。そうすれば、機能の増減に関係なく「いつでもリリース可能」というわけだ。

バリューストリームマッピングで「見える化」する

感想

思い込みもあるあるだなと
思いながら読んでいました。

やっぱり存在意義を確認しながら、
検証することは大切だなと
思っています。

いまやっている仕事の一つにも、
20~40年前ぐらいにその当時は
有意義で始められた制度があります。

ただ、当時の人たちは残って
居ませんし、

何のための規定なの?
というのも多々あります。

本当は、そういう考え方を
伝承していただきたいのですけど、
そういうところは何も残っていません。

残っている人から情報を
なんとかかき集めて、
流れが分かるようにしてもらいました。

ありがたいことですね。

プログラムではないのですが、
失敗しないように慎重にテストを
進めていかねばと思います。

一方で、省ける要素も多いかとも
この書籍を読んで思いました。

既に動いているものを「リリースする」と約束すればいい。

ともあるので、
既存の制度で削っただけの制度を
仮置きしてもいいかと思いました。

既存の制度は、少なくとも
いま動いているわけですし、

バランスが崩れて、既存の制度より
悪くなる可能性もゼロではないですが、

フィーチャーフラグというテクニック

を流用して、よいと思われる部分を
少しずつ開放していってもいいかも
しれません。

新しい部分はそれこそ、
フィーチャーフラグを使います。

新しい制度の承認を得るまでに、
1年ほどの時間をくださいと
お願いしていますが、

連携しつつ価値を提供できる単位でつくり、
常にリリース可能な状態にしておきたい

と思いました。

私の中の、今年の大きなチャレンジの
1つになりそうです。

ついでに修正したい箇所や、
追加したい箇所もたくさんあるので、
こちらにもフィーチャーフラグを使いたい
と思います。

(フィーチャーフラグ
という言葉の使い方正しくないかも
ですけれども)

まとめ

フィーチャーフラグを使いたい


この記事が参加している募集

読書感想文

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?