品質

アジャイル開発について

アジャイル開発を採用するお客様が増えている。理由としては、「システム完成までの間に要件が変化するシステムが多いこと」や「一度作成したシステムでも、時代のニーズにより小刻みに変化する必要があること(常に変化し、改善し続ける事が可能な開発スタイル)」などが背景にあるのは周知の事実だろう。実は、10年前までは私もウォーターフォール専門だったのだが、この10年間はアジャイル開発に携わる機会の方が多い。

アジャイル開発では、以下が特徴的な要素として語られることがある。

  • アジャイル開発は少人数チームによる開発には適しているが、ある程度、大人数の場合には適さない
  • 最初から要件が定まっているシステムは、アジャイルよりもウォーターフォールの方が適している(効率良く開発することが出来る)

更に、人によっては、以下の様な主張をするケースもあるようだ。

  • システムが深い階層になっているケースでは、アジャイルは適さない

色々な意見があり、どの条件を最優先にして開発手法を決定すべきか、とても悩ましい。実は、私の経験では「開発責任者がこれまで実施してきて経験豊富な開発スタイルが採用されるケースが多い」のが実態である。

もしも、私に「どの開発スタイルにするかを考えて欲しい」と言われたら、以下の様に考えて計画を立てる様にしている

  • 要件の変化が大きいか否かで、アジャイルかウォーターフォールを決める
  • システムが深い階層になっている場合には、以下を意識的に分離しておく
    「要件の変化に伴いプログラムの変更が必要な箇所」
    「要件の変化があっても、手を入れる必要がない箇所」
  • 「要件の変化を締め切る事が可能となる時期」に適した品質施策の配置

上記を熟考することで、全体としてはアジャイルを採用していても、部分的には仕様変更を意識しないで開発を進めることができウォーターフォールのメリットも授受出来る訳だ。

勿論、それぞれの状況に応じて、有効な品質施策・プラクティスを配置していくことで実現可能となるのである。

「All or Nothing」ではない「ベストプラクティス」の形を追求していくためには、ウォーターフォールで培った品質の基礎が前提であるのは、皮肉ではあるが事実である。アジャイルを効果的に本格的に採用したいと考えておられる場合には、ぜひ、ご一報いただきたい。

納得のいくシステムの実現と、御社に根付くプロセス構築~浸透まで、お手伝いさせていただければ幸いである。

Gerd AltmannによるPixabayからの画像