アジャイル開発研修を通じて学んだこと

今年の9月から始まったアジャイル開発研修が、今月をもって終わりました。本当に数えきれない程多くのことを学び、研修を引き受けて下さったソニックガーデンの皆様には感謝の念が絶えません。本当にありがとうございました。
最後にこの研修の総決算として、4ヶ月間で主にどのようなことを学んだのか、そしてそれらを今後にどのように活かしていくかをまとめたいと思います。内容は以下の通りです。
1. railsに関すること(インストール、ライブラリ、実装方法など)の調べ方
2. アジャイル開発におけるコミュニケーションの取り方
3. プログラミングスキルをつける方法

1. railsに関することの調べ方
railsに関すること(railsのインストール方法、gemの利用方法、コントローラやビューなどの実装方法、・・・)を調べる際に重宝したのは、「Rails3レシピブック 190の技
」です。railsのインストール方法などのrailsの基本から、コントローラー・モデル・ビューの実装方法、セキュリティまで、多くの事柄が体系的にまとめられています。初めに一度通し読みをして全体像をつかみ、現在では辞書のように使っています。
また、gemの具体的な使い方を調べる際は、github上にあるgemの「README」(例:deviseのREADME)が参考になります。gemのインストール方法(Installation)や使い方(Getting Started)などが、実行コマンドやソースコードと合わせて細かく記載されています。
あとは、rubyのメソッドなどを調べる際は、「リファレンスマニュアル1.8.7 1.9.2」や「逆引きRuby」が参考になります。日本語で書かれており、また具体的なソースコード事例も載っているので非常にわかりやすいです。

2. アジャイル開発におけるコミュニケーションの取り方
この「コミュニケーション」に関する学びは、個人的にとても大きな学びでした。「コミュニケーション」の取り方、そしてその大切さをここで学べて本当によかったと思います。
アジャイルは変化を前提とした上での開発スタイルです。変化するものは、仕様や優先順位、デザインなど様々あり、その時々で決定されます。なのでプロダクトオーナーとプログラマー間では、今やるべきことを常に共有し合い、また、その実装の進捗状況も共有し合うことが必要です。これまでに私は、あまり優先順位の高くないタスクに対して、必要以上に時間をかけてしまうという失敗を何度かしてしまいました。今後はこのような失敗を避けるためにも、チームで開発しているという意識を持って、頻繁なコミュニケーションを徹底していきたいと思います。

3. プログラミングスキルをつける方法
ここで言う「プログラミングスキルをつける」とは、よりシンプルで分かりやすいコードを書けるようになることや、新しいメソッドを覚えてそれを使いこなせるようになることです。この方法には様々なものがあるかと思いますが、私が最もスキルアップにつながったと思う方法は、「実際にコーディング(ソースコードを実行)してみる」というものです。プログラミングを始めた当初は、コードをただひたすら読むという勉強方法をとっていたのですが、いまいちそのコードが何をしているのか理解できず、勉強した内容を習得できている実感がありませんでした。そこで、試してみたのが「コンソール」でのコードの実行です。コンソールで実行してみると、どういった値(データ)が返ってくるのかがわかるため、そのデータを追っていくことでコードを理解できるようになりました。さらに、そのコードを実際に自分で書いてみる(写経する)ことで、より理解を深めることができました。実際に自分でアウトプットしてみたことが、勉強した内容をしっかり習得できたことにつながったのだと思います。

来年からは、WEBマーケティング総合研究所に戻って、アジャイルによるシステム開発に取り組んでいきます。この4ヶ月間で学んだことを活かし、チームによるアジャイル開発を推進していきたいと思います。