NEWS ABOUT Solution WORKS TEAM BLOG お問い合わせ JP EN

アジャイル開発勉強会を通じて学んだ4つのポイント

こんにちは、今井です。

以前、社内で「アジャイル開発」の勉強会を開催しました。
今回はその「アジャイル開発」について学んだ内容を4点紹介したいと思います。

■1.アジャイル開発の意味

アジャイルを英語で表すとagileで、「俊敏な」という意味になります。 ということは「アジャイル開発」とは、直訳すると「俊敏な開発」ということになりますね。

 

 

■2.イテレーション

アジャイル開発では、イテレーションという作業単位で作業を行います。

  • イテレーションは1~2週間で完結する作業単位のこと
  • イテレーションを繰り返して完成に持って行く
  • イテレーションが終わるごとに、動作確認ができる(ユーザに見せることができる)

■3.イテレーションの作り方

イテレーションとはどのように作るのでしょうか?

3.1.ストーリ

  イテレーションを作るにあたって、まずそのプロジェクトの情報を集める必要があります。
  ただやみくもに情報を集めるのではなく、アジャイル開発では「ストーリ」という形で情報を集めます。

  • ユーザが実現したいと思っている機能を1つのストーリとして記述(100個の機能があれば100個のストーリができる)
  • ストーリの内容は、ユーザが理解できる言葉で書くことを心がける(ユーザが理解できない技術用語は避ける)
  • 1~5日で完了する内容で記述、その日数を超える内容であれば1~5日で完了する単位に分割する
3.2.イテレーションの作成
  • ストーリを使って1~2週間で終わる単位のイテレーションを作成する
  • 1イテレーションには、設計、開発、テスト、デバッグを含める

■4.アジャイル開発時のプログラミング

アジャイル開発で利用できるプログラミング技術を紹介します

4.1.ユニットテスト

ユニットテストとは、メソッドレベルの粒度が小さいテストのこと

  • テストは、開発者がソフトウェアを変更するたびに行う
  • テストが失敗したら、どこを壊したかが正確にわかる
4.2.リファクタリング

リファクタリングとは、外から見たソフトウェアの振る舞いを変えることなく、少しずつ継続的に設計を改善していくこと

  • リファクタリングは機能の追加はしない、バグの修正もしない。目的はコードをわかりやすくするためである。(スパゲッティーなコードを残さないため、スパゲッティなコードはその後の開発・修正で大きな障害となる)
  • コードの意図をつかみやすくしたり、変更がしやすくなるように設計を変更する。(例:わかりにくい関数名をわかりやすい関数名に変更)
4.3.テスト駆動開発

テスト駆動開発とは、開発したい部分のコードを作成する前に、テストコードを先に書くこと(テストコードとは、実際の機能の実験ができるコードのこと)

  • テストコードを書いた後、そのテストに耐えうるコードを作成する。
  • そうすることで、本当に必要な機能だけを構築できるようになる。

 

以上、アジャイル開発について学習した内容になります。
今後も引き続きアジャイル開発については学習していきます。
今回不足している部分または新しく学んだ部分がありましたら、次回のブログで書いていきたいと思います。

 

参考文献  アジャイルサムライ-達人開発者への道

今井 健一朗
ひとつ前の投稿 ひとつ前の投稿
ひとつ前の投稿 ひとつ前の投稿 再帰関数の高速化