速度重視で対応力が高いアジャイルとは何か

LINEで送る
Pocket

商品の開発には、設計や構築に加えて、品質管理や保守という複数の流れがあります。
プログラム開発において、これらのプロセスが手続き上の手間を増やしているので、開発速度が落ちてしまう欠点に繋がります。

そうした中で、開発速度を落とさないことのできる開発手法がアジャイルです。
今回は、そんなアジャイルに関してわかりやすく解説していきます。

スポンサーリンク

アジャイルの特徴

monitor-1307227_960_720

アジャイルとは、フットワークの軽い開発手法が追求された結果、新しく登場して定着しつつある開発の取り組み方で、主にソフトウェアの分野で活かされています。
手法を一言で表すなら、機能に関する要求の採り入れが積極的で、随時反映するスピード感あるのが特徴的です。
また、実用的なプログラムの更新サイクルが速くなるので、日々変化が起こるWeb関連やオープンソース圏で積極的に採用されています。

従来の開発方法との比較

従来のソフトウェアは、計画から立案、企画書の完成を経て、ようやく実装やテストに進むのが一般的でした。
つまり、段階毎にしか進めませんでしたから、行き詰まる度に全体が停滞する、それが難点だったといえます。

一方、開発にアジャイルの反復の概念を採り入れれば、全行程がコンパクトに分割され、停滞が起こりにくくなる利点が発揮されます。
また、開発に参加する全員が常に最新の情報共有を行えるので、良好な協力関係を維持しながら、無理なく問題解決にあたれるのも魅力的です。

また、開発現場に目を向ければ、開発の依頼者であったり、実際に利用するユーザーの要求にも大きな意味を持っています。

例えば、アジャイルが開発速度を重視する分、時間を掛けた動作テストや安定性の評価が薄くなりがちです。
その部分の欠点は、運用を行いながらフィードバックを得て素早く改善する、こういったやり方で乗り越えられています。

つまり、プログラムの完成時に完成度が低くても、期待した通りに動作するなら公開する、このような姿勢で取り組みが行われるといえるでしょう。
開発さえ続くなら、理論上に限ればアジャイルのやり方でも問題なく、むしろ期待される対応力の高さが実現します。

アジャイルのメリット・デメリット

アジャイルのメリットは、少数精鋭が主流なので、人材の入れ替わりに対応しやすく、流動的で常にチームの質を一定に保てるのがメリットです。
規模が大きくなれば、それに応じて難易度が高まりますが、小規模なら小さいリスクで挑戦する価値が得られます。
作業単位が明確ですから、変更があっても対応しやすく、俊敏に適応可能な点もまた優れたメリットと言えるでしょう。

逆にデメリットとしては、
・共同作業を行うチームの質にプログラムの完成度が左右される
・開発が停滞すると顕著にプログラムの質が低下する
の二点が挙げられます。

最初からチームの質が低ければ、開発能力の基本が損なわれるので、後からプログラムの欠陥や問題が現れやすくなります。
この点に関して、リスクを最小限に抑えたいなら、開発に関わるメンバーの選考を十分に行うのがおすすめです。
そこで、次にアジャイルのメンバーの選定方法をご紹介します。

アジャイルへの取り組み方とチーム編成

office-1209640_960_720

アジャイルに挑戦するのであれば、最大でも10人クラスの開発チーム、尚且つ同じ環境で共同作業を行うのが必須条件です。

更に、メンバーが長期的にチームに参加出来る、これも見逃せない条件の1つに加わります。
メンバーの能力に偏りがあって、何らかの理由でチームを抜ける事態や優秀なメンバーへの過度な依存による問題が発生すれば、アジャイルでも行き詰まってしまう可能性が十分にあります。
少数精鋭がアジャイルの特徴でもあるため、同程度の能力を持つメンバーで構成を行い、1人の能力に依存し過ぎないのが注意点であり、無理のある依存体制を避けてバランス良く進捗を行う、これが理想的な現場の姿になります。

また、皆実践重視で取り組むのが特徴ですから、一人一人に対し変化について行く対応力が求められます。
何よりも、チームワークがアジャイル開発の根幹を支えるので、信頼関係や相談しやすさが成功の鍵を握ります。

開発を始めるにあたって一番重要なのは、メンバー全員がアジャイルの経験を持ち、基本から応用まで実践で学んでいる点にあります。
ある程度の開発経験がなければ、習得自体が難しい開発手法なので、チームの完成度を高めたいなら、経験者を優先して選考するのが効果的です。

更に、プログラムの基本設計が今後の運用に関わるので、実装や変更が行いやすい設計が行える人材を登用するのもポイントです。

アジャイルでの具体的な開発の進め方

具体的な開発方法はまず、計画を打ち立てメンバーを集め、顧客を含めて目指す方向性を決めるのがポイントです。
顧客もメンバーの一人に数えられますから、必要であれば開発に加えるのが良い選択です。

分割こそがアジャイルの特徴なので、計画から実装、テストまでをコンパクトに分けて、金太郎飴の一欠片のように捉え、その中で反復的に作業を行う結果に繋がります。
飴の一欠片が完成したら次に進む、このようなやり方で一本の完成を目指します。

共同作業が主体ですから、これまで主流だった単純な分業とは異なり、全員が顔を合わせて取り組むスタイルになるのが特徴的です。
ただし、現場のコミュニケーションが疎かであれば、意思の疎通が上手く出来なくなったり、進捗や問題解決に支障が出始めます。
喧嘩や意見の食い違い、こういった火種の放置が停滞の切っ掛けになるので、火種を見付けたら早めに消す必要があります。

今までのやり方に比べ、取り組み方の姿勢が根本から異なるので、未経験者なら誰しも戸惑うでしょう。
しかし、このやり方を採り入れる挑戦によって、話し合いの大切さに加え、進捗を細かく分割して少しずつ進める重要性に気が付けます。

参考資料になる文書の少なさを始め、作業次第で雑に仕上がるケースもありますから、これらの点を注意するのが肝心なポイントになります。
ソフトウェアの機能を1つ1つ、完成を確認してから次に進む作業を繰り返します。
現在の工程の単位が明確なので、完成形こそイメージに描きやすいものの、話し合いが不十分であればチグハグな情報共有に結び付くのが欠点です。
元々文書が足りないケースが少なくありませんから、必要な情報は紙に書き出し、視覚情報を交えて情報を共有することが不可欠です。

逆に、方向性の定まらない作業が起これば、メンバーが迷走に突入しかねませんから、全体を引っ張るリーダーの存在も欠かせません。
リーダーが舵を取り、顧客やメンバーとの話し合いを繰り返し、方向性を見定めながら実際に反復して進むのが理想的です。

まとめ

7271d26f801d3c2305d0a876bb7230f1_s

コンパクトに考えて作業する、これが新しいやり方の原点なので、挑戦して得られる価値のある手法だと考えられます。
また、一度開発が始まれば、フィードバックを受けたり反映する作業が止められなくなります。
立ち止まるのが許されない開発手法ですから、毎日が刺激を求める開発メンバーにとってエキサイティングですし、充実した日々が送れるようになるでしょう。

1つの機能変更や追加を目前の目標に定め、そのやり方を繰り返し反復しながらプログラムの質を高める、これがアジャイル開発の姿です。
欠点がないわけではありませんが、それ以上に効率化の可能性を秘めているので、開発の現場で採用される事例が増えています。
海外でも主流ですが、少数開発であればこれに変わる手法が殆どありませんから、採用事例が増えて実績が積み重なっているのはある意味で当然です。

スポンサーリンク

LINEで送る
Pocket

Facebookでのご購読が便利です