オルトプラスエンジニアの日常をお伝えします!

ストレッチをエンジニアリングしよう 〜その硬さ、ボトルネック特定できてる?〜

※この記事は AltPlus Advent Calendar 2017 の11日目のエントリです。

DSC_0290.JPG

みなさま年末進行お疲れ様です。

この時期、われわれエンジニアはいつもに増して座りっぱなし、コーディングしっぱなしですよね。んで、「体動かさなきゃなー」とか「ストレッチやったほうがいいんだろうなー」とか思いつつも腰が重くてなかなか行動に移せない諸兄がたくさん居らっしゃると存じます。

というわけで今回は体が硬いお二人に来ていただきました。


IMG_2011.JPG

カサトーさん ブロンドヘアが美しいソリッドボディ(割りと硬い)


ミオさん おしゃれパーマがよく似合う超合金ボディ(かなり硬い)


ご注意 効果には個人差があります。ストレッチは無理やり行うと思わぬ怪我の原因となります。無理せず痛くない範囲で行いましょう。


ストレッチをエンジニアリングする


「というわけでストレッチやるんですが、ストレッチ得意ですか?」


「そんなエンジニアあったことねーよ」


「やったほうがいいのはわかってるけど痛いし、効果感じにくくて続かないですね」


「うん、非常によくわかります。でもね、ちょっと視点を変えてみましょう。体が硬い、ストレッチしても効果出にくい、こういったことには原因があるはずです」


「うーん、そうはいっても全身硬いからね。身体ごと交換しないとダメなんじゃね?ってレベルで...」


「じゃあ、アプリに置き換えて考えましょう。もしアプリの動作がモッサリしてるときはどうですか?」


「あーそういう場合は何かしらボトルネックがあったりするよね。デバッグログが垂れ流しだったり、パーティクル画像がやたらとでかいピクセル数だったり」


「ですよね。でもボトルネックが特定できれば解決策を考えて実施できませんか?


「言いたいことは分かるんですが、問題認識や想定がずれてて効果が出ない場合ってありません?サービス運営で施策がコケる場合ってだいたいが...(ry


「もちろんです。そういう場合は認識済みの問題を更に分解して適切な粒度で抽出したり、ベンチマークの測定箇所を変更してボトルネックを見直すなど、分析をやり直してより効果的なソリューションを構築しますよね」


「なるほど、仮説を立てて検証するんだね。バグフィックスとかチューニングとよく似ているね!それならエンジニアにはぴったりかも!」


「まさにその通り!一度の施策で効果が出るとは限らないので、継続的なPDCAが大切です」


「台本通りかよ」

まずは現状把握をしよう


「ではお二人の体の硬さを見ていきましょう。まずはミオさんから」


「めっちゃ痛いです」


「ちょっとメジャーしかなくて雑な計測ですが立位体前屈-21cmですね。理想的な数値です。続いてカサトーさんを見ていきましょう」



(あれ、思ったより柔らかいな)


「チートじゃね?」


「柔らかいのになぜかdisられている」


「またしても雑な計測ですが開脚131cmです。マニキュアがきれいですね」


「褒めるとこそこかよ」


ボトルネックを突き止めろ!


「では、先程の体勢で特に痛かった、強く張りを感じた部分はどこでしょうか?」


「いや、もう全部痛くてとにかく辛い


「じゃあ質問を変えましょう、背中、腰、お尻、裏もも、膝裏を比較して最も張りを感じるのはどこでしょう?」


「いや、もう全部痛いんだって」


「なるほど、じゃあ5箇所すべてがボトルネックだと仮定しましょう。ですが同時に5箇所のボトルネックを解消するのって可能だと思いますか?」


「うーん、ひとつのcommitに5箇所も大規模な修正加えられたらキレるかな


「ですよね。なので一旦は裏ももにフォーカスして考えていきましょう。先程の体勢だと5箇所全てに負荷がかかるので、裏もも以外の負荷を抑えた体勢でストレッチしていきます」


「裏ももだけじゃなくお尻も伸びてる気がするけど、さっきみたいに痛くないから楽だね」


「膝を曲げた状態で前屈するとお尻〜裏ももが伸びてきますよね。痛くないので呼吸も乱れず安定したストレッチ動作になっています」


「私は内ももが痛かったんですが...」


「はい、では内ももをボトルネックとして仮定して進めていきましょう。ちなみに左右で痛みや張りの違いはありましたか?」


「うーん、どちらも同じくらいです。あ、でも右側のほうが開きが悪かった気がする」


「なるほど、では片側ずつ見ていきましょう」


「おお、右が硬いっすね!」


「左はあんなに柔らかったのにね!」


「硬いほうがウケる...そんなバカな」


「しかも右はお尻が浮いてしまってます。内ももの左右差より、お尻の柔軟性に左右差が大きいのかもしれません。内ももをボトルネックと仮定しましたが、案外お尻側に大きなボトルネックがあるかもしれませんね。というわけでお尻のストレッチもやってみましょう」


「あーこれすごいお尻が伸びる気がする」


「ボトルネックだと思って弄ってたら、実は隣にもっとでかいボトルネックが居たってやつかな。開発あるあるだね!」


「ほんとそれ。ちなみにこの体勢ができない場合はもう少し負荷を下げた体勢でやってみましょう」


「負荷下げてもツレー!!」


「特に痛い部...」


「全部ーー!!」

効果測定


「というわけで、ボトルネック分析とソリューションの構築、実施を行いました」


「そう言えばそういう趣旨だったよね」


「じゃあ次は効果測定ね」



「お、結構いいんじゃない?」


「立位体前屈 -15cmです。+6cm伸びてますね!素晴らしい!」



「あ、これは来たかも」


「開脚 149cmです。+18cm伸びてますね! これは予想を超える成果ですね!」


「やっぱチートなんじゃね?」


「」


「単純に開脚の数値が伸びただけじゃなく骨盤が立つようになって姿勢も良くなってますね。お尻のストレッチが効果的だったようです」


「そうですね、開脚だけでなく股関節の内外旋の可動域も広がった気がします」


「いきなりどうした...」

まとめ

対象者 体勢 ボトルネック 結果
立位体前屈 裏もも
(若干お尻)
+6cm(-21cm -> -15cm)
開脚 内もも
お尻
+18cm(131cm -> 149cm)

というわけで上記の結果を得ることができました。厳密な測定や評価ではありませんが「ストレッチもボトルネックを突き止めて解決して行くという点ではエンジニアリングとよく似ているね」という雰囲気が伝われば幸いです。

文中にもありましたが、一度の分析や実施では効果が得られない場合もあるのでトライアンドエラーを繰り返しつつより効果的なソリューションを構築してゆくのが大切です。また、一定の成果を得られた後も現状に満足せずさらなる高みを目指してPDCAを回してくださいね!



「ちなみにミオさんは5箇所中、1箇所の対応で+6cmの効果が得られましたよね。ってことは5箇所全部に対応を入れたら...?」


「+30cm!!」


「・・・雑な計算だな」

それでは良きストレッチライフを!


ご注意 効果には個人差があります。ストレッチは無理やり行うと思わぬ怪我の原因となります。無理せず痛くない範囲で行いましょう。