受託開発
私たちのアジャイル開発は、「お客さまと弊社がハッピーになる」ことを目的とします。
私たちはこの10年以上にわたり、アジャイル開発で多くの信頼と実績を築いてきました。
それは、アジャイル開発の良さを真摯に守り、取り組んできたことを、お客さまからご評価頂いたからです。
アジャイル開発の流れ
アジャイル事業部のアジャイル開発の流れは以下になります。
開発前
要件
ヒヤリング
ユーザーと開発者が集まって、どんなシステムやサービスを実現したいかをユーザーにヒアリングします。インセプションデッキを作って、5W1H(なぜそのシステムを作ろうとしているのか、リリース時期の確認、ステークホルダーの確認)を明確にすることで、ユーザーと開発者が意識を合わせます。ユーザーが話をしているうちに、やりたいことに気づくことがあることも実際に膝を突き合わせて話をするメリットです。
ユーザー
ストーリー作成
要件ヒアリングの内容(議事録)やユーザーからいただいた資料をインプットに、開発者がユーザーストーリーを作成します。ユーザーストーリーはユーザーが実現したいことやユーザーにとって価値があることを簡潔にまとめた文章です。
ユーザーストーリーは Pivotal Tracker という見積りと計画づくりのツールに登録して管理します。
相対見積り
開発者全員でユーザーストーリーを見積ります。見積りの単位は「時間」ではなく「ポイント」という単位を使って、相対的な規模の見積りを行います。これはすばやく全体の規模を見積もるための工夫です。
大きすぎるユーザーストーリーは見積り可能なユーザーストーリーに分割して見積もります。
計画づくり
コミットメント
ユーザーがユーザーストーリーの優先順位をつけます(Pivotal Tracker上でユーザーストーリーの並べ替えができます)。ユーザーと開発者がユーザーストーリーの優先順位と見積りを元に、ターゲットとしているリリース日までに盛り込むユーザーストーリーを合意します。
ここでの合意を絶対に守らなければならないというわけではなく、状況にあわせてユーザーストーリーの優先順位の変更や追加・削除があることもあわせて合意します。
イテレーション
開発
開発の流れ
設計
開発者同士で、どう作るかという戦略を話し合います。
データベース設計、URL設計、スパイクといわれる技術調査がこの中に含まれます。
タスク分割
ユーザーストーリーをタスクに分割します。タスクは開発者が1〜3日程度で終わる作業を目安にします。
プログラミング
開発者がタスクを実装します。
新しい人がきたときやひとりでやるのが辛い作業は、2人1組で作業をします(ペアプロといいます)。
レビュー
開発者が実装したソースコードはGitHub上で共有します。GitHub上のソースコードは他のチームメンバーの目にも触れ、メンバー全員でレビューします。
※GitHubはプライベートリポジトリを使っているため、外部の第三者からは見えません。
マージ
レビューが完了したソースコードをリリース用にマージします。
デモ
ユーザーレビュー
動作するソフトウェアをユーザーストーリーの単位で、要望を出したユーザーに見てもらって要望通り実現されていることを確認してもらいます。
フィードバックがあれば追加のユーザーストーリーを作成し、次のイテレーションで対応します。
ふりかえり
あまり定期的には実施せず、不定期で問題点がたくさん出たときに、テーマを決めてふりかえりをします。
イテレーション(「1.開発」 〜 「3.ふりかえり」)を繰り返します。
公開
開発者テスト
リリース前に開発者がテストシナリオを作成し、手動テストを行います。
セキュリティ、パフォーマンス、レアケースのテストが含まれます。
カスタマテスト
ユーザー側での受け入れテストです。業務がトータルで流れるかどうかを確認します。
リリース
1〜2週間毎に継続的にリリースします。リリース作業は自動化されたスクリプトを実行することで行います。