よりよい方法を見つけだそうとし続けている: 自由があればよりよく進化する

| 4 min read
Author: daisuke-kishimoto daisuke-kishimotoの画像

はじめに

#

40年近くいろいろなハードウェアやOSや開発言語等を活用してソフトウェア開発をしてきて、今、個人的に振り返って思うのは、標準化された同じ手順で同じように計画通り開発を進められたのって、実はそれぞれすごく短い期間だったなぁということです。

2001年にアジャイルソフトウェア開発宣言が公開されましたが、もちろんその前からオブジェクト指向やUMLやXP(エクストリームプログラミング)等、いろいろ工夫して活用し「よりよい開発方法を見つけだそうとし続けているソフトウェア開発者」はたくさんいらっしゃいました。
たとえプロジェクトが計画駆動であったとしても、仕様変更リスクの高い部分は抽象化したり、技術リスクの高い部分は優先順位を上げて実装確認したりされていたのではないでしょうか?
これからも先人たちの知恵に感謝し活かすのはもちろん、自分たちなりに自由な工夫を続けていくんだろうなと思います。

「よりよい方法」とは誰にとってなのか?

#

開発者だけでなく運用者も含めるとDevOpsになったり、ビジネス部門も含めるとBizDevOpsになったり...
「顧客に価値として認識されないものはムダ」というリーンはもちろん、CX(Customer Experience)だけでなくDX(Developer Experience)も QoEL(Quality of Engineering Life)として重視したいですよね?
アジャイルに限らず、そもそも人として生きるためによりよい方法を見つけだそうとし続けるのは自然なことだと思いますし、そのあたりのバランスが重要な気がします。

人間はもともとタイムボックスに慣れている?

#

人間は睡眠時に記憶を整理し不要なことは忘れるようになっているようです。
気になることは何度も夢の中でシミュレーションして明日生き残る確率を上げる。
脳と体を休ませる深い眠りのノンレム睡眠と、記憶の再処理や生存に必要な行動プログラムの脳内シミュレーションを行うレム睡眠を交互に繰り返すが、言わばふりかえりの時間。
それこそ何人かで協力してマンモスの狩り(モブワーク)をしていたころから変わっていない気がします。

断眠のギネス記録は264時間12分(現在は削除)だそうですが、通常は目が覚めてから次に目が覚めるまでの24時間がタイムボックス
(体内時計はなぜか24時間10分程度のようなので、毎日リセットしてリズムを整える必要あり)。
今日やらないといけないことを今日やっているか?(明日でもいいことは明日)

「人間は1日に35000回決断している」と言われていますが、命に関わるような重要な判断や、何を選択しても大差ない判断等、レベルはいろいろありますよね。
優先順位の低いものに時間や労力を使わないように、スティーブ・ジョブズは毎朝同じコーディネートで出かけていたらしいというのも納得ですが、人間ってそもそも自分にとって優先順位の高いことを重視しますよね?

みなさんは好きな食べ物を 最後まで残しておく派? それとも 最初に食べちゃう派?
でもこれって状況次第ですよね?
では2時間食べ放題で残り30秒になった時、最後に残っている「大好きなイチゴ」が乗っているショートケーキはイチゴから食べますか?
それともスポンジケーキやクリームから食べますか?

なぜかアジャイルに見えるものを思いつくままに列挙 ↓

#

小学生の頃、わずか20分間の休み時間でも校庭まで出てドッジボールしていませんでした?
もちろんチャイムが鳴ったら(タイムボックス)教室に戻るのですが、次の休みには続きから始めるんですよね~

雨の日の高速道路でのワイパーの速度や、FXでの株価チャートのリフレッシュ等、現実を見続けるためには速いに越したことはないですよね?

いろいろ考えていると、「何でもアジャイルに見える病」になってしまいそうですが...

  • 死ぬまでにやりたいこと100のリスト(人生のプロダクトバックログ)
  • 旅行(お金と期間が決まっていてどこに行くかを優先順位付けして低いものは諦める)
  • 手術(専門医が患者に対して全員で治療し続けるモブワーク リソース効率よりもフロー効率優先)
  • co-Working(モブワーク チームで曲作り) Jazzセッション(モブワーク アドリブ 楽譜よりも実際に出ている音♪)
  • ティール組織/ホラクラシー組織
  • U理論
  • インバスケット思考
  • シャトレーゼさんの新商品開発
  • 老舗旅館 陣屋さんの復活 ホンダF1ノウハウ
  • 東京都世田谷区立桜丘中学校さん(校則も定期テストも撤廃)
    …等々もなぜか近いマインドを感じます。

新型コロナウィルスが落ち着いてから久しいですがリモートワークでのアジャイルも普通に行われていますし、生成AIの活用も進んで仕事のやり方も大きく変わってきています(最近公開されたスクラムガイド拡張パックではプロダクトデベロッパーの一部はAIも可)。
リアルな会議室に置いてあるホワイトボードだと3~4人で書き込むのが精いっぱいですが、オンラインボードなら100人同時に書き込むこともできます。リアルな会議室だとマスクで顔の表情もわかりにくいし、大きな会議室で距離が離れていると見えにくいですが、オンライン会議だとマスク不要で顔の表情もわかりやすいですね。

顧客としては、顧客が必要なモノ(価値)を必要な時(タイミング)に手に入れたい。

#

On Demandで。つまり「優先順位に従って一個流し」が良さげ?
「開発チームを固定化する方が良い」とはいうものの、オンプレミスサーバーをピーク時に合わせてサイジングしているような気もします。もちろん受注する側にとってみれば要員を確保したり減らしたりするのは辛いのですが、クラウドサービスのように柔軟に「欲しいものを欲しい時に欲しい分だけ効率的に使える」と、本当はもっと良いのかもしれません。
プロダクトに価値を追加し続けることを重視すると、マルチチームでのスケーリングもグローバルで6~8時間程度時差のある3~4チームで交代で開発するのもいいんでしょうね。もちろん日本国内で病院などのように3交代制でもできなくはないでしょうが...(2000年頃に2交代で開発していたことがありますが長く続けるのは厳しいです)

そこに「よりよい開発方法をチームが自分たちで見つけて選択する自由」はあるか?

#

PMI PMBOK DA(Disciplined Agile)も「Choose Your WoW! Way of Working!」で、「働き方を自分たちで選ぶこと」が重要だとしています。
DAでは、「XP」「スクラム」「UP」等はもちろん、2001年のアジャイル開発宣言には無かった「SAFe」や「Spotifyモデル」も選択可能ですし、なんなら従来型も含め選択できる「全部入り」です。
オブジェクト指向やUMLで有名なイヴァー・ヤコブソンさんのモダン・ソフトウェアエンジニアリングでは、抽象化することでアジャイルの各手法の良いところを活かせるように考慮されています。
今後「逆コンウェイの法則」「ティール組織/ホラクラシー」や、Web3のDAO(分散型自組織)等、組織とソフトウェアの構造も最適化が進む流れだと思います。

現状、スクラムの活用シェアが大きいですが、開発者ではなく管理者に支持されている印象です。もちろん組織としての選択基準は必要ですが、各チームの工夫を阻害することは望ましくないですよね。
市場やお客様やエンドユーザーからの期待に応えつつ、よりよく楽しくやりがいを持って開発できるように、先人たちの知恵に敬意を持ちながらも今までの常識(偏見のコレクション)を捨てる自由も含め、今後も「よりよい方法」を見つけだそうとし続けたいですね。

おわりに

#

「自由を与えられればよりよく流れるように進化する」というコンストラクタル法則は、価値をすばやく継続的に届け続けるアジャイルのヒントにもなりそうな気がしています。
生き残るためにはよりよい方法を見つけ続けることになります。
これからも自由があれば(ムダな過剰管理がなければ)よりよい方向に進化していくと思っています。

27億年前の地球は全くの自由、光合成を始めたバクテリアによって地球に猛毒「酸素」が増え始めてきた時の生き残り戦略

  • 酸素がほとんどない場所で生き延びる → 海底や動物の腸内など
  • 酸素とともに生きる方策を探る → 酸素をエネルギーとして活用できるミトコンドリアを細胞内に取り込む
    高度な医療研究施設があるわけでもない27億年前の地球で...
    大丈夫♪ 何が起きてもなんとかなりそうな気がしてきますね。

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。