私がCucumber/Gherkinが好きな理由

おススメ記事は過去のものが沢山あるし、そもそもおススメするのが苦手なので、自分が好きな理由を書いてみる。

Cucumber/Gherkinって何?

BDD Testing & Collaboration Tools for Teams | Cucumber

テストツールの1つ。
Behavior-Driven Development (BDD)で利用されることが多い…ハズ。あんまり話聞かなくなった気もする。

以下のような感じで、テストを自然言語で書くことができる。

    # ログインとお知らせの確認
    もし    受講者 ユーザ "nobiinu" パスワード "fugafuga" でログインする
    ならば  "nobiinu様" と表示されていること
      かつ  視聴可能な単元に以下が表示されていること:
        | コース     | 単元   | 視聴期限 |
        | コース1 | 第5回 | 11月14日 |
        | コース1 | 第6回 | 11月14日 |

もちろん、自然言語だけでは実行はできない。
自然言語を実際のアクションに落とし込むためのコードを書く必要がある。グルーコード(glue code)と呼ばれているようだ。
以下は、コードの例。

    /**
      * @When 受講者 ユーザ :user_name パスワード :user_password でログインする
      */
    public function 受講者_ユーザ_パスワード_でログインする($user_name, $user_password)
    {
        $this->visitPath('/');
        $this->getSession()->getPage()->fillField("user", $user_name);
        $this->getSession()->getPage()->fillField("password", $user_password);
        $this->pressButton("ログインする");
        $this->getSession()->wait(10000, "document.readyState === 'complete'");
    }

Cucumberがテストシナリオ?に記述した文章に対応するコードを見つけ出して実行する。

    もし    受講者 ユーザ "nobiinu" パスワード "fugafuga" でログインする

に対応するコードとして

    /**
      * @When 受講者 ユーザ :user_name パスワード :user_password でログインする
      */
    public function 受講者_ユーザ_パスワード_でログインする($user_name, $user_password)

の関数を見つけ出して実行する。仕組み、設定などはここでは割愛。

なんで好きなの?

3つ書いてみる。1つ目はそもそものお話。3つ目は副作用。2つ目がCucumber/Gherkinだからこその話になるかな?

  • テストをコードで書ける
  • 日本語でテストが書ける
  • 日本語を使うことで、なんとなく頭の中の整理が進む (気がする)

それぞれを説明してみる。

テストをコードで書ける

これに尽きる。MPは集中力、根気と変換していただいて問題ない。
手動でのテストは根気が続かないのである。仕事だろ? と言われても、続かないので仕方がない。
だからと言って、コードであれば集中力が持続するのかというと、そうでもない。テストを手動でやるよりはマシというお話。
そんなところで開き直っても仕方はないものの…。

日本語でテストが書ける

コードならスラスラ書けるのかというとそうでもない。
私はオブジェクト指向が苦手である。どうやら責任を分解するのが苦手らしい。なんでも1つのクラスにやらせちゃう。なんでも一人でやろうとする自分に似ている気がする。

業務の言葉に該当する英語を考えるのも苦手である。苦手というか、時間をとって調べるという手間を書けるのを惜しんで、コードを書いてしまう。
この年になってようやくわかったんだけど、すぐ動かしたいという衝動を抑制するのが下手らしい。
なんにせよ、コードを書くために必要な手間を惜しむせいで、あとから見て、なんだこりゃ? なコードになる。自業自得ではあるが寂しいものだ。

そんな私でも、日本語で書けるなら、多少はマシなものができる。日本語であれば「あれ」は「あれ」とそのまま書けばいいのだ。
お客さんが話している言葉、自分も適切だと思う言葉でテストを表現することができる。素晴らしい。

日本語を使うことで、なんとなく頭の中の整理が進む (気がする)

そうやって日本語を使ってテストを書いていると、なんとなく違うな? こっちの方が分かりやすい表現だな? とか気づくことがある。
気づいたら、ちょっと文章を直してみる、いい感じになると悦に入ることができる。そうでなければ元に戻せば良い。
自分なりに理解が進む。進んだ理解に合わせて、表現を変えることができる。

テストが成長していく様を体験できる。嬉しい。楽しい。

ツラみについて

もちろん嬉しいことばかりではない。他のテストコードと同じようにメンテがツラい。

Cucumber/Gherkinを使う場合、日本語で書いたテストシナリオと、プログラム言語で書いたグルーコードの2つが必要になる。 両方をメンテナンスしなければいけない。

テストシナリオが変わってなくても、画面が変われば、テストコードを変える必要がある。
大きくUIを見直す時はため息がでる。

テストシナリオで使っている表現を修正しようとしたら、すべてのテストシナリオの修正と、テストコードの修正が必要だ。
作りすぎていると修正に苦労する。

画面の操作には Selenium を使っているので、クラスやIDなどを使って対象の要素が見つけやすくなるようにしておいた方がいい。
新しいプロダクトであれば、最初からそういう方針で画面を作っていけばいいのだけれど、既存のプロダクトはそうはいかない。
レガシーなプロダクトで使うのであれば、相応の覚悟が必要になる。

Cucumberのせいではないが、Selenium使うのもまぁまぁツラい。以前動いていたコードが、ブラウザ、ライブラリのバージョンアップによって動かなくなることがある。あのブラウザでは動いたコードが、このブラウザでは動かないといった問題とも付き合わなければならない。

何が言いたかったの?

メンテのこと考えるとうんざりするところはあるけれど「自分的に納得できる日本語で書いたテストがコマンド一発で実行できる」というご褒美があるので続いているというお話だったらしい。好きなところを書くつもりだったんだけども…。

ちなみに、現在は、コマンド入力してエンターキーを押すだけで、以下のデバイスを使ったテストを全自動で実行できる。ウヒヒヒヒ。

3Dプリンタではまった「真っすぐ」の沼について

3Dプリンタで表札を作ろうとしている、デザインは字+ちょっとしたイラストなので、そんな難しくはない。
が、10月くらいから手を付け始めてまだ終わってない。「真っすぐ」の沼にはまっているからだ。

なので、タイトルは正確に言えば「はまった」ではなく「はまり中」になのだけど、そろそろ諦めようかと思ってるので、「はまった」でも問題はない。多分。

3Dプリンタを使った表札づくり

3Dプリンタで表札を作るには、以下の工程が必要になる。

  • 3Dモデルで表札を作る
  • 作った3Dモデルを3Dプリンタで印刷する

3Dモデルで表札を作る

アプリを使って、表札を作る。私はフリーのソフト Blender.jp を使っている。理由は特にない。強いて上げるなら、ハトマスクをBlenderで作った から?
四角形を並べるだけなのであまり困ることはないが、注意点が2つほど。

日本語を入力するときはコピペ

Blenderは日本語を直接入力することができない。ので、メモ帳とかに入力した文字をコピペする。
参考: Blender 2.9のテキストオブジェクトで日本語フォントを利用する - MRが楽しい

イラストはSVGで取り込む

描いたイラストをBlenderに取り込むには、SVGというフォーマットに変換するといいらしい。
参考: 【Blender】イラレで描いた図形を立体化する - おもちゃラボ

FireAlpacaというペイントツールを使って描いた線画を、PNGとして保存。保存したファイルを、SVGに変換する。今回は、PNG to SVG というオンラインのサービスを使ってみた。(素性はわからないので利用するときはお気をつけて)

左がFireAlpacaで描いたイラスト。これをSVGに変換して、Blenderに取り込んだ後、厚みをつけると右になる。

f:id:couger:20211127170250p:plainf:id:couger:20211127171747p:plain

作った3Dモデルを3Dプリンタで印刷する

Blenderで作った3Dモデルを、スライサーというソフトを使って3Dプリンタが扱うデータに変換する。
私が使っているELEGOO Mars 2 は、CHITUBOXというスライサーがおススメされているのでそちらを使う。

参考: 【初心者向け】CHITUBOXの設定・使い方 / Anycubic Photon・MARS・Phrozen / 光造形用スライサー | SHIGEMON PRESS -3Dプリンター版-

スライサーで作ったデータを、USBメモリにコピーして、3Dプリンタで印刷すればできあがり…のはずなんだけども、ここからが沼。

「真っすぐ」の沼

イラストにそこそこ手間がかかったが、モデルを作ること自体は簡単だ。印刷も長くて2~3時間くらい待てば終わる。
だが「真っすぐ」は簡単に終わらない。
以下は失敗作の山。プラバンで作った方が早いし、安いんではないかと思う。が、3Dプリンタはロマンなのでいいのだ。

f:id:couger:20211127192451j:plain

それはさておき、「真っすぐ」の敵は大きく分けて「反り」と「太り?」の2種類がある。 太り? と書いてあるのは、みんなが言ってる肉太り、太りが私のそれと合ってるのか良く分からないから。

反り

反りは印刷後に起きる。薄い板上のものほど反りやすい…気がする。表札ではないが、反りがよくわかる写真が以下。

f:id:couger:20211016190207p:plain

太り?

以下の写真でいうと、四角形の底辺が丸く曲線を描いている。これが(私の言うところの)太り。

f:id:couger:20211127180928j:plain

対策

今の自分の知識では「多少は気にしない」「印刷後に修正する」が解決策になりそう。それじゃあまりにも何なので緩和策について書いてみる。

緩和策

反りについては「プラットフォームに対して垂直水平に配置しない」が有効そうだ。太りについては対策が分かっていない。

プラットフォームに対して垂直水平に配置しない

理屈は理解できてないんだけども、確かに反りが減る。私は x,y,z軸にそれぞれ10度程度傾けて印刷している。
光造形の3Dプリンタは高さによって印刷時間が決まる。反り対策として印刷物を傾斜させると通常よりも高さが出る=印刷時間が伸びる。もちろん、幅も取るので一度に印刷できる個数が減る。痛しかゆし。とはいえ、大きく反るよりはマシ。

f:id:couger:20211127181837p:plain

参考: SK本舗ユーザーのリレーコラム#05「3Dプリンターで水洗いレジンを使用した際の反り対策と模型制作を考える」(今井誠) – SK本舗-3Dプリンターとレジンの通販・購入

番外:印刷の成功率を上げるために

記事を書くために探してたら、印刷の成功率を上げるためのあれこれがまとまっているサイトがあったので、備忘録がてら。
最初に読めばよかった…orz (と思いつつも、絶対最初に読まないタイプだから諦める)

3Dプリンタを使って半年たったので分かったことをまとめてみる

4月に3Dプリンタを購入。半年くらい使ってみたので、現状の構成や分かったことをまとめてみる。

きっかけ

フルアーマーガンダムMk-IIのアーマーを自作したかったんだけど、不器用なのでプラバンやパテで作るのは無理。というか、心が折れる
3Dプリンタなら、設計図ができればいくらでも量産ができるのではないか?! という超安易な考えで購入。もちろん、そんな簡単にいくはずはなく現在も四苦八苦している最中。

作ったもの

フルアーマーガンダムMk-IIのアーマー。写真の灰色のパーツがそれになる。
スタイルはお察しだけど、3Dプリンタのおかげで精度は非常に高く(少なくとも私が自作するよりは…)、量産も可能。3Dプリンタ、スゴい。

構成

3Dプリンタ以外はあれこれ試して今の構成に落ち着いている。

3Dプリンタ

ELEGOO Mars 2 にした。今のところ不具合もなく問題なく使えている。

当時のログを見ると以下のブログを見て購入を判断したようだ。先人に感謝。

レジン

臭いの少ないプラントベースのレジンを使っている。他のレジンを使っていた時は家族から臭いといわれていたんだけど、このレジンに変えてからはほぼなくなった。
500mlと1Lがあるが、1Lの方が圧倒的にコスパが良いということを最近知ったので、今後は1Lを買う予定。

エタノール

今使っているレジンはアルコールで洗浄する必要がある。イソプロピルアルコールは取り扱いが大変らしいので、消毒用のエタノールを使っている。最初は無水でやってたけど、無水でなくてもよさそう。水で洗浄できるレジンもあるのだが、前述した臭いの問題で使えない。

コスパを考えて、以下を買ったのだが、値段にあんまり差がないようだ…。 ちなみにイソプロピルアルコールの取り扱いの難しさについては以下のブログで知った。
はじめての3Dプリンター!造形準備と後片付けについて - やなか技術士事務所のホームページ

モデリングツール

Blender。フリーのモデリングツールで、以前使ったことがあったのでそのまま使っている。
blender.org - Home of the Blender project - Free and Open 3D Creation Software

スライサーソフト

chitubox。みんなが使っている。確か3Dプリンタのマニュアルがこれだった気も…。
All-in-one SLA/DLP/LCD Slicer-HOME

運用や工夫、課題について

印刷

反り対策には角度が有効

プラットフォームに対して垂直ではなく、傾きを持たせた方が反りが少なくなるという記事を読んで試してみたのが以下。プラットフォームと並行、垂直に印刷した手前(裏面梁なし)と真ん中(梁あり)は反りがかなり出ているが、プラットフォームに対して角度をつけて印刷した奥のもの(梁あり)は反りがほぼない。
今は、X、Y、Z軸に対して15~20度くらい傾けて印刷するようにしている。

参考:SK本舗ユーザーのリレーコラム#05「3Dプリンターで水洗いレジンを使用した際の反り対策と模型制作を考える」(今井誠) – SK本舗-3Dプリンターとレジンの通販・購入

自動で付くサポートに頼りすぎない

スライサーソフトにはサポートを自動で付ける機能が付いている。とっても便利。なんだけど、万能ではない。(そりゃそうだ)

具体的にいうと上記のようなパーツにサポートを自動でつけると以下(反時計回りに90度回して、真下から見ている図)のようになる。

そのまま印刷したら、丸で囲んでいる部分、角のところが欠けて印刷されてしまった。
なので、最近は自動のサポートに加えて、危なそうなところ、角のところや辺の中央などにサポートを追加するようにしている。

参考: SK本舗ユーザーのリレーコラム#04「SLAプリンタの剥離抵抗と、より高精細な造形をするためのヒント」(IKE) – SK本舗-3Dプリンターとレジンの通販・購入

洗浄

2段階の洗浄でアルコールの入れ替え頻度を下げ たい

以下のように2段階で洗浄している。できるだけアルコールの入れ替え頻度を下げたいという欲求から。

  • プラットフォームについたままの印刷物に、スプレーを使ってアルコールを吹き付け、表面のレジンを大まかに流す
  • タッパーに入れたアルコールに、印刷物を漬け込んで、刷毛で細かいレジンを流し落とす

5,6回くらい使いまわしているけれど、洗浄後の印刷物がべた付く感じはない。ので欲求は満たせている気がするのだが…。
使っているタッパーは以下のもの。深すぎたかと思ったんだけど、ちょうどいい感じ。

ちなみに刷毛はこちら。

後処理?

サポート材は手で除去できる

手で除去できることを知るまで、1本1本、ニッパーで切っていた。超面倒かった…。
40%くらいの密度(Density)でサポートを生やすと、除去しやすくなるので良いのだが、前述するように必要な個所にサポートがないと、望んだ形にならないのでそこは注意。後、力余って印刷物を割ってしまうこともあるので、力加減にも注意。

課題

洗浄後、サポートが付いている面がネトネトする → 二次硬化までやろう!

上記の方法で洗浄すると、サポートのない面はツルツル、キレイなのだが、サポートが付いている面は若干ネトネトしている。レジンが落としきれてないのか、硬化が甘いのか。理由はわからない。

レジンが落としきれていないということであれば、超音波洗浄機を使えばいいんだろうけども…。

二次硬化してないせいだった。二次硬化するとべたつきが消える。水洗い可能なレジンの場合はハンドソープで洗うのが良いらしい。

その他

3Dプリンタ置き場

アルコールやレジンで床が傷むといやなので、ブルーシートを敷いている。

今まで印刷したパーツ達

なんかの記録になるかなーと思い集めている。全部で227グラムあった。使ったレジンは1~1.5Lくらい。

Behat + Minkで作ったテストをAndroid+Chromeでも動くようにした

状況

  • PHPで作ったアプリのE2EテストをBehat+Minkで実装している
  • アプリがモバイルでも動くかどうか確認する必要が出てきた
  • Behat+Minkで作ったE2Eテストを、Android上のChromeを使って動かして、動作確認をしたい

大まかな仕組み

以下のようになる。 すでにMacbook上でChrome Driverを使ってE2Eテストを動かしているので、adb -> Android -> Chromeのところを準備すればOK。

Behat -> Mink -> Selenium -> Chrome Driver -> adb -> Android -> Chrome

動かすためにやったこと

  • AndroidWifi経由で操作できるようにする
  • behat.ymlにAndroid用のプロファイルを追加
  • Androidからアクセスできるよう、BeforeScenarioでMinkとアプリの設定を切り替え
  • Chromeでのみ発生する要素をクリックできない問題に対処

以下、それぞれの説明

AndroidWifi経由で操作できるようにする

Android 11以降は、Wifi経由で操作ができるようになる。それ以前だとUSB接続のみ。
USBは面倒なのでWifiで接続できるようにした。

Android Debug Bridge(adb)  |  Android デベロッパー  |  Android Developers

ハマった点

  • Android Studioを最新にアップデートする
    • 苦労した覚えはあるんだけどなんだったか忘れた
  • ADBの接続コマンド
    • 公式ドキュメントを見てやれば大丈夫

behat.ymlにAndroid用のプロファイルを追加

extra_capabilitiesにgoog:chromeOptionsのandroidPackageを入れるのがポイント。 base_urlについては後述。

android:
  extensions:
    Behat\MinkExtension:
      base_url: http://#localhostIP#:8090
      selenium2:
        browser: chrome
        capabilities:
          extra_capabilities:
            goog:chromeOptions:
              androidPackage: com.android.chrome

Androidからアクセスできるよう、BeforeScenarioでアプリの設定を切り替え

通常、Macbook上ではlocalhostを使って接続しているので、URLは常に http://localhost で良いのであるが、AndroidからWifi経由で接続する場合は、IPアドレスを使って接続する必要がある。で、MacbookIPアドレスは常に変わる。(固定しろよって話もあるが...)

ちょっと面倒だけど、毎回実行時にIPアドレスを取得して、Minkとアプリの設定を書き換えることにした。

RawMinkContextを継承しているクラスで以下のコードを、@BeforeScenario で実行すればOK。

        $baseUrl = $this->getMinkParameter('base_url');

        if (strpos($baseUrl, "#localhostIP#") > 0) {
            // IPアドレスを取得
            $ipAddressesRC = preg_grep("/^192\./", gethostbynamel(gethostname()));
            $ipAdderss = array_shift($ipAddressesRC);

            // URLを書き換え
            $newBaseUrl = str_replace("#localhostIP#", $ipAdderss, $baseUrl);

            // 全てのContextに設定を反映
            $environment = $scope->getEnvironment();
            foreach ($environment->getContexts() as $context) {
                if ($context instanceof \Behat\MinkExtension\Context\RawMinkContext) {
                    $context->setMinkParameter('base_url', $newBaseUrl);
                }
            }
        }

ポイントは $environment = $scope->getEnvironment(); 以降のコード。
利用している全てのContextに対して、設定を変更する必要がある。

上記で変更したURLを使って、アプリの設定を書き換えればOK。コードは省略。

Chromeでのみ発生する要素をクリックできない問題に対処

ここまでで実行するだけならできる...んだけど、テストが通るようにするために、Chrome特有の問題に対応する必要があった。

問題とは以下のもの。画面外にある要素をクリックしようとするとエラーになる。

seleniumにてButtonがクリックできない時の対処法 - Qiita

解決方法は難しくない。Clickの前に上記のエントリにあるようにスクロールをするか、フォーカスしてあげればOK。
カスタムのContextを使っている場合は、コードにスクロールなり、フォーカスするコードを追加すればよい。

私は、カスタムのContextに加えて、Behat\MinkExtension\Context\MinkContext も使っていたので、メソッドをオーバーライドしてフォーカスするコードを追加した。以下のような感じ。クラスの名前がやっつけすぎるな...。

class MyMinkContext extends MinkContext implements TranslatableContext
{
    public function clickLink($link)
    {
        $link = $this->fixStepArgument($link);
        $elem = $this->getSession()->getPage()->findLink($link);
        $elem->focus();
        $elem->click();
    }

BlenderでコレクションごとにSTLファイルを出力するスクリプト

フルアーマーガンダムMk-IIのアーマーを自作するために3DプリンタELEGOO Mars 2を購入した。 Blenderを使って3Dモデルを作成し、CHITUBOXでスライス、印刷をしている。

f:id:couger:20210506212539p:plain

CHITUBOXで読み込むために、肩、腰、胸などのパーツごとにSTLをエクスポートしているんだけども、オブジェクトを選択、エクスポート処理を呼び出し、ファイル名を入力するという操作を何回も何回も何回も繰り返すのが嫌になってきたので、簡単なスクリプトを書いた。

  • targetsに指定したコレクションをSTLファイルに出力
  • 出力先は、"プロジェクトファイルのあるフォルダ"/stl。なければ勝手に作成
  • ファイル名は "full-armor-gundam-mk2_" + targetsで指定したsuffix
import bpy
import os
import shutil

bpy.ops.object.mode_set(mode='OBJECT')

targets = []
targets.append({"collections":["Shoulder"],"suffix":"shoulder"})
targets.append({"collections":["Chest-Side", "Chest-Center"],"suffix":"chest"})

out_dir_path = bpy.path.abspath("//stl")

if os.path.exists(out_dir_path):
  shutil.rmtree(out_dir_path)
os.mkdir(out_dir_path)

out_file_path_base = bpy.path.abspath("//stl/full-armor-gundam-mk2")

for target in targets:
  #print(target["suffix"])
  bpy.ops.object.select_all(action="DESELECT")
  for collection in target["collections"]:
      #print(collection)
      for obj in bpy.data.collections[collection].all_objects: 
          obj.select_set(True)
      
  bpy.ops.export_mesh.stl(filepath=out_file_path_base + "-" + target["suffix"] + ".stl", use_selection=True)

「でもやるんだよ」のツラみを好きなもので緩和しているお話

アジャイルに限らず、継続することって大事なんだけど大変ですよね。私は飽きっぽいので続けるツラみがハンパなくて困ってます。どうにかしてほしい。これ。

とはいえ、続けないと先はないので、飽きっぽい自分に「でもやるんだよ」と言い聞かせながら進んでいるわけですが、そもそもツラいことなので、真面目にやっていると息が詰まる。

息が詰まると続けられなくなる、続けられないと先がなくなる。とはいえ、ここから引き返して他の道を探るのはかなりツラそう。仕方がないので続けるか…というのが現在のポジション。

まぁ、そんな経緯はともかく、息が詰まらないように続けないと先がなくなっちゃうので、そのためにどうすればいいのか? と日々悩んでおり、その結果「自分の好き」から「でもやるんだよ」成分を摂取して、真面目で埋め尽くされないようにするという戦法に行きつきました。

そんなわけで、今日は、私のでもやるんだよを支えてくれているあれこれを紹介しようと思います。

水曜どうでしょう

水曜どうでしょう 番組スタッフからのメッセージ

そして、今後は、我々のわがままではありますが、
一生続けられるようなペースで、
「水曜どうでしょう」を作っていけたら、と思っています。

一生どうでしょうします
個人(代々受け継ぐやつを除くって意味)で続けられるレベルではこれ以上のものはないんではないかと。肩の力を抜いた持続可能なペースでありつつ、しっかりお金も稼いでいる彼ら。いや、ほんと、見習いたい。

みうらじゅん

「でもやるんだよ」の扉を叩いたのは、みうらじゅん氏の『「ない仕事」の作り方』がきっかけだったと思います。 ツラくなった時は「それがいいんじゃない!」「不安タスティック」などと叫んだりすると良いみたいですよ。

それがいいんじゃない! みうらじゅん 人生が楽になる魔法の呪文

『つまらないな』と思ったら『つま・・・』のあたりで、『そこがいいんじゃない!』って言うと、
つまらないことがいいことになるってことだから。
2倍戻ってくるんですよね。
ええ。『俺、つまらないところが好きだったんだ!』って思うと、
『そうだよな』みたいな、得した気持ちになりますよね?ええ。

不安タスティック 21人の「Life is」- ほぼ日刊イトイ新聞

人生はつねに不安なものである、しかし、
「不安」に「タスティック」をつけることによって
毎日をたのしんでいこうじゃないか──ということです。

角 征典氏

アジャイル界隈のでもやるんだよと言えば、角さんと角谷さん。で、私は角さん推しなんです。

でもやるんだよにあふれた?角さんのTwitterアカウントは是非フォローしてほしいです。

この話は「落語とは、人間の業の肯定である」という話につながっていくみたいです。いろいろと深そうな世界…。

もけんちゅTV

最近みつけたでもやるんだよ。

プラモアイドルの香坂きの氏のYoutubeチャンネルですね。最近再開したプラモデル作りはこの方の動画がきっかけ。

で、どこが「でもやるんだよ」かと申しますと、以下の動画。

www.youtube.com

10年続けているってところも驚いたんですが、5分くらいからの「やってみたいと思っている人の背中を押すのがプラモアイドルのお仕事」「ずっと同じことやってるじゃんって言われそうだけど、それがずっと初心者さんの近くにいるってことじゃないのかな」この辺のくだりがもうもうもう。ぜひ、動画をみてください。(こんなのバッカ)

マッキーめぐみのガンプラch

同じくガンプラつながりで。 初代ガンプラ王 鋭之介初代日野さんのお話が聞けるのであります。

この方のお話は、なんというか、私にとってのUncle Bobみがあるんですよ(分からない方は、Clean Agileを読んでみてください)。

一例をあげると…。

www.youtube.com

あなたは性格的に性急的なんでな、
ちょっと落ち着いて、少しずつ段階的にを身に着けませんと。
これは模型だけじゃありませんよ、人生全てにおいて段階的に落ち着いて…
とりあえず思いついたらパッと動く前に3秒考えて…
最も失敗しない、論理的科学的考え方はどれかって言うことがまず大事。
失敗の大半は「それは失敗しますよ」という方法を選んでいることが多いんで

持続可能のためにゆるみは必要だと思うんですが、だるんだるんになるまでゆるみすぎると良くない気もしており。たまに動画を見返すと背筋が伸びるんですよね。シャキッとするというか。

ちなみにこのチャンネル、見てる人はおじさんが多いそうで…。なるほど、納得。

倉持由香

グラビアアイドルの仕事論 打算と反骨のSNSプロデュース術」がスゴいんです。

グラビアアイドル史上初のビジネス書発売! 
「尻職人」倉持由香が伝授する最新の自己プロデュース術にして仕事論!

倉持由香「登れる山がないなら、自分で新しく山を作る」/ はたらく気分を転換させる|女性の深呼吸マガジン「りっすん」

ちょうど「グラドル自画撮り部」を始める少し前に、
「その大きな尻を活かした方がいいよ! 活かさなかったらただの無駄尻だよ!」と
知り合いのカメラマンさんに言われたんですよ。
自分ではヒップをコンプレックスだと感じていたんですが、
その言葉をきっかけに「売りにしていくぞ!」と決めて、タイムラインを尻で埋め尽くしてやろうと
5分に1回のペースで載せていきました。飯テロならぬ尻テロです(笑)。
私はグラドルとしては胸も小さい方ですし、
既にあるグラドルの山に登ろうとしても、他のグラドルには勝てません。
だったらもう、自分で山を作るしかない。王道のグラドルたちが登る富士山は諦めて、
その近くに尻の山を作りました。小さい山でも頂上に立つことが大事なんですよね。

アジャイル界隈もスゴい人ばっかりで、どの山も満員御礼なんですよ。となると、自分で山を作るしかないんですが、私に売りなんてあるわけないじゃん!!! と逆ギレしそうになるところを、ぐっと我慢。倉持氏のようにコンプレックスを逆手にとって山を作ればもしかすると…。

だからと言って、ハトの山を作っても仕方がないことはよくわかりました。はい。

高橋優 プライド

社内のコミュニティでとある方から教えてもらった曲。

www.youtube.com

君ではダメだと言われてしまったか?
君じゃない人の方がいいと諦められたか?

初手からツラみがスゴいんですが、聞いた後は仕方ない、じゃ、やるかって感じになったり、ならなかったり。

いろんなあれこれを集めてみ..たい??

いろんな人の「でもやるんだよ」を支えているあれこれを集めてみると面白かったりするのかしら。博覧会っぽく。

路地裏アジャイル

路地裏アジャイルとは何か?

何でそんなことを考えたのか?

私が「アジャイル向いてない人」だから。

2人でなら話せるけど、3人になると途端に話せなくなる。雑談が超苦手。天気の話から先がつながらない。人への興味が少ないんだと思う。個人と対話大事なのに。
自分中心なので、お客さんのためにってのが正直ピンとこないところがある。顧客満足は最優先なんだけども。
飽きっぽくてモクモクやるのが苦手。ふりかえりとかだんだん億劫になってくる。面倒なタスクは後に回しガチで、泣きながら追い込むことは多い。持続可能なペースはどこいった。

動くソフトウェアは好き。働くソフトウェアかと言われると微妙...。品質もまぁ動けばいいってくらいかな。品質は制御変数じゃないのに!!!

なので、まぁデフォルトとしてはアジャイル向いてない人なのだ。

何でそんな人がアジャイルをやろうと思うのか?

ロマンだから。憧れだから。そこに尽きる。自分にないものに憧れるってありませんかね。
漫画だと炎尾燃。映画だとLotRのフロドやサムとか。熱血、誠実。なんかそういうの。

じゃ、黙ってやってればいいではないのか?

いや、ホントその通り。それができたらいいんだけども...。

アジャイル向いてないから「しつけ」が必要になる。とはいえ、50年弱に渡って叩き込んだ習慣を直すのはとっても大変。
というか、直らない。調子の良い時にちらっと良い習慣が顔を出すことはあっても、疲れるとすぐ素の自分に戻る。
ずっとそれの繰り返し。このままずっとそうなんじゃないかと思う。というか、多分ずっとそうなんだ。

そういう状況だから、

「一生逃げるのもなんだけど、一生進むってのも……こわい」(逆境ナインより)

って感じで行ったり来たりしているワケ。
もちろん黙ってるやれるほどの根性はないから、こうやってブツブツ言いながらウロウロしているのである。

岡崎体育氏のSnackの歌詞がぴったりだ。

ズルしてるライフか無理してるライフ
どっちか選べばって殺生じゃない
ちょっとズルして少し無理したい

そう殺生なのだ。ちょっと弱音吐いて、少し修行したい。いや、だいぶ弱音吐いて、少し修行するくらいにしたい。

面倒なやつだ。結局、どうしたいの?

多分、私は私で勝手にダラダラやっていくんだろう。でも、せっかくだからもうちょっと面白くできないかとは思わないではない。
ツラみを面白くする、笑うって話だと、べてるの家と、水曜どうでしょうを思い出す。(理由はちょっと置いておく)
彼らのツラみに比べると、自分のツラみは小さく、取るに足らないものだろうけど、それでも自分のツラみを解消するために参考になることは多そうだ。

以下はべてるの家で活動している方のエントリ。

「笑う力~ユーモアの大切さ」べてるの家の笑いと当事者研究

病気についてだけではなく、誰もが持っている苦労や生活の工夫を仲間と一緒に話し合うことで、
「弱さ」を自分の中から取り出して、みんなでそれを眺めることができ、
弱さと上手に付き合う新しい工夫が生まれます。
精神障害の幻覚妄想の体験は、時に深刻な話題になりがちです。
しかし当事者研究という場には、いつもユーモアと笑いが絶えません。
ユーモアの定義の一つに、「にもかかわらず笑うこと」があります。
「ユーモア」は、究極の生きる勇気だとも言われています。

弱さと上手に付き合う、にもかかわらず笑う。すごい。
ただ、すごいってことは私にとっては憧れで、アジャイルと一緒ってことだ。だからやっぱり到達できないところにあるんだろう。

でも、まぁいいんだ。弱音吐きながらちょっとずつやるから。

路地裏アジャイルとは何か?

路地裏は、メインストリートに繋がってはいるんだけど、ちょっと薄暗い感じ。
それ、いいよね、わかる、わかるんだけど、ツラいよねぇ。それ。ってやつ。
だから、路地裏アジャイルは、アジャイル、いいよね、わかる、わかるんだけど、
修行ツラいよねぇってことになる。

メインストリート=修行を続ける道に繋がっているんだけど、流れがゆったりしているところ、または止まっているところ。 そこでは修行にちょっと疲れた人が一休みしながら、お互いのツラみやたわいもない話をしている...のかも。
というのが、今のところの認識。今のところだから、これから変わるかもしれないし、変わらないかもしれない。

場所にアジャイルってつけるのは変な気もするけれど、そこはえーと、怒られるだけ怒られておきます。 いい名前が思いついたらそっちに乗り換える...ことは多分しないだろうけども。

今後は、私の行ったり来たりをしているところを見せていくって話になるのかな。正直面倒だけど、まぁいいや。ぼちぼちやろう。