レビュー用ディスプレー「トルネード・ディスプレー」

レビュー用ディスプレー「トルネード・ディスプレー」

 第1回のまとめ(http://thinkit.jp/article/906/3/)で示した通り、アジャイル開発では、ドキュメントをしっかりそろえるよりも、動くソフトウエアを重視しています。品質はどこで作り込むかと言うと、ソースコードの段階で確認していくしかなく、そのためにはソースコードレビューは欠かせません。

 アジャイル開発では、よく「ペアプログラミング」という呼び方で、開発者が2人1組のペアになって1つのパソコン上で一緒に開発をすることがあります(図3-1)。1人がプログラミングをしていき、もう1人は設計の相談に乗りながら、生み出されるコードの品質を逐一チェックしていくのです。

 この狙いと効果は、ソースコードのレビューが本当に品質向上に役立つのであれば、プログラミングをするそばからコードレビューをしていくことで、究極に品質を向上させようというものでした。これは「良いことは極端にやろう」という、アジャイル開発の1つであるeXtreme Programming(XP)の思想によるものです。

 ペアプログラミングを実施していくことで、「どうやって作るか」という部分に関する品質を向上させることができます。しかし、ここでのコードレビューは、あくまで開発者同士のピアレビューになってしまうため、「何を作るか」という部分については、ペアプログラミングだけでは効果が薄いです。

 「何を作るか」という部分を確認するために、顧客やマネジャーによる「動くソフトウエア」に対するレビューをする必要があります。ただし、オープンソース開発の場合、エンドユーザーやダウンロードしてくれるユーザーが直接レビューするということはできないので、スペックリードという役割で筆者が参加して、「何を作るか」という観点でのレビューを行っています。

 コミュニティーからの要望を受け、その本質的な課題を検討した上で、SKIPのコンセプトにそって実現することと、リソース配分を見た上で、取捨選択と優先順位を判断するのがスペックリードの仕事になります。

 ペアプログラミングであれば、ディスプレー1枚で済む話ですが、スペックリードを含めたレビューの場合、3名以上になることも多く、ディスプレー1枚では共有しづらくなります。アジャイル開発の場合、ここでのレビューはドキュメントではないので、印刷して配るということもできません。レビュー対象は「動くソフトウエア」なので、実際の動きを確認する必要があります。プロジェクタを使うことも多いのですが、準備の手間もかかる上、どうしてもオペレーションは1名になってしまいます。

 そこで、筆者のチームでは「トルネード・ディスプレー」という製品を活用していました。トルネード・ディスプレーは、大型モニターにスタンドを付けて、打ち合わせ時に机の代わりに設置することのできるペーパーレス会議システムです(図3-2)。非常に効率的に「動くソフトウエア」のレビューができるようになっています。また、通常の会議においても紙の資料をなくすことができ、しかも、その場で編集してしまえることは、アジャイルに進めるプロジェクトにとって多いに助けになっていました。

ツールを活用したアジャイルの事例 まとめ

 うまく行っていないプロジェクトなどでツールを導入するとなると、過度な期待をしてしまい、ツールさえ入れればうまくいくと考えてしまうことがあると思います。しかし、ほとんどの場合そういったことはありません。ツールはあくまで人が使う道具なのです。それを忘れずに、自分たちで意識をした上で導入することで、仕事の効率はアップできます。大事なことは、自分たちの仕事の仕方を見直すことです。もし問題があると感じているならば、ツールを導入する前に、自分たちの開発スタイルを見直し、改善方法を検討した上で、その助けになるツールは何か、という観点から考えることが重要になります。

★アジャイルの価値観(その3)
「プロセスやツール」より「人と人との相互作用」を重視する。
(ツールはその限界や向き不向きを知り、うまく使うと効果絶大)

 オープンソースであるSKIPを活用したビジネスとして、筆者たちはSaaS事業を営んでいます。最終回となる次回は、オープンソースとSaaSのビジネスモデルについて、そして、クラウドコンピューティングとアジャイル開発について、紹介したいと思います。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30