2015.12.24
開発作業効率化への取り組み
こんにちは。次世代システム研究室のS.Iです。
次世代システム研究室ではシステム開発を行う上で様々な取り組みを行っています。
数回に分けて現在進行中のプロジェクトで開発を出来る限り効率的に進めるために導入している工夫について紹介したいと思います。今回は開発プロセスの効率化やプロジェクト管理の効率化のために利用しているAtlassian製品ついて紹介させて頂きます。
開発プロセスの効率化
開発手法として次世代システム研究室ではほとんどのプロジェクトでスクラムが採用されており、
今回取り上げるプロジェクトではスクラムがよりスムーズに流れるように、Atlassian製品を利用してプロジェクト管理をしています。
導入効果として期待している点は以下の通りです。
- 開発の進行状況を見える化することで、開発メンバー各自の優先度を意識した行動を促すことができる
- 各ツールの接続部分(※1)を手作業で埋めていた部分を自動化(※2)することで、本来注力すべき作業に開発リソースを割くことできる
※1 Redmine, Trello, Git, Jenkins など色々な製品を組み合わせても同じことは出来る
※2 Atlassian製品のJIRA,Confluence,Stash,Bamboo を利用
それぞれの機能について実際の利用方法や利点について紹介していきたいと思います。
プロダクトバックログ
一般的なものですが、エピックでストーリーを分類して管理できるのがわかりやすいです。
また、スプリント計画で次回実施するストーリーを決定する際もDrag&Dropで移すだけなのでスムーズに計画できます。
このプロジェクトではストーリーに以下の情報を登録して管理しています。
- ストーリー名
- エピック
- 担当者
- レビュアー
- 説明
- ポイント数
スクラムボード
現在進行中のスプリントの進捗状況がスクラムボードとして表示されます。
それぞれ、画面上からブランチの作成(進行中)>マージのリクエスト(レビュー待ち)>マージ作業(完了)を行うと各タスクが各ステータスへ自動で流れるため、よりリアルタイムに進捗状況がわかります。
わざわざ担当者に確認しなくても、進捗状況に応じて各自がどこがボトルネックになりえるかを判断する材料になり、優先度を意識した行動を促すことができます。
カスタマイズでき、このプロジェクトではステータスを以下に分けて管理しています。
- TODO
- 進行中
- レビュー待ち
- 完了
ストーリーとサブタスク
ストーリーにはサブタスクを複数作成できます。
これを利用して必要な作業を洗い出したり、平行作業が可能なタスクを分割して複数人で作業を進めることが出来ます。
また、ストーリーやサブタスクにgitでいうブランチを作成することができるため、そのタスクで何が行われたかや過去のプルリクエストなどもリンクを辿るだけで参照できるのは開発者にとっては非常に便利です。
プロジェクト管理の効率化
以前は様々なツールを利用していたため、別のツールで登録した内容を取りまとめたり、エクスポートした情報でわざわざグラフを作成するなど、本来時間を掛けたい業務とは別の部分で管理や報告書の作成に時間を取られていました。
本製品の導入効果として期待している点は以下の通りです。
- 情報を一元管理し、標準のレポート機能を利用することで資料を作成する時間を大幅に軽減できる
- タスクに登録した情報で工数の管理をすることで、各ツールで別々に工数を登録していた時間を大幅に軽減できる
スプリントレポート
現在のスプリント状況(過去も参照可能)のサマリを把握するのに非常に便利です。
管理業務以外にも開発チームでのKPT(振り返りなど)やチーム内で前回のスプリントの状況を確認し改善点などを検討する際にも利用できます。
ベロシティグラフ
開発チームの開発速度を把握することが出来るので中長期的な判断に役立ちます。
また、開発チームでのモチベーションやスプリント計画で立てた計画に対するコミット感も養われる気がしています。
次回は
長くなってしまったので次回以降で、開発にもう少し踏み込んだ効率化について紹介していきたいと思います。
- Stash(Gitにあたる)
- Bamboo(Jenkinsにあたる)
- 構成管理
- デプロイ
- プログラムの自動生成
次世代システム研究室では、アプリケーション開発や設計を行うアーキテクトを募集しています。アプリケーション開発者の方、次世代システム研究室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ 募集職種一覧 からご応募をお願いします。
グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。
Follow @GMO_RD