| ||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||
| 品質の維持 | ||||||||||||||
アジャイル開発では、「ペアプログラミング(注2)」「テストファースト(注3)」「継続的インテグレーション(注4)」などの品質を維持していくプラクティス/仕組みが用意されています。 ※注2:2人のプログラマが1つのマシンでプログラミングを行う開発技法 ※注3:開発実施前に設計に応じたテストケースとテストコードを作り込む手法 ※注4:毎日何回も新しい変更をシステムにインテグレーションし、自動的に全体を再ビルドする手法。すべてのテストを実行するまで、変更をリリースできない。 アジャイル開発は「開発中に下がった品質を上げる」という発想ではなく、「開発中に品質が下がらないように維持する」仕組みが多くみられます。もちろん、品質を維持していても開発中に下がる場合があるので、テストにより品質を上げるということも必要となります。 しかし、アジャイル開発ならば開発中に一定の品質が維持されるので、手戻りの時間や修正・再テストの期間を短くすることができ、開発期間を長く確保したりテスト期間を短くすることができます。 ![]() 図1:品質の維持のイメージ またアジャイル開発では、個々の開発者による品質のバラツキを抑えることができるので平準化されたソフトウェアを開発できるようになります。技術のバラツキがある開発者たちを「ペアプログラミング」などで開発チームとして相互補助させることで品質を下げないようにできます。 そして力のある技術者を「共同所有」させることにより、過度な品質の実装や高度な実装を抑えられます。個々人の開発力が平準化されるとチームとして高い生産性を確保することができ、バグの少ない保守性の高いソフトウェアが共有できるようになります。 ![]() 図2:生産の平準化 | ||||||||||||||
| ムダな残業からの解放 | ||||||||||||||
アジャイル開発では一定の間隔でイテレーションが実施され、計画ゲームなどでイテレーション内の要件の量が計画されることにより、達成可能な範囲で調整されます。そのため要件が多すぎることによる発生する残業や見積りの曖昧さから発生する作業による残業から開放されます。残業がないことがわかると、開発者は稼働時間内に集中して効率よく作業するようになります。 さらに開発者は継続的なストレスから開放されることで、心身ともに健康な状態を維持することができるようになります。余裕をもって余暇の時間や自己の学習、啓発の時間を計画的に確保でき、開発者はシステム開発において高い生産性や高い品質の維持をするようになり、アイデアを創出することができるようになるのです。 | ||||||||||||||
| ブラックユーモアから名付けられたトラックナンバー | ||||||||||||||
アジャイル開発では、トラックナンバーを高く維持することができます。 トラックナンバーとは、「プロジェクトのメンバーが何人までトラックにひかれてもプロジェクトが維持できるか」という人数を表したブラックユーモアの1つです。特にクリティカルな部分の人数を表します。ある特定の機能に精通している人が休んでしまったとき、その機能について誰もわからないというのであれば、トラックナンバーは1となります。 「ペアプログラミング」や「共同所有権」などのプラクティスを実施することによって全体を共有することができ、このトラックナンバーを増加させることができますので、従来のように特定の人にプロジェクトの成功を委ねなくて済むようになります。 | ||||||||||||||
| 開発を通じての高い技術者の教育効果 | ||||||||||||||
ベンダー企業にとって技術者の教育は重要な問題です。アジャイル開発は、技術者の教育の点でもメリットがあります。例えばチームのメンバーの相互作用と知識の共有を重要視します。特に「ペアプログラミング」は大きな効果があり、「相互作用」と「気づき」により従来の学習よりもよりも高い熟達をさせることができます。技術知識の他にも作業のノウハウも先輩技術者がチーム内で一緒に作業をしてくれることで自然と身に付くのです。 | ||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||
| ||||||||||||||
| ||||||||||||||
| ||||||||||||||



