【Iパス8問】ゴチャるアジャイル開発を整理しよう
アジャイル開発だとかエスクトリームプログラミング(XP)だとか、個別に出てくるからごちゃごちゃしていませんか?
アジャイル開発の一種がエクストリームプログラミング(XP)。エクストリームプログラミングの一例に、リファクタリングやペアプログラミングなどがあります。
構造を把握すれば頭の中も整理されて、すっきりしますね。
従来の開発手法に比べて、柔軟なアジャイル開発は注目されてきて、今もどんどん手法が考案されています。さらに基本情報技術者試験では、スクラム周りが念入りに出題される傾向にありますね。
このNoteでは、ITパスポートの令和5年度から令和元年までの問題から特集してみました。頭の整理をして得点していってくださいね。
なお、このNoteは私が専門学校で教えてきた指導経験と970点合格をした実績に基づいていますので、ちょっとでも信用してくれたら嬉しいです。
\全てのNoteへのリンク集/
アジャイル開発と従来の開発手法
アジャイル開発とは、顧客からの要望による仕様変更に柔軟に対応するための開発手法です。
アジャイルには「素早い」などの意味があります。「ほどほどで良し」のようなイメージですね。最終的にはしっかりしたものを作るは従来開発ともちろん同じです
正答はア。
ソフトウェア開発を3つ覚えましょう。
ウォーターフォール:工程を順番にしていく。無駄がないが、手戻りが発生すると時間も費用もかかる。
プロトタイピング:試作品を作って顧客に確認して開発を進める
スパイラルモデル:一連の開発工程(設計・プログラミング・テスト)を繰り返して、次第に開発規模を大きくしていく
正答はア。
イはウォーターフォール、ウはプロトタイピング。
エはリバースエンジニアリング。
正答はエ。柔軟な開発だなぁぐらいで当たりを付けて、他の選択肢を確認するぐらいで良いです。
イはプロトタイピング、ウはウォーターフォール。
残りは、アとエですが、ドキュメントに対して反対のことが書いてて都合よいですね。アのように、ドキュメント(文書)をかっちり作ると、時間かかるし、変更あったら改訂あって大変だなぁとイメージできますから。
正答はエ。
イはアウトソーシング、ウはウォーターフォール。
たぶんアに違和感があるはずです。新用語ですから。
PoCは仮説を実証するために小さな実験をすることです。
データ分析やAIを開発する時に行います。どちらも大量のデータを用意して行うので、本当にその労力に見合う成果が出そうかをPoCによって確認しておきます。
さて、エっぽいけど、アも気になるって場合は、知っている方に賭けましょう。
「自分は勉強が足りないから、知らない正解があるかも」で、完全に勘で選ぶなら勉強した意味がありません。
知っている範囲で判断しましょう。知っている範囲で全部不正解ならば、知らない言葉に賭けましょう。それが消去法です。
エスクトリームプログラミング(XP)
アジャイル開発の1種のエスクトリームプログラミング(XP)のもさらに実践例がたくさんあり、以下4つが良く出ます。
ペアプログラミング:2人で共同開発。1人がコーディングし、もう1人がチェックをする開発手法
リファクタリング:ソフトの振る舞いを変えずに、内部構造の見通しを改善する
テスト駆動開発:あらかじめ作ったテストをクリアするように開発を進める
継続的インテグレーション:開発したコードを頻繁に結合(ビルド)してテストをする開発
特に最初の2つが頻出用語です。
正答はエ。
ア~ウはXPの一種ですが、XPそのものの説明ではありませんでした(ちょっとモヤっとする問題ですね)。
ア:テスト駆動開発
イ:ペアプログラミング
ウ:リファクタリング
テスト駆動開発は基本情報技術者では良く出るので、今は覚えてなくても致命的ではないです。
正答はエ。
リファクタリングは、リバースエンジニアリングと一緒に選択肢として登場することが極めて多いです。
リバースエンジニアリング:プログラムソースを解析して仕様書を書き起こす
スクラム開発
アジャイル開発の1種、スクラム開発も出題され始めました。
スクラムは、開発を短期間に区切って(スプリント)、一連の開発工程を繰り返す開発手法。
ITパスポート試験ではあまり出ませんが、今後のために対策しておきましょう。大した量でもないですからね。
正答はウ。
CMMI:ソフトウェア開発の組織力の段階評価です。
共通フレーム:ソフトウェア開発の発注者(素人)と受注者(プロ)での言葉の統一と思ってください。
PMBOK:10個の知識エリアでよく出題されます。
特に重要なのはPMBOK(ピンボック)。
マネジメントは4~5個は覚えてください。とくにスコープマネジメントが鬼門ですので、問題演習で慣れましょう。>>プロジェクトマネジメントの対策Note<<
正答はア。イテレーションには繰り返すという意味があります。プログラム言語のループ(反復)でも使われる言葉です。
問題が1つあります。短期間区切りの呼び方が変わります。
エクストリームプログラミング(XP)では、イテレーション
スクラム開発では、スプリント
今のところ2つ同時に選択肢に表れることはないので気にしなくて良いですが、各用語は基本情報技術者試験にはよく出てきます。
まとめ | スクラム開発はFEでもっと出てくる
アジャイル開発は整理できたでしょうか。
アジャイル開発
エクストリームプログラミング(XP)
リファクタリング
ペアプログラミング
テスト駆動開発
継続的インテグレーション
スクラム開発
知識は体系化してこそ、覚える量が少なくなりますし、ストーリーも生まれるので単なる暗記でなく、知識として身に付きます。
よく「フレームワーク」と云われて正直よく分からないかもですが、「手法でしょ」「そういう感じ(枠組み)でしょ」と軽く考えて大丈夫です。
また、スクラムは基本情報技術者にて、チームの役割やツールまで出題されます(スクラムマスター、バックログなど)。
今後覚えること、新しく出題される用語は増えますから、整理しながら学習を進めていきましょう。
\全てのNoteへのリンク集/
p.s. 普段は >> 専門学校とIT就職のブログ << をやってます。
でわでわ(・ω・▼)ノシ