ウォーターフォールをあっという間に捨ててしまうのをためらうでしょう。
これは実際にソフトウェアシステムを構築するための欠陥モデルですが、ライフサイクルの各段階で優れたプラクティスを指導するのは悪い教育モデルではありません。プロジェクトに適用するプロセスモデルに関係なく、要件エンジニアリング、システムアーキテクチャと設計、実装、テスト、リリース、およびメンテナンス(リファクタリングと拡張を含む)を実行します。違いは、これらのフェーズがどのように編成され、実行されるかですが、すべてのアクティビティが引き続き発生します。
プロジェクトの途中でWaterfallからScrumに移行するのは最良のアイデアではないと主張します。スクラムの成功の鍵は、長期にわたるプロジェクトです。最初の3〜5回のスプリントは、チームが速度に落ち着き、プロセスを学習し、チーム開発を行うことです。モーションを介して実行していますが、その時点では実際にはスクラムではありません。さらに、スクラムのみに基づいたカリキュラムを作成しようとすることは、スクラムが特効薬ではないため、おそらく悪い考えです。単一の方法論よりもベストプラクティスを教える方が良いでしょう。労働力では、すべてのプロジェクトがスクラムを使用するわけではありません。実際、一部の環境では、スクラムはプロジェクトの成功に有害です。
アカデミックな環境でスクラムの問題を既に発見しているため、適切に対処するのが難しいものもあります。
非互換性リストにある問題ではないのは、推定が難しいことです。はい、そうです。しかし、推定を向上させる唯一の方法は、実際の推定値と推定値を比較することです。学生は、さまざまな手段(ストーリーポイント、コードのソース行、時間、ページ、人時間)を使用してサイズ、時間、および労力を早期に見積もる必要があります。
文書化の必要性は、教授の観点と学生の観点の両方から対処できるものです。リーンアプローチでは、チームにも顧客にも価値をもたらさないドキュメントは無駄です(時間とコストの面で)。ただし、学生と教授(顧客/クライアント)の両方の目的をさまざまな目的で達成するには、いくつかのドキュメントが必要です。全体として、プロセス調整と定量的プロジェクト管理(アジャイル手法でも役割を果たします)を教える機会のように思えます。
スクラムの会議とスケジューリングに関して、2つのアイデアが思い浮かびます。1つ目は、これはスクラムがアカデミックな環境で使用するのに最適なプロセスではない可能性があることを示していることです。(特に)スケジュール、人員配置、可視性、開発チームの経験などの要素を含む、ソフトウェアプロジェクトに特異な「最適なプロセスモデル」はありません。
全体として、単一の方法論よりも優れた実践、プロセス調整、およびプロセス改善を強調することをお勧めします。これにより、コースを受講するすべての人に最も効果的になり、さまざまなプロセス方法論にさらされ、特定の条件のベストプラクティスが何であるかを理解できます。
あなたは大学のカリキュラムを構築するために取り組んでいるので、私が参加した大学のソフトウェアエンジニアリングカリキュラムがどのように適合するかについて、高レベルの概要を説明します。
ソフトウェアエンジニアリングの入門は、ウォーターフォールモデルでプロジェクトを実施し、各フェーズでの講義は、そのフェーズのアクティビティを実施するさまざまな方法に対応していました。チームは同じ割合でフェーズを進みました。これらの明確に定義された境界を、チームでソフトウェアを構築するための作業経験がまったくないか最小限の人々のグループの教育モデルにうまく適合させます。コースを通して、他の方法論-さまざまなアジャイル手法(Scrum、XP)、Rational Unified Process、Spiral Model-の利点と欠点について言及されました。
アクティビティに関しては、要件エンジニアリング、アーキテクチャ、および設計について議論する特定のコース(2つのコース-オブジェクト指向手法を使用した詳細設計に焦点を当てたコースと、システムアーキテクチャに焦点を当てたコース)がありました。システムのクラス(リアルタイムおよび組み込みシステム、エンタープライズシステム、コンカレントシステム、分散システムなど)、およびソフトウェアテスト。
ソフトウェアプロセス専用の3つのコースもあります。複数の方法論に関してソフトウェアプロジェクトを管理するためのベストプラクティスに焦点を当てたソフトウェアエンジニアリングプロセスおよびプロジェクト管理。2番目のプロセスコースでは、測定、メトリック、およびプロセスの改善(CMMI、シックスシグマ、およびリーンを強調)を学びます。最後に、スクラム方法論を使用して実行されるプロジェクトを使用して、アジャイルソフトウェア開発(スクラム、エクストリームプログラミング、クリスタル、DSDMについて説明)を教えるプロセスコースがあります。
capstoneプロジェクトは、スポンサー企業のために実行され、スポンサーと教員アドバイザーの両方からの指導を受けて、学生プロジェクトチームによって完全に実行された2四半期のプロジェクトでした。プロジェクトの実施方法のあらゆる側面は、スポンサーが定める制約の範囲内で、学生次第です。大学が義務付けた唯一の締め切りは、プロジェクトの途中(10週間)での中間プレゼンテーション、最後の最終プレゼンテーション、および終わりの少し前のクワッドポスタープレゼンテーションでした。他のすべては、スポンサーとチームの同意次第でした。