コンテンツに進む

Blog

XP本読書会3回目のふりかえりのふりかえり

旧サイト記事の移行

この記事は Agile459 retrospective for 2018 Advent Calendar 2018 のエントリーです。 XP本読書会の3回目は4章から5章あたりでした。 このあたりで思いつくのは人間性(Humanity)の達成感について。 以前、VBとかC#で業務用アプリを開発していた頃、設計書を読みながらプログラムを書き進めていたわけですが、リビジョン管理やTDDができていない頃で、ソースコード中にコメントを書いて、今日はこの辺までできてこのあたりが未実装とか、プロジェクトフォルダをzipに固めてファイル名に日付を入れてアーカイブとして残したりとか、よろしくない仕事の仕方でした。 そういうやり方だと、最終的にプログラムが完成するまで、ただただ不安な状況が続きます。「〇〇の機能ができていない」とか「△△はどうやって実装すれば…?」とか、そういうモヤモヤしたことがたくさんあるまま、中途半端な状態で切り上げて帰る日々。 完成に近づいて、一通りテストができる状態になって、やっとそういうモヤモヤした雰囲気から少し解放される感じです。なので、仕事の中で達成感を感じることがとても少ない状態でした。 それが、アジャイル開発を学ぶようになって、さらにTDDを経験することによってずいぶんと仕事の仕方が変わりました。比較的小さい単位で課題を設定して、テストコードを書いて実装して red -> green を繰り返す。課題が完了したら commit(push) して close して次の課題へ。 こういうサイクルで仕事ができるようになったので、greenにするとかcloseするタイミングで都度達成感を感じることができます。課題管理の中で、必要になりそうな技術資料などメモっておくこともできますし、テストコードを仕様書と思えば、ソースコード内に必要以上にコメントを書くこともありません。 もちろん、完成にたどり着くまでのプレッシャーとかストレス的なものは多少ありますが、それよりも従来と違って、日々の仕事の中でサイクルを回した分だけ小さな達成感を得ることができるので、気持ちよく仕事を終えることができますし、翌日のモチベーションにも繋がります。 さらに、テストコードで何がどこまでできているかがすぐにわかるので、翌日とか翌週とか時間をおいてもスムーズに作業を続けることができます。以前のやり方のままだったら、今頃どうなっていたんだろうと。おそらくコードを書くのは難しくて、他の仕事をしていたと思います。 とはいえ、まだまだ仕事の仕方について改善できることはいろいろあると思いますし、XP本を読んでいくらか理解できたとしても、実践はまだまだこれからです。なかなか自分だけでは実践までたどり着けないと思うので、コミュニティに参加しながらできることを進めていきたいと思います。

XP本読書会2回目のふりかえりのふりかえり

旧サイト記事の移行

この記事は Agile459 retrospective for 2018 Advent Calendar 2018 のエントリーです。 4章のコミュニケーションについて。

どんどん成果が上がらないが時間が過ぎていく。悪循環を思い出す。 経験が浅いとコミュニケーションがうまく取れない。

与えられた仕事は自分の責任でやらないといけないと思って、ディスプレイに向かってコーディングを進めようとするものの、スキル不足や課題の理解度の問題などで一向に進まない状況。 最近であれば、バックログによる課題の管理やTDDで必要なものを小さく切り出して積み上げていくなど、仕事の進め方がずいぶん変わりましたが、昔はそのような方法を知らず、大きな課題を丸ごと完成させようともがいていたような気がします。そういうときは遠慮とかしている場合ではなくて、とにかく自分の手が進むようになるまで相談するべきと思いました。先輩はもとより後輩の新人がサクサク仕事を進めていたりすると、余計に自分で頑張らないと、と思ってしまいますが、上下関係なく、少しでも仕事の成果を出すにはどうすれば良いかを割り切って考えるべきだったのだろうと思います。

XP本読書会1回目のふりかえりのふりかえり

旧サイト記事の移行

この記事は Agile459 retrospective for 2018 Advent Calendar 2018 のエントリーです。 昨年(2017年)秋頃からAgile459で開催されたオンライン読書会1回目のログ。 https://github.com/agile459/reading-circle/wiki/XP2ndBook-1st-20171018 この内容をふりかえって思うのは、これまでに関わった仕事にはソーシャルチェンジという文化があまりなくて、硬直していたものが多かったということ。 もちろん仕事の種類とか現場によって様々ですが、例えば、あるプロジェクトでは仕事の進め方のルールがあって、そのルールに沿っているかどうかのチェックがあります。ルールに沿っていなければチームのリーダーから叱責されて修正を求められて、ルールを確認して修正して提出。でも、まだリーダーとしては納得のいくものになっていなくて修正を求められる。これを数回繰り返してなんとか完了。 でもですね、このやりとりってプロダクト(ソースコード)じゃなくて、プロダクトをコミットする際の関連ドキュメントやメールの文面の話だったりします。なので、(今後ほぼ使うことがないであろう)関連ドキュメントがボトルネックになって、コミットがなかなか進まない。モチベーション的にもちょっとしんどい状況なわけです。 しかも、そのようなドキュメントの不備が続くと、さらにルールが上乗せされて、足かせが二重、三重になっていきます。 で、XPを学ぶことで「あー、そういうところでものすごいリソースを消費していたんだなぁ」と感慨に浸ったりできるわけです。 管理する立場から言えば、すべてあたりまえに必要な作業、と言われるかもしれませんが、いや、だったらもっとプロダクト自体にリソースを割けば間違いなく好循環が生まれるわけで。 そういった、何かしんどいなぁとか、モチベーションが上がらないなぁ、と感じるときに、その原因に気づかされて、さらっと解決につながるような、そういう学びのある読書会でした。

タグ:

最近の勉強ツールあれこれ

旧サイト記事の移行

この記事は Agile459 retrospective for 2018 Advent Calendar 2018 のエントリーです。 先月開催したGDCRですが、このイベントを開催することになって、あらためて練習をし始めたこと、新たに学び始めたことが3つほどあるので書いてみます。 まず最初にタイピングの練習。 インターネットでタイピング練習 - e-typing スコアはA+(ローマ字タイピング)でまだまだです。前に練習していたのがいつ頃だったか忘れましたが1年以上はブランクがあると思います。なぜタイピング練習かというと、GDCRが1台のPCを共有してペアプログラミングをするイベントなので、少しはスマートにキーボードが打てればと思いまして。 練習の成果としては、以前練習していた頃のスコアにやっと並んだ程度で、要するに練習をしないとフォームが崩れて正しいタイピングができなくなっていたんだと思います。ただし、今回の練習で頑張っていることがあって、それは英語タイピング。最近まで気がつかなかった(気にしていなかった)のですが、e-typingに英語タイピングのメニューがあって、主にそちらで練習しています。英語タイピングはローマ字と違って大文字を入力するために左右のシフトキーを正しく使わないといけなくて、自分にとってはその分、ローマ字入力よりもハードルが上がる感じです。 プログラミングだと大文字や小文字、記号など使いますので、単にローマ字でスピードをあげるだけでなく、英語タイピングの練習もおすすめです。 次に語学の勉強。 同じく先日のGDCRですが、イベントの直前にスペインから中継のオファーをいただいて、Hangoutで英語で打ち合わせをして、イベント終了時にHangoutで松山会場で実施した制約の説明と、時差の関係でこれから始まるスペイン(バレンシア)の参加者にエールを送ってバトンを渡す、というやりとりがありました。 普段、海外のテレビドラマで英語を聞く程度で、会話で英語を使う機会はないので、なかなか思ったことが言葉に出ない状況でしたが、せっかくスペインとやりとりするので、あいさつぐらいはスペイン語でできれば、と思い、勉強方法を調べたところ、Duolingoを見つけました。 まだ2週間ほどですが、スペイン語、とついでにイタリア語、英語を勉強しています。とても良いと思ったのは、スペイン語を勉強するのに問題が英語で出されるので、英語とスペイン語をまとめて学べるところ。ただ、スペイン語とイタリア語は単語の雰囲気が似ていたりするので、全くの初心者が両方を同時というのは無理がありそうです。 ところで、Duolingoで学んでいるうちに思ったのですが、そもそも言葉って読み書きよりも、聞いて話して覚えるものですよね。もちろん学校の授業で国語を習いますが、国語を学ばないと日本語での日常会話ができないということはなくて、日常の会話の中で自然と身に付くものだと思います。スペイン語を学ぶのも、Duolingoだけじゃなくて教科書とか参考書を使って、読み書きもしながら学ぶのも良いのですが、Duolingoで聞いて話すだけでもそれなりに身に付くんじゃないかと思っています。 あと、ちょっと気になったのが、英語の発音。講師の発音を聞いて、自分で同じように発音しているつもりですが、どうも子音が弱い。かなり意識して子音を強く発音しないと、母音ばかりで英語らしく聞こえない感じです。あー、そういえば、スペイン語で巻き舌が必要なのですが、全然できないのでそれはそれでぼちぼち練習します。(今さら…) まぁ、どれくらい続くかわかりませんが、今のところ面白いので楽しみつつ。 3つ目の勉強ツールはプログラミングのKATA。 KATAの必要性に気がついたのは、先ほどのスペインの中継がきっかけです。スペインのバレンシアにはソフトウェアエンジニアのコミュニティがあって、そこではKatayunosという朝食の時間にペアプログラミングでKATAの練習をするイベントが定期的に開催されているようです。 で、自分の周りを考えてみると、プログラミングのスキルアップって個人で勉強するかしないか、あとは仕事の中で上司とか先輩がそれなりにスキルを持っていれば、ある程度伝授してもらえるかもしれませんが、仕事の中でじっくりとプログラミングのスキルを磨く時間は取れないのではないかと思います。というか、プログラミングのスキルが足りないまま日々の仕事をこなしているのが現実では? ということで、じゃあKATAを学ぶにはどうすれば、と思って探してみたところ、Codewarsというサイトが見つかりました。以前、CheckIOとかCodecademyで問題を解いたりレッスンを受けたりしていましたが、しばらく何もやっていなくて、いろいろプログラミング言語も選べるのでちょうど良いと思って練習をはじめました。今のところ、Python、Kotlin、Swiftで進めています。問題によるのか、Swiftのバージョンが3だったりするので、ちょっと混乱することもありますが、サンプルテストは自分でテストコードを付け加えることもできるので、TDDの練習にもなります。 以上、最近オススメの勉強ツールについて簡単ですが紹介してみました。

Agile459で利用しているサービスについて

旧サイト記事の移行

この記事は Agile459 retrospective for 2018 Advent Calendar 2018 のエントリーです。 四国各地でのイベントの開催を通じて、運営側に回ってくれるスタッフが少しずつですが増えてきました。 で、Agile459の活動の中で、情報の共有や発信のために利用するサービスも変わってきているので整理してみます。