アジャイルソフトウエア開発

アジャイルソフトウエア開発

 iKnow!は、アジャイルソフトウエア開発に基づいて開発を進めています。筆者は、同僚や、プロセスやツールにおけるインタラクションに重きをおいています。ややこしいドキュメンテーションに時間をかけるのではなく、機能するソフトウエアを開発することに取り組んでいます。

 そして、要求仕様の中で変更があればフレキシブルかつ責任をもって、そのニーズに即座に対応できる能力に価値を見いだします。変更については、過去の失敗に対する認識、ユーザーのニーズと要望への配慮、インターネットの様相の変更から生まれます。結果としてインターネット上のコミュニティーへの露出がより多くなっていることのきっかけにもなっています。

 早い周期、頻繁なリリースのため、イテレーションのコンセプトを使い、開発プロセスを管理しています。イテレーションとは、ある特定のタスクセットを達成させる期間を任意に区切ったものです。iKnow!の開発の初期段階では、イテレーションは毎週行われ、時には、もっと短い期間で行われることもありました。

 今は、イテレーションサイクルを2週間にしています。このサイクルの中で、プロダクトロードマップから達成する機能が割り当てられますが、これは重要度とイテレーションの枠内で達成できるものが決められます。これらの機能の開発はコードフリーズ直前まで続けられます。この時点で、すべての新しい機能の開発がストップし、最終のテストが始まります。最終テストに2日ほど要し、もしすべてテスト工程で問題がなければ、実際のサイトが新しいコードでアップデートされます。

 クリエイティブな開発は、リリースサイクルのすべてに存在します。しかし、たいていはコードフリーズになった後、プロダクトを公開する直前に必要とされる最終のインターフェースを仕上げる時が最も忙しくなります。

 クリエイティブチームは、サイトプランニングチームによって、作り出されるワイヤーフレームである簡易設計の中で、新機能におけるプレ・ビジュアライゼイションを早い段階で行います。よりアジャイルであったり、何らかの理由でデベロッパーがインターフェースの開発やデザインを先に行うような機能の場合は、後でクリエイティブチームが修正をすることもあります。

アセット管理

 イテレーションサイクルにおけるファイルの変更管理や、コードの質を維持するために、iKnow!ではバージョンコントロールソフトウエアである「SVN」を使って開発しています。Railsのフレームワークとあわせて処理をする時に、バージョンコントロールはデベロッパーとデザイナーが、作業スペースや機能の範囲において比較的別々に作業することができます。

 デベロッパーやデザイナーは、それぞれ全Webアプリケーションコードのローカルコピーと、開発中の最新データのライトバージョンを持っています。機能をローカルコードでテストするには十分なところまで開発したら、リモートバージョンでアップデートをし、コードコンフリクトがあれば修正、解決します。その時に、ローカルファイルはリモートコードベースにアップロードされ、テストのためにデベロップメントサーバーに配置されます。

 バージョンコントロールを今まで使われたことがない人には、すぐに使い始めることをお勧めします。無料で使えるものから有料で使えるものまで、選択肢はたくさんあります。私はSVNを使って、PhotoshopファイルやFlashファイルやIllustratorファイルなど、すべてのデザインアセットを管理しています。

 ファイルのコンフリクトを管理することに最適とは言えませんが、簡易な方法でファイルバージョンやバックアップを管理します。もし、何らかの理由でファイルを紛失してしまった経験があれば、なぜこれが重要かがわかるでしょう。Adobe Cueのようなソリューションもありますが、私は、簡潔であり、多用途性のあるSVNを好んでいます。

 SVNは、インディペンデント・クライアントとサーバーソリューションのプラットフォームです。サーバーはリモートサーバー上でセットアップされ、新しいプロジェクトはレポジトリに保存されます。クライアントはローカルにインストールをし、ユーザーネームとパスワードで、リモートファイルサーバーにアクセスできます。筆者は、Tortoiseと呼ばれるGUI(グラフィック ユーザーインターフェース)バージョンとコマンドラインクライアントを組み合わせて使っています。

 GUIは、コードのコンフリクトを管理することに優れており、コマンドラインはコードの早急なアップデートや、コミットに役立ちます。効率的なコンフリクト管理では、より多いコードの統合を可能にし、多くの人々が同時に同じファイルに変更を入れることができます。

人気記事トップ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