天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

XP祭りで話すかもしれなかったこと

先日の記事で書いたように、XP祭りで登壇をしてきました。

aki-m.hatenadiary.com

当日はインタラクティブに話せればいいなあと思っていたこともあって、当初予定していた話とは少し異なる話をする場所も多かったので、元々予定していた話をブログで公開しておきます。(自己紹介とかは省いて、スライドのP5〜から書いていきます)

スライド

speakerdeck.com

ブログとの出逢いと継続に至るまでの流れ

まず、ブログをなんで書き始めたか?という部分ですが、これは、ブログを書くことを漠然と検討していた時に、ブログを書くことを大きく後押しされる出来事があったためです。
ブログを書くことを漠然と検討していた理由は、二つあります。

一つは、オキザリスチームというチームがアウトプットを多数していて、それに刺激されていたということ。もう一つは、スクフェス札幌2020に参加した時に、アジャイル札幌のコミュニティの皆さんに心をうたれ、こういったコミュニティになんらかの形で貢献したいと思っていたのが理由です。
そうしてブログを書くことを漠然と検討している中で、どうしても参加したかった「スクラムガイド2020を読み解いてみよう」というイベントに、ブログを書く枠でないと参加できないという状況が発生して、ブログを書き始めることを決意しました。

そうして書いた最初の記事を投稿したのですが、この記事に対してイベントの主催者や参加者の方々が反応をしてくれました。
特に、イベントの主催者でありオキザリスチームのメンバーであるびばさんやKANEさんが喜んでくれたのがすごく嬉しくて、もしブログを書く枠で参加しなくても、ブログにイベント記事を書く取り組みは是非今後とも続けていこうと思いました。
そうしてブログを書き始めた自分ですが、コミュニティに対して何らかの貢献をしたいという想いは、次第に強くなっていきました。  
これは、コミュニティに参加する頻度が上がったというのもありますし、コミュニティで学んだことが自分が働いている現場で活かされることで、次第にいきいきと毎日が過ごせる実感が自分の中で持てるようになったからです。

また、こうしてブログを書くうちに、スライドに書いたような好循環が回るようになりました。
コミュニティに参加する→ブログを書く→ブログの記事を見ながら次の日からの仕事にどう活かせそうか考えて仕事で使ってみる→(何回かに一回は)仕事で成果が出る→より学びたくてコミュニティに参加する→ブログを書く...というサイクルが回り、学びを提供してくれるコミュニティへの感謝が深まると共に、自分の行動を変容させるための一つの道具として、自分自身の手で書いたブログの存在意義が次第に上がっていったのです。
また、これとは別の軸で、書いたブログが他の人に喜んでもらえたというのも自分にとってはブログを続けるモチベーションになりました。  
雑に書いているので稚拙な記事も多いですが、「参加したかったけど用事があって参加できなかったので記事が残ってくれてよかった」「参加したけど内容を一部忘れてしまったので、忘れていた内容を思い出せてよかった」「イベント主催者側として、参加した人から楽しんでいる様子やどんな感想を持ったのかが文章に残してもらえてありがたい」...ありがたい言葉をたくさんいただけて、すごく嬉しかったです。
このような変化が重なり、自分の中でブログを書くことへの抵抗は薄れていきました。  
ブログを書き始めた当初は、いつまでブログを続けられるのか?ブログを続けることになんか意味はあるのか?ブログを書く時間があったら別のことをした方がいいのではないか?などと考えることも多かったですが、今は自分がブログの意義を感じられる+他の人にも喜ばれるということで、一切そうした悩みも抱えることがなくなりました。

どんな記事を書いているのか?

大多数の記事が、イベントやカンファレンスの様子を綴ったレポートになっています。
それ以外にも、読書記録だったり、自身のふりかえりをするような記事を書くこともたまにあります。

いつ記事を書いているのか?

イベント参加レポートの場合は、99%以上の確率で、イベントに参加しながら書いています。
イベントに参加しながら書くことで、できる限り記憶が鮮明なうちにブログを書くことができて効率がよくなりますし、イベント参加後に一息ついてブログを書くモチベーションが下がる事態を避けられます。
個人記事の場合は、気が向いた時に書いてストックを貯めておき、イベントに参加する予定がない日にストックから自動でランダムに投稿されるようにしています。

どんな風にブログの記事を書いているのか?

イベント参加しながらブログを書いている時は、事前に構成を決めて下書きの形で雛形を書いておき、別で個人用に取っている記録メモから、印象的だった部分をコピペで移していきます。この個人メモは、イベントで話されていることをひたすら写経しているもので、そこからここはブログに書いても大丈夫そうだな、という部分を移していきます。

その上で、最後に感想を一言だけ書いて、公開することが多いです。(感想に時間をかけると、自分の気持ちがどんどん加工されてしまう感覚があるので、短い時間で一言だけ書くことで、思ったことをできる限りそのまま書くようにしています)

ブログは、丁寧に書こうと思えばいくらでも書けてしまうため、タイムボックスを区切る目的で、特定の時間(イベント終了後+0~10分)に自動で投稿されるようにしています。  
目標時間より早ければ、そのまま公開しますが、記事を一部移し切れなかった場合は自動で書きかけのものが投稿されてしまうので、時間を意識しながら、いつ投稿されてもいい状態にはしています。

ブログを書くときにこだわっているポイント

ブログを書く時にこだわっているポイントは、3点あります。いずれも、イベントやカンファレンスの参加レポートを書く際に、特にこだわっているポイントになります。

まず一つ目は、ログのようなブログを書くということです。
なるべくありのままに近い情報を加工せずに残すことで、自分自身も含め、イベントに参加していた人がイベントのことを思い出しやすくなるようにしています。
同時に、忙しくてイベントに参加しなかった人にとっても、なるべくイベントの様子を感じ取れるようにしています。
たまに、「参加したいイベントがあったんだけど、aki.mさんがいたから後でブログ見て終わりにしようと思った」という話を冗談っぽく言ってくださる方がいらっしゃるのですが、こうした感想を言ってもらえたりして、とっても嬉しいです。
また、ログのようなブログを書いているのは、moriyuyaさんが書かれている1on1大全という本の影響もあります。
この本では、人の話を聞く際のテクニックとして、人の話を一言一句逃さないつもりでメモに残すことで自分の判断を挟まないようにする、というテクニックが挙げられているのですが、この練習をする場として活用するために、ログのような形でイベントの記録を残しています。

二つ目は、書く書かないの線引きをすることです。
上に書いたように、基本的にはログのような形でブログを残すのですが、書いたことを文章として他の人が読んだときに、イベントに関わった方が少しでも嫌な思いをされる確率がほんのわずかでもあるなら、書かないようにしています。
具体例で言うと、たとえばプライベートな話だったり、元々の関係性や以前からのコンテキストをしらないと誰かを傷つけていると捉えかねない話、有料の記事で書かれているような話、と言うのは、あまり書かないようにしています。
ただ、たとえばイベントの発言者をぼかしたり、コンテキストを意図的に省くことで他の人が文章として読んだ時に嫌な思いをしないように書き換えられそうであれば、積極的に書き換えることで記録に残します。

3つ目は、1000文字以上は書くと言うことです。
書き出す時から、1000文字以上は記事を書くことを意識して、もし1000文字以上書けるような内容がない場合はブログには残さないようにしています。
ブログを継続することだけが目的になってしまった結果、ブログを書くためにイベントに最初とか最後の方だけちょろっと参加して、数行感想を書いて終わり、のような記事を書いてしまうような状況になるのが嫌で、そうした状況になることを防ぐための制限として、基本的には1000文字以上を必ず書くというルールを設けています。

ブログを継続するために継続してきた工夫

以下、「エクストリーム・プログラミング」の書籍の文を引用しながら、自分がしてきた工夫を記載していきます。(「エクストリーム・プログラミング」を読んで思いついた工夫ではなく、やってきたことを無理矢理「エクストリーム・プログラミング」にこじつけるとこうなるなあという話だと受け取ってもらえると幸いです)

サポートしてくれるコミュニティーの存在は、ソフトウェア開発の偉大な資産である

まずは、関係性を広げることを意識してブログの記事を書くようにしています。
具体的にいうと、継続的に参加するイベントと、普段は交わらないような参加者層がいるイベントを織り交ぜるようにしたり、ブログで発信する内容に興味を持つであろう層を様々な層に分散させるような内容に意図的にしています。
こうして関係性を広げていくことは、自身が学ぶ対象の範囲を広げることになって、様々な気づきを得られるようになります。

生産性や自信はコーディングや仕事だけでなく、仕事場の人間関係とも結び付いている。成功には、優れた技術力と良好な人間関係が必要だ。

次に、自身をつけるということです。
具体的な取り組みは2つあるのですが、一つ目に紹介するのは、記事を書くハードルを上げすぎないということです。
ブログの記事は、時間をかけて書こうと思えばいくらでも時間をかけられてしまうため、極力時間をかけないようにしています。先ほど説明した、イベント時間中にブログを書くというのもハードルを上げすぎないようにするための一環ですし、その他にも、記事にもよるのですが記事の見直しを投稿前にしないようにしたり、装飾を最低限に抑えたりしています。
今日も継続できた!と達成感を味わうことは自信につながり、この自信が次の記事を産むので、このようにハードルを上げすぎない活動は重要な意味を持っています。
2つ目は、フィードバックでもらったコメントをじっくり読むというのも、自分の中では大事にしています。
SNSやdiscordなどでいただけたフィードバック、特に感謝のフィードバックについては、じっくり読むようにしていて、ものによっては自分が別で用意しているノートに転記することもあります。
じっくり読むのは結構恥ずかしい想いもあるのですが、流して読むよりも、丁寧にフィードバックを受け止めてその場で湧き出てくる感情を味わった方が、後の原動力になる感覚が自分の中ではあるので、大切にしている活動ですし、こうしたフィードバックをくださる皆さんには、心から感謝しています。いつもどうもありがとうございます。

エクストリームになるというのは、それぞれの問題を個人の成長、人間関係の深化、ソフトウェアの改善などの機会に意識的に変換することでもある。

次の工夫としては、動機づけを多数することが挙げられます。
ブログを継続し続けて起きたことで、自身のニーズとのつながりが見られるものは、ブログを書き続ける動機として判断し、メモとして残しておくようにしています。
もちろん全ての動機が毎回記事を書くたびに満たされるわけではないのですが、ブログを継続すると何が起きるのかを言語化してまとめておくことで、ブログを書くメリットを意識し続けられるようにしています。
ここまで紹介してきたのも多くありますが、動機としては、たとえば以下のようなものを持っています。

  • フィードバックをもらえるから
  • アウトプットが目に見える形になって評価がもらえるから
  • たくさんの人と繋がれるから
  • キャラが作れるから
  • 言語化能力に繋がるから
  • イベントやカンファレンスに貢献できるから
  • イベントやカンファレンスの経験を文字として残しておけるから

こうしてブログを書く動機づけを多数することで、ブログと様々な機会とのリンクを貼ることができます。貼られたリンクは何かしらの機会に変換されるため、ブログの意義に自覚的になり続けられ、継続する強いインセンティブになります。

成功に向けて準備しよう。前へ踏み出すこともせずに、自分から成功を遠ざけてはいけない。ベストを尽くし、その結果を受け入れよう。それがエクストリームだ。自分をさらけ出すのだ。

最後の工夫は、ブログに書いた記事を積極的に発信することです。
Twitterハッシュタグをつけたり、外から見れる履歴書や自身のプロフィールにブログ記事を貼り付けすることで、外部から常に見られ得る状況を作り続けています。
外部から見られることで、自分自身の学びや自身が歩んできた過程をさらけ出し、その結果得られるフィードバックを受け入れることで、前に進み続けようとしています。
継続をやめたくなるポイントの一つには停滞感があります。停滞感を感じてしまうと、どうしても自分は継続を諦めたくなります。
そんな停滞感を打破する一つの工夫として、外部に学びや過程を公開し、公開したからこそ得られるフィードバックを活用しているのです。

ブログの継続に寄与した要因(個人の特性が大きいもの)

「自分は頭がいいんだから、ひとりで上を目指せばいい」などという未熟な思い込みを克服することだ。

ちょっと卑屈に感じられるかもしれませんが、他の人よりも物事をキャッチアップするスピードが遅いことを信じ込んでいるということです。
すごい単純化した雑な表現をしてしまうと、自分は自分の頭がとても悪いと信じ込んでいます。
自身は小さい時から、幾度となく自分が理解するスピードの遅さ、物事に習熟するまでの遅さに悩まされてきました。
例えば、他の人が数回書けば覚えられる漢字が、自分の場合は100回くらい書かないと覚えられなかったり、プログラミングを学び始めた時にfor文の規則が何日たっても何回説明されてもわからなくて、同じタイミングで学び始めた人と比べて100倍以上問題が解けるまでの回答が遅かったりしたことが挙げられます。
こうした体験もあって、他の人よりも物事をキャッチアップするスピードが遅いことを信じ込むようになってからは、何かを習得したい時は他の人と同じ時間やっていてもできるようにはならないと思うようになって時間が必要なことが割り切れるとともに、自分一人で成果を出そうとしてもまるで成果が出ないから他の人に助けを求めよう、他の人と相互関係を紡いでいこうという発想が強くなりました。

ソフトウェア開発にはムダが多い。これらのムダの根幹は、我々が行っていることよりも、信じていることや感じていることにある。

また、圧倒的なことに憧れがあること。そして、仮に多少効果が見られないと思ったとしても、継続することが大きなイノベーションを産むことを信じているというのもあります。

自分は圧倒的なことが好きです。例えば、過去に一度ポケモンにハマり、世界一位になるまで対戦を続けたことがあります。
その際に大きな壁はいくつもあったのですが、最も大きな壁となったのは、100位を超えてくるような最上位層との戦いの中でした。最上位層と戦うに至るまでに対戦の研究を2000時間は重ねてきましたが、そこから一位になるまでの10000時間以上の研究がさらに必要でした。
そして、研究を継続し続けて、一位になるための最後の一歩になったのは、自身が数年間勝率を下げると考えて否定し続けていた戦術を自身の戦術に融合させた時でした。
自分が信じていることや間違いないと感じていることを捨て去るのは、少なくとも自分にとっては本当に難しいことです。信じていることや間違いないと感じていることにそぐわない事象が数回、いや数十回起き、もしかしたら数百回起きたくらいでは見方を変えることができません。
バイアスによってそもそも事象自体を見過ごすかもれしれないですし、これまで信じてきたものを支持する根拠や事象の膨大な数と比較して、例外ケースだと棄却してしまうかもしれないです。
自身が信じていたことを疑い、今当たり前だと思っている固定観念を本当の意味で捨て去るには、膨大な時間の投資と膨大な試行錯誤の数が必要だと思っています。
この膨大な時間の投資と膨大な試行錯誤の数には、継続的な取り組みが不可欠だと思っています。

ブログを書き続けて得たもの

効果的なソフトウェア開発には、多くの人の視点が注ぎ込まれなければいけない。

ブログを書き続けて得たものとして最初に挙げられるのは、ブログという形で他者が話していたことや学びを記憶できる装置が増えて、疑似的なコミュニケーションができるようになったということです。
自分はそんなに記憶力が良くないのですが、あの時なんかこんなことを言っていたなあと思い至ることがあった場合、キーワードやイベントの登壇者などでブログをgrepすると、話していたことがヒットして、すぐに思い出せるようになりました。
また、ただ話を聴いている時よりも、聴いた話をブログに残している時の方が、記憶に定着しやすいので、もちろん完全ではないにしろ、インデックスレベルでの記憶は残りやすいです。
こうしてインデックスが貼られた使いやすい記憶装置が誕生した結果、自身が困ったときには、イベントで登壇してくれた方や参加者の方と、疑似的にコミュニケーションが取れるようになりました。
ソフトウェア開発は難しいです。難しい問題に立ち向かう時には他人の力がどうしても必要になります。
そうしたとき、勿論職場の人は頼りになりますが、ブログを始めたことによって、これまで職場にいなかった様々な分野のエキスパートの方々も自身の問題解決に加わってくれたのです。

変更は不安を伴う。不安を伴えば、人間は変更をすばやくやろうとする。

また、ブログを継続して毎日書くことで、ベイビーステップを踏めていることを実感できるようになりました。
現在の自分の姿と自身が理想としている姿までの距離は遠いものです。遠い理想に向かって変化をするのは、非常に不安ですし、遠い理想に早く近づきたくて、どうしても大きな変化をしたくなります。
ブログを始める前の自分は、遠い理想に近づくために色々なことを大きく変えて、失敗し続けていました。
しかし、ブログを始めたことで、毎日小さな単位で変化をすることができるようになりました。
昨日ブログで書いたこの部分だけ変える、という風にすることで行動単位を小さくし、うまくいかなかった時のロールバックも容易にできるようになりました。
小さく素早く行動を変化させることで、小さな成長や小さな成功体験を積み重ね、いつの間にか数年前の自分には想像することのできない、大きな成果を出せるようになったのです。

ブログの継続はソーシャル・チェンジである

そしてこれが自分にとって何よりも重要なことなのですが、イベントを記事にすることをコツコツと継続してきたことで、色々な方々と繋がりを持つことができました。
イベントに参加して記事にしたことで、イベントに携わった方から認知をしていただけるようになり、お話をする機会に恵まれたのです。
そうしてできたつながりは、言葉では言い表せないほどの素敵な機会との出逢いにつながり、自分が進みたい方向へ進むのを助けてくれました。自身の環境が一変して、ある種のソーシャルチェンジが実現したのです。

その他、時間の関係もあって今回は紹介できなかったのですが、イベントで起きたことをまとめる過程で情報を整理する速度が上がったり、ブログを継続するためにインプットの量が自然と増えたり、こうして今登壇することなどを含めてアウトプットをすることに対しての抵抗が少なくなったりと、数えきれないほどのいいことがありました。

今回登壇の機会をいただいてこうして改めて考えてみると、自分の中では、ブログを継続していたことが人生を変えてくれたと言っても過言ではないのかな、という気もしています。