職業訓練で知った「アジャイル開発」。
フランス語だとMéthodes agilesメトード・アジルと呼ばれ、システムやソフトウェア開発などで用いられています。
今日はそんなアジャイル開発について、受講した職業訓練での導入方法とともにご紹介します。
アジャイル開発とは?
アジャイル、フランス語ではAgileアジルと発音されますが、この単語は「機敏な」「軽快な」「素早い」といった意味を持ちます。
Méthodeメトードは「方法」や「メソッド」、「やり方」ですね。
簡単に言うと、「クライアントの要望や予期せぬトラブルなどに対し柔軟に対応が出来る方法」とでも言えるでしょうか。
1980年代に登場したこのアジャイル開発という手法。
ただ説明してもわかりにくいので、従来の「ウォーターフォール開発」と比較しながら見ていきましょう。
比較!ウォーターフォール開発とアジャイル開発
フランスではこのアジャイル開発の話をするときに良く比較対象として現れるのが「ウォーターフォール開発」。
一般にこのウォーターフォール開発が「従来からの」開発方法とも言われます。
ウォーターフォール開発の定義
V字開発とも呼ばれるこの方法、図で見た方がわかりやすいので以下をご覧ください。
(フランス語ではウォーターフォール開発はModèle en cascadeまたはCycle en Vと呼ばれます。)
左上からスタートし、右上が最終段階です。左側が開発工程、右側がテスト工程となります。
プロジェクトの初期段階で仕様書を作成し、どのような機能が必要であるかを明確化する点。
このとき納品日やサイト公開日なども設定し、それをもとに見積もりを作成します。
公開までの期間や予算などがはっきりと提示されるため、依頼企業としては計画も立てやすいというメリットがありますね。
どの開発にどれ位の人員が必要で、どれほどの期間がかかるのかを可視化できます。
そして、「え?それって当然なんじゃないの?」と思った方もいることでしょう。
実はここに、ウォーターフォール開発のデメリットが現れます。
それは、製作途中で方向修正をしたい、となった場合や修正が必要となった場合。
ウェブ制作にはそれなりの期間がかかるので、作っている最中に企業の経済状況やターゲット顧客等が変わってくることも。
ところがすでに仕様書でどのような機能を、どれくらいの期間をかけて作るかが設定されているため方向修正となると再度仕様書を作り直し、納品日や予算も計画し直し…となります。
またテスト工程が最後なので、ある程度出来上がってからテストしてみたら大きな修正が必要になり、膨大な時間を費やすことになることも。
そこで登場するのがアジャイル開発です。
アジャイル開発の定義
アジャイル開発の最大の特徴は、itérationイテラシヨン、日本語ではイテレーションと呼ばれる開発の進め方です。
イテレーションとは、反復や繰り返しという意味を持ち、小さいサイクルで計画→開発→テストの流れを繰り返すもの。
開発工程を細かく区切り、一つの機能が出来たらすぐテストするため、バグや修正が早い段階で見つかるというメリットがあります。
また顧客との連携を重要視するため、顧客に開発途中の製品を見せ確認をしたり、テストの状況を報告したり…もちろん途中で方向修正などが起こることも多々あります。
しかしこれは想定内のことで、最終的に顧客の要望に最大限答えたアイテムを納品することになるため顧客満足度の向上にも繋がると考えられています。
ただし、ウォーターフォール開発と違って最終的な納品日時等が決まっておらず(大体の目安はもちろん提示する)、予算も変動する可能性あり。
計画を立てる上では明確さに欠けてしまうため、アジャイル開発を採用する場合には顧客に理解を求める必要があります。
アジャイル開発の中にはさまざまなメソッドがあり、職業訓練ではKanbanカンバンやScrumスクラムをメインに学びました。
そう、Kanbanとは日本語の看板のことです!イヤーこんなところで日本語に出会うとは思ってもみませんでした。
フランス語で学んだアジャイル開発ですが、何度か日本語の単語が登場してニヤリとした思い出があります。
職業訓練でのアジャイル開発の導入
さて、難しい話はこの辺にしておいて、職業訓練での導入方法についてです。
基本的にはアクティブラーニングを推奨していたプログラムなので、受講生が調べてプレゼン、その後グループワークなどで実践し改善点を洗い出し、向上を目指す…という流れ。
その後、サイト制作やビジュアル制作、SNS運用などは基本的にアジャイル開発を用いての実践となりました。
ただ私はここに大きな問題があったと考えます。
職業訓練でアジャイル開発を用いることの問題点
問題点1:指導官の知識不足
実は指導官もアジャイル開発についてはプロではありませんでした。
それは仕方のないことだったと思います。それにアクティブラーニングですから、そこに大きな問題はないと考えられていたのでしょう。
ですが、指導官が専門用語を間違って導入し、私は一度「違うのではないか」と質問。
しかしそんなことはないとの回答で、そのまま職業訓練は続けられ多くの訓練生が単語の意味を間違って覚え、実践していました。
(のちにプロの外部講師が来た時にやはり私の理解で合っていたことが判明)
また指導官も手探り状態で進めていたため、自分たちの力で解決が出来なかった場合にも明確な回答は得られずタイムロスも多かったです。
(アクティブラーニング上では自分たちで解決することを重要視するため、それもあったのかもしれませんが…)
問題点2:問題解決能力
まずはタスクの洗い出し、その後役割分担をし進めていくという方法を取り職業訓練が進められました。
しかし私たちは初心者の集まりです。
一部デザインやビジュアル作成などに詳しい人はいたものの、それ以外のことに関しては常に調べては何とか進めていく、という状況。
当然、ネット上の情報だけではうまく見つけられず、作業が進まない…ということもありました。
こういった時、現状打開策を提案出来るだけの知識を持っている人が極端に少なく「もうどうにもならん!どうする?」というシーンにぶち当たることも多々。
人によっては何とか解決策を見つけようと一緒に対応をしてくれる場合もありましたが、「いやー私もわからないなー」でスルーされてしまい、結局放置…ということもありました。
アジャイル開発はプロが集まってやるから効率がいい、というのが私の考えです。
初心者がアジャイル開発の真似事をしながら作業を進めていっても、トラブルが起こるまたはタイムロスにしかならない、と感じました。
問題点3:モチベーションの差
グループワークが多い職業訓練でした。
そのためさまざまなタスクを分担して作業を進めるのですが、やはりやる気がない人は楽そうな方へ楽そうな方へと流れていき、作業時間はスマホゲームやおしゃべりに没頭…
そのしわ寄せはいつものメンバーが頑張って作業をして進める、という形となりました。
もちろん、徐々に不満もたまっていきますよね。
モチベーションの差があるとタスク量にも大きく差が出ましたが、最終的には「まぁ仕方ない」で収束しました。
問題点4:外部講師の講演が遅かった
プロの外部講師の講演が試験の2か月前。しかもインターンの始まる直前でした。
当然インターンが始まってしまえばアジャイル開発の勉強をしている暇はなく(ほとんどがウェブ制作やSNS運用のインターンでした)復習する時間も激減します。
しかも前述の通り、間違った知識が定着していたため戸惑うことばかり。
外部講師が来る前に「アジャイル開発はタイムロスだし効率的なところは何もないしデメリットばかり」と感じ、講演すら来ない受講生も。
デメリットばかりを経験してしまったためアジャイル開発への悪い印象を持ってしまった人も結構いました。
このプロの外部講師の講演が職業訓練の最初に組み込まれていれば、受講生たちのアジャイル開発への捉え方は大きく異なっていたと思います。
認定試験の流れと結果
パワポなどのスライドを用意し、トータル25分間のプレゼン&質疑応答、その後試験官からのフィードバック。
ものすごく緊張するタイプなので試験官もその緊張をだいぶくみ取っていたようですが、内容は理解していました。
質疑応答の際はアジャイル開発だけではなく、今後アジャイル開発を導入する可能性や問題点など、求められている内容以上に試験官と話し合いが出来、非常に勉強になりました。
準備したパワーポイントがかなり貧相だったのですが(爆)、インターンで忙しく準備時間を十分に確保できなかったため、発表する内容に集中したため仕方がなかったかな、とも思います。
(何事も早めの準備が大切ですね…)
そして気になる結果は合格。
アジャイル開発の可能性
実は、アジャイル開発を用いて仕事をしている人はたくさんいます。
特にシステムやソフトウェア開発、ウェブ制作の現場などでは実際に採用している企業も少なくありません。
私自身はいままでそういった仕事をしている人と関わる機会はありませんでしたし、この分野を目指すまでは存在すら知りませんでした。
ですが実際、求人を見るとScrum masterスクラムマスター等が出ていますね。またアジャイル開発の経験者を募集している場合も。
日常生活でも活用できそうなテクニックもたくさんあるので、今回得た知識をいかに持続していくかが私の今後の課題です。
ということで次回、アジャイル開発のメソッドの一つで日本語でもあるカンバンについて詳しくご紹介したいと思います。
日常生活にも活用できますので、楽しみにしていてください。