DataKeeper開発の海外事例

2009年4月28日(火)
Paul Clements SteelEye Technology, Inc.

スクラムを導入し、状況の変化に柔軟な対応

言うまでもないことですが、DataKeeperの設計と導入に乗り出そうとするわれわれの前には、たくさんの仕事が待ち受けていました。.NET Framework、C# プログラミング言語、マイクロソフト管理コンソール(MMC)、そして新しいGUIとそれをサポートするAPIレイヤーをビルドするのに使われたWindows Presentation Foundation(WPF)といった、数々の新しいテクノロジーを学ぶ機会が開かれていたのです。Windows 2008をサポートすることにもそれ相応の難しさがありました。いくつかのAPIがすでに時代遅れになっており、またいくつかのAPIは振る舞いを変化させていたのです。また新しいソフトウエア開発キット(SDK)やツールを使う必要があったことに加えて、新しいWindows “Vista”のセキュリティーモデルは数多くの問題を持っていました。

DataKeeperに取り組み始めた時期は、スクラム(http://en.wikipedia.org/wiki/Scrum_(development))という新しい開発手法を導入し始めた時期でもありました。スクラムは人気のあるアジャイルソフトウエア開発手法の1つです。

スクラムは、5人から9人でなる開発チームが、通常2~4週間の短期間で集中的にゴールを目指す、いわば「短距離走(スプリント)」をします。これにより、チームの生産性は高まります。スクラムのプロセスは、ソフトウエア要求事項が頻繁に変化することにもよく対応しています。固定の予定にしたがい、短いスプリントサイクルの中での機敏さを重要視しているため、要求事項が変更したときにチームがすぐに方向性を変えることができるようになっているのです。

スクラムは各スプリントサイクルの結果、実行可能な製品のインクリメントを作成することに集中します。このようにして、実際の進ちょく状況を明確にし、また測定することができ、フィードバックを受けて製品に組み込むことが可能になります。

原文

Needless to say, plenty of work lay before us as we set out to design and implement DataKeeper. We got the opportunity to learn a slew of new technologies, including the .NET framework, C# programming language, Microsoft Management Console (MMC), and the Windows Presentation Foundation (WPF), which were used to build our new GUI and the API layer that supports it. Supporting Windows 2008 was not without its share of challenges either: some APIs had become obsolete; others had changed in behavior; new software development kits (SDK) and tools had to be used; and the new Windows “Vista” security model presented a number of issues.

At the same time that we began working on DataKeeper, we were also in the process of adopting a new development methodology, Scrum (http://en.wikipedia.org/wiki/Scrum_(development)). Scrum is one of the more popular Agile Development Methodologies. Under Scrum, a development team of 5 to 9 people “sprints” with a very focused goal for some short period (typically 2-4 weeks). These short, focused sprints allow the team to be highly productive. The Scrum process also recognizes that software requirements change frequently, and the short sprint cycle along with an emphasis on agility over following a rigid plan, allow the team to quickly change directions when requirements change. Scrum focuses on generating working software increments at the end of every sprint cycle. In this way, real progress can be demonstrated and measured, and feedback can be received and incorporated into the product.

著者
Paul Clements SteelEye Technology, Inc.
ソフトウェアのエンジニアとして幅広い経験を持ち、現在はデータレプリケーション、HA、ストレージ分野でカーネルやシステムレベルのプログラミングを専門としています。また、熱心なLinuxユーザー及び開発者で、LinuxカーネルにおけるNBD(Network Block Device)ドライバーのメンテナンスをはじめ、複数のオープンソースプロジェクトに貢献しています。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています